Llevo más de 20 años desarrollando software, pero nunca tuve la oportunidad de usar MongoDB. Había trabajado con Elasticsearch, Redis y Amazon DynamoDB, pero siempre usándolos en unos casos muy particulares y no para todo.

Cuando me incorporé a Paradigma Digital (en abril de 2021), empecé en un proyecto cuya base de datos dominante era MongoDB y esto, ¡me ha encantado!. Me gustan los retos y este era otro más que debía afrontar y aprovechar para conseguir la certificación de MongoDB Developer.

Al principio no me sentía muy cómodo, era un cambio radical en mi manera de trabajar hasta ahora, pero gracias a mis compañeros en 3 meses ya no me parecía tan “raro” hacer consultas con MongoDB Compass o Robo 3T. Con la programación con Mongo no he tenido ningún problema, al fin y al cabo gracias a la dependencia Spring Data MongoDB, no me ha parecido muy diferente a mis otras experiencias con bases de datos NoSQL.

En este post te cuento cómo conseguí preparar y aprobar la certificación de MongoDB Developer en un mes. Toma nota que te doy algunos consejos que seguro te serán muy útiles si estás pensando en preparar este examen.

La pregunta de oro

Aquí viene la pregunta de oro que me ha hecho mucha gente después de publicar mi logro en LinkedIn: ¿Cuánto tiempo estuve preparándome para la certificación de MongoDB Developer? La respuesta es 1 mes (si hablamos en horas, unas 70 horas).

No debemos olvidar que cuando me estaba preparando para la certificación, ya tenía poco más de un año de experiencia con MongoDB y había hecho algunos cursos de MongoDB University. Es muy importante tener experiencia con MongoDB, incluso si es en algún side o pet project que estáis haciendo para mejorar vuestras habilidades. Teniendo soltura en el uso de MongoDB con alguna de las herramientas que he comentado más arriba, lo podéis conseguir. En caso contrario, creo que se necesitan 3 meses para estar listos para la certificación.

Uno de los consejos que dieron mis compañeros fue programar el examen para ser constante en la preparación. Y así lo hice; me apunté para C100DEV MongoDB Certified Developer Associate Exam y debía hacer el examen.

Sobre el examen

C100DEV MongoDB Certified Developer Associate Exam es para ingenieros de software que tengan un conocimiento sólido de los fundamentos de MongoDB y algo de experiencia profesional en el desarrollo de aplicaciones con MongoDB. Certifica su dominio para crear aplicaciones modernas con MongoDB.

  • Formato: online.
  • Plataforma: Examity.
  • Requisitos del sistema:
    • Sistema operativo compatible: Mac OS 10.7 o posterior o Windows 7 o posterior. Linux no es compatible actualmente.
    • Navegadores compatibles: Safari, Firefox y Chrome. Internet Explorer no es compatible actualmente.
    • Conexión a Internet: con al menos 3 Mbps de descarga y 3 Mbps de carga.
    • Una cámara web.
    • Un micrófono.
    • Podéis comprobar si vuestro ordenador cumple con los requisitos en el siguiente enlace.
  • Idioma: inglés.
  • Duración: 90 minutos.
  • Número de preguntas: 60.
  • Tipo de preguntas:
    • Respuesta única: son preguntas tipo Radio Button.
    • Respuestas múltiples: son preguntas tipo Checkbox y hay que marcar todas las respuestas correctas.
  • Precio: 150$.

Temario del examen

Los temas que cubre el examen son los siguientes:

  1. Philosophy & Features: verifica que comprendemos lo siguiente:
  • Las características clave de MongoDB y qué funcionalidad proporcionan.
  • Fundamentos de JSON y BSON.
  • El modelo de datos de MongoDB a un alto nivel.
  • El modelo de consulta de MongoDB a un alto nivel.
  • Coherencia y disponibilidad de datos en MongoDB.
  1. CRUD:
  • Operaciones de creación, lectura, actualización y eliminación (CRUD) en el lenguaje de consulta de MongoDB
  • Tipos de datos son compatibles con MongoDB
  1. Data Modeling:
  • Comprender el modelo de documento.
  • Dados dos modelos de datos alternativos, debes poder determinar cuál será más eficiente.
  • Conocer patrones comunes para el diseño de esquemas.
  • Conocer los beneficios de los tipos de datos especiales en MongoDB.
  • Comprender la diferencia entre incrustar y vincular piezas de información.
  1. Indexes and Performance:
  • Comprender los tipos de índices disponibles en MongoDB.
  • Conocer las propiedades de los índices.
  • Saber cómo mejorar la eficiencia de una consulta utilizando índices.
  • Comprender los costos de rendimiento de escritura de los índices.
  1. Aggregation:
  • La analogía entre el pipeline de agregación y el pipeline de UNIX.
  • Cada operador de etapa de agregación y su semántica.
  • Cómo los documentos ingresan al pipeline, se pasan de una etapa a otra y se devuelven cuando se completa el pipeline.
  1. Replication:
  • Comprender los beneficios de la replicación.
  • Comprender las ventajas y desventajas entre velocidad y durabilidad.
  • Conocer los conceptos básicos de cómo funciona el oplog, incluidos conceptos como idempotencia y replicación basada en declaraciones.
  • Saber qué sucede cuando falla un nodo (primario o no).
  1. Sharding:
  • Comprender el escalado horizontal y cómo el sharding proporciona esta capacidad en MongoDB.
  • Saber cómo construir un buen shard key y qué puede salir mal al seleccionar un shard key.
  • Comprender el rol del balanceador de carga.
  • Saber el rol de los servidores de configuración y cómo funcionan.

Son muchas cosas para aprender, pero tranquilos, aquí os doy algunos trucos que os serán muy útiles:

El Developer Learning Path

MongoDB University ofrece un camino de aprendizaje para desarrolladores de MongoDB que incluye los siguientes cursos:

Mi plan de preparación

Primera semana - 18 horas de estudio

Como cada inicio es difícil, mi aprendizaje empezaba el 17 de septiembre de 2022, que era sábado. Durante el fin de semana he repetido los cursos que ya había hecho hace un año M001: MongoDB Basics y M103: Basic Cluster Administration, pero quería refrescar la memoria.

Es muy importante dominar los conceptos de estos dos cursos, porque todo lo demás está relacionado con ellos.

Segunda semana - 10 horas de estudio

Como la primera semana fue muy agotadora, la segunda semana hice el tercer curso M121: The MongoDB Aggregation Framework durante el fin de semana. Ya había ojeado antes este curso y disfruté mucho practicando.

Tercera semana - 16 horas de estudio

Después de unos días sin tocar MongoDB, empecé con M220J: MongoDB for Java Developers. Todo me resultó muy familiar, así que durante el sábado estuve haciendo el curso y no me acosté hasta que lo terminé. El domingo comencé M201: MongoDB Performance, pero estaba un poco cansado, así que lo termine los días siguientes.

Cuarta semana - 14 horas de estudio

Ya estaba en la recta final y el fin de semana hice el curso M320: Data Modeling. Fue divertido. Lo que más me ha gustado son las relaciones One-to-Zillions y los patrones, que la mayoría no conocía.

Una vez terminado el último curso, practiqué con el Practice Certification Exam, al que tienes acceso una vez que te apuntes para la certificación. La primera vez fallé en preguntas simples; la segunda vez que lo hice ya había aprobado; y la tercera vez ya había sacado más de 90%, así que el resto de la semana me dediqué al proyecto y a descansar.

Certificación MongoDB 1

Los últimos 3 días antes del examen - 12 horas

El día del examen era el 18 de octubre, así que cogí el día anterior para estudiar. Así, el sábado, el domingo y el lunes estuve practicando con las C100DEV Practice Tests que están en Udemy. Los tres días hice los 5 exámenes que en total incluyen 260 preguntas. El tercer día tenía como mínimo 88% en cada uno de los exámenes.

Certificación MongoDB 2

Ya me sentía preparado para afrontar el examen.

El día del examen

Como ya estaba tranquilo, empecé a trabajar temprano. Tuve que instalar Windows porque Examity no soportan Linux. Cuando se conectó el proctor (la persona que me iba a vigilar durante el examen), me explicó los detalles del examen, me pidió girar el portátil a 360º para mostrarle toda la habitación y tuve que quitar el monitor externo (no está permitido). ¡Los 80 minutos se pasaron volando!

Los resultados

Seis días después del examen, recibí un correo electrónico donde me informaban de que había aprobado. Y así me convertí en MongoDB Certified Developer.

Espero que mi plan de preparación sirva de ayuda. ¿Tienes alguna pregunta? ¡Déjanos un comentario y te contestaré tan pronto como lo lea!

Cuéntanos qué te parece.

Los comentarios serán moderados. Serán visibles si aportan un argumento constructivo. Si no estás de acuerdo con algún punto, por favor, muestra tus opiniones de manera educada.