Obtener el OpenJS Node.js Application Developer Certification

Hace ya unos meses, la Linux Foundation, presentó las esperadas certificaciones para Node.js: OpenJS Node.js Application Developer and OpenJS Node.js Services Developer. En estos enlaces podrás encontrar toda la información necesaria sobre los requisitos, temario, proceso para el examen y precios (hasta el 31 de Mayo de 2020, está disponible un descuento del 30%). Al menos por ahora, cuando obtienes el voucher para tu examen, obtienes también un segunda oportunidad en caso de no pasar el examen a la primera.

Dentro de la información disponible en el sitio oficial, el Candidate Handbook y el Tips Document son dos documentos importantes a leer.

Cuando empecé a buscar información sobre el examen, el proceso para hacerlo, entorno, tipos de preguntas y la experiencia de otras personas, básicamente sólo encontré estos dos enlaces:

No es demasiada información. En este post, voy a intentar compartir lo que he aprendido en mi experiencia para obtener la certificación Node.js Application Developer.

Preparación del examen

Mi método para preparar los temas para la certificación fue seguir la información disponible en https://www.nodecertification.com/.

  • Ahí vas a encontrar varios links para cada uno de los temas que se cubren en el examen (algunos de los links son algo antiguos, así que quizás sea mejor usar otro recurso en ese caso).
  • Lee siempre la documentación oficial para cada uno de los temas (por lo general hay siempre un enlace en cada uno de los temas). Asegúrate de leer la documentación para la versión 10.x, que es la que cubre el examen.
  • Escribe código y test para cada uno de los temas y asegúrate de entender el cómo y el porqué de cada cosa. En mi caso, he reunido en un repo de github los ejemplos basados en las lecturas o en casos que me inventaba para practicar.

Asegúrate de leer sobre todos y cada uno de los temas y probar todo lo posible. Durante el examen, tendrás acceso a la documentación oficial y estará bien para echar un ojo a algo en concreto pero sí tienes que consultar algo demasiado tiempo, no as a tener suficiente para completar todas las tareas.

Revisar todos los temas concretos del api de node.js es muy importante pero también los es tener un buen conocimiento en las bases de Javascript. Vas a necesitar conocer bien temas como scopes y closures, asincronía y manejo de errores(síncronos y asíncronos). Vas a tener que resolver problemas concretos sobre estos temas además de que para algunos otros es necesario tener un buen conocimiento sobre ellos. Existen un buen número de buenos libros para leer sobre Javascript. Algunos incluso los encontramos gratuitamente en internet:

Durante el examen

Información sobre el examen:

  • Al contrario que con otras certificaciones, no te vas a encontrar preguntas de simple o multiple selección o de completar respuesta. En el examen vas a tener que escribir código de verdad en un entorno “real”.
  • El examen constará de una serie de problemas sobre los temas que se incluyen. Habrá entre 1 y 2 problemas por cada uno de los temas.
  • El entorno con el que te vas a encontrar es un escritorio virtual en tu navegador (se recomienda Chrome). En tu navegador tendrás que tener instalado un plugin que monitorizará tu actividad durante el examen (más información). El entorno virtual estará basado en CentOS y tendrás disponible para tu elección VsCode, Vim, o WebStorm. Lo que verás al entrar al entorno virtual será un navegador con los temas que entran (a mi me ayudo a recordar que tema era cada uno de los números, del 1 al 13, y así poder ir eligiendo que problemas afrontar antes o después).
  • Vas a necesitar tener un cámara web que permita al revisor ver tus manos y cara durante el examen. También tendrás que usar tu cámara para mostrar un documento de identidad personal que permita verificar quien eres y además, te pedirán mostrar la habitación en la que encuentras para validar tu entorno.

Problemas que te vas a poder encontrar(yo los tuve todos):

  • Asegúrate de tener sólo una ventana del navegador abierta con una única pestaña o el plugin de monitorización que comparte tu pantalla y audio, no va a funcionar (no vale tener otra ventana minificada).
  • Va a ser necesario que tengas buena luz y tu cámara sea capaz de mostrar tu documento de identificación personal nítidamente.
  • Las combinaciones de teclas, no van a ser como tu equipo (normalmente). Te avisan en varios puntos que ciertas combinaciones pueden no funcionar. Existe un teclado virtual disponible para cualquier problema.
  • A veces, el entorno simplemente se congela y al teclear no responde. En mi caso, por ejemplo, siempre que se abría la ventana de chat que hay disponible para hablar con el revisor, el entorno se congelaba. Casi siempre al cerrar esta ventana volvía a funcionar. En caso de no ser así, hay una opción arriba a la derecha para recargar el entorno (los cambios en el editor no se pierden). Esta puede ser la parte más frustrante ya que te hace ir mucho más despacio de lo que puedas estar acostumbrado (creo que estos problemas con el entorno, son el principal motivo para “regalar” un segundo intento).

Algunos consejos:

  • Empieza por los temas que consideres más sencillos(deja los ejercicios de buffers, eventos y control flow para el final, son los más largos).
  • Tienes de media unos 6 o 7 minuto por problema. Algunos te van a llevar mucho menos de eso, pero otros te pueden llevar más. Te aconsejo leer el problema y sí tienes dudas de como hacerlo o ves que es muy largo, salta a otro y vuelve más tarde. Igual, sí te atascas en un ejercicio, ve a por el siguiente…
  • Se pragmático y ve a por la solución más simple posible que dé respuesta al problema. Olvídate de hacer test, escribe algo de código extra para validar tu solución y cuando esté listo, simplemente bórralo.
  • Vigila tu tiempo. No verás un temporizador con el tiempo que te queda. El revisor, te avisará cuando te queden 10 minutos para terminar. Te aconsejo ver a que hora empiezas e ir atento al reloj para poder completar todas las tareas. Sí tienes un smartwatch, es posible que te pidan que te lo quites.

Mi opinión, ¿vale la pena hacerlo?

Después del tiempo empleado en prepararlo y hacer el examen, creo que vale la pena, por un simple motivo:

  • te vas a obligar a leer la documentación oficial, que posiblemente no fueses a leer, y con todo el tiempo de preparación, lecturas, pruebas, etc… vas a terminar con conocimientos más sólidos sobre temas como eventos, streams, package manager, child process, control de errores, etc…

Sí te preguntas sí es necesario hacer algún tipo de curso de preparación, yo creo que no. Sí trabajas habitualmente con node.js ya tienes cierta experiencia y conocimientos sólidos de javascript y lees y haces ejercicios sobre todos los temas del examen, lo puedes aprobar sin problema.

Es posible que necesites utilizar el intento extra que se da al comprar el examen. La verdad es que la primera vez se hace complicado sobre todo por el entorno en el que te tienes que desenvolver. Una buena aproximación puede ser prepara los temas para estar cómodo con ellos y presentar el examen sin postergarlo demasiado para validar cual es tu nivel, aprender sobre el entorno y familiarizarte con el tipo de ejercicios. En caso de no pasarlo en el primer intento, tendrás otra oportunidad y ya sabrás en que temas de te debes centrar más y que tipo de ejercicios hacer para preparar el siguiente intento.

Por último, creo que el entorno del examen es algo que deben mejorar. Insistí en eso en el cuestionario post examen en el que piden feedback sobre el mismo.

Espero que esta información te ayude en algo y déjame algún comentario sí tienes alguna duda.

Versión de este post en inglés

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store