Las pruebas técnicas hacen parte de casi todos los procesos de reclutamiento en empresas tech. Es de esperarse, quieres pertenecer a un equipo donde tus habilidades de desarrollo son lo principal. Es el momento en el que pondrás a prueba tus competencias técnicas, normalmente frente a un tech lead o una programador más senior.
Suena intimidante, pero no debes temerle. De salir bien, la prueba técnica es un momento de mucho aprendizaje que te llevará a tu próximo empleo. Y en el peor de los casos aprenderás. Es ganancia por donde lo mires. Hoy te traigo 5 tips para que brilles y le saques el mayor provecho a tu próxima prueba técnica.
Dependiendo de la empresa, existen tres tipos de prueba técnica:
Tienes un problema y debes resolverlo durante la reunión utilizando algún lenguaje de programación y pasando unos casos de prueba.
La empresa te envía un documento especificando el proyecto que debes realizar en casa. Normalmente te dan un tiempo de algunos días o semanas para completarlo y tendrás una reunión para sustentarlo.
Hablarás un poco sobre tu experiencia con algunas herramientas de tecnología y los problemas a los que te has tenido que resolver. Incluso este punto puede hacer parte de alguno de los dos anteriores.
En este post nos enfocaremos en los dos primeros para que le saques el mayor provecho y obtengas tu próximo trabajo en tech.
Muchas veces van a ponerte algún problema que debes resolver con código en Live Coding. Si es así, aprovecha y haz preguntas para asegurarte de que entiendes bien el problema. Esto les dará la idea de que te interesa resolver el problema, no ‘casarte’ con una solución.
Como un plus, piensa en varias soluciones. Los reclutadores no están midiendo solamente qué tan rápido resuelves el problema, sino cómo llegaste a esta solución frente a posibles trade-offs. Muestra tu proceso de toma de decisiones, incluso ellos podrían ayudarte a llegar a una mejor solución.
Algunas pruebas técnicas son para que resuelvas en casa y mandes tu repositorio con la solución. De ser así, maneja tu repositorio como lo harías si consiguieras el trabajo. Haz commits con mensajes descriptivos y asertivos. Nada de ‘making changes’, ‘commit 1’ o ‘aalakjfkajkl’.
Si el proyecto es un poco grande, podrías utilizar branches y a medida que vas añadiendo funcionalidades, puedes hacer pull requests a la branch principal.
Plus: Agregar un ReadMe claro sobre los pasos que deben seguir para correr tu solución o cualquier otra información que creas relevante. Esto te ayudará a ser recordado por tus reclutadores y a facilitarles su trabajo.
Ya sea que estés en una entrevista de Live Coding o tengas un proyecto para terminar en casa, escribir código limpio siempre será ganador. Maneja consistencia entre el nombre de tus variables, el case style que estés usando (ya sea snake case, camelcase o el que quieras), además de mantener el mismo idioma mientras estás programando.
Evita funciones muy grandes. Separa responsabilidades. Reduce la cantidad de lógica anidada. En resumen: haz que tu código sea tan claro que hable por ti.
Al final de la prueba técnica, seguramente escucharás escuchar la frase “¿Tienes alguna pregunta?”. Aprovecha este momento para mostrarle al reclutador, que tal vez podría hacer parte de tu próximo equipo, para que te cuente un poco más sobre la vida en esa empresa a la que quieres hacer parte
Algunas preguntas pueden ser:
El objetivo es que además de obtener información valiosa de la mano de otro dev, seas memorable para el reclutador y muestres ese interés que tienes en crecer y hacer parte del equipo.
Entre más vas crecimiento en el mundo del desarrollo, más importante ves al testing en el día a día. Un código que se prueba, es un código que es de calidad, porque responde de manera esperada a la interacciones que le damos.
En el Curso de Unit Testing en Go, te enseñaré mucho más sobre el mundo del testing, manejo de errores, optimización y coverage que son conceptos importantes a la hora de desarrollar.
Quizás no lo veas tan necesario cuando realizas tus propios proyectos personales. Pero cuando quieres trabajar para una organización, el testing es parte vital en el ciclo de desarrollo. Mostrar que es una habilidad que dominas, te sumará muchos puntos y te hará ver cómo un dev interesado en que su código funcione de manera correcta.
Y el consejo más importante: atrévete. Hacen falta muchos ‘no’ antes de obtener ese sí. No te desanimes, y sácale el mayor provecho cuando tengas una entrevista técnica. Recuerda que estarás con desarrolladores más experimentados que tú, siempre es un buen momento para no parar de aprender.
Este lunes 19 de septiembre hablaremos sobre testing con Cami Lenis y Nico Molina. Entra aquí para participar en la sesión en vivo: platzi.com/eventos/hablemos-de-testing. 😉
Genial, me servira en el futuro cuando comience a aplicar para empresas
En la parte de Muéstrate interesado en tu crecimiento también deberíamos preguntar las interacciones del equipo de desarrollo con el equipo de diseño en especial con los product designer (esto te va a hablar la cercanía y las cargas extras de trabajo de los equipos asociados al producto)
Wow muy interesante. Apuntare estos tips para usarlos en el futuro. Quizas algunas cosas cambien pero no esta de sobra tener algo como esto a la mano. Muchas gracias.
Que buen post