Este texto fue escrito por Jaqueline Duque y Marcela Porto, ambas Ingenieras de Software
🇧🇷 🇪🇸 También disponible en portugués



Uno de nuestros valores en Nubank es construir equipos sólidos y diversos. Esto se refleja en todo lo que hacemos, empezando por nuestro proceso de reclutamiento. Fue desarrollado no sólo para que encontremos a los más talentosos, sino también para que pueda ser una experiencia agradable para los candidatos.

Para quienes se postulan a un puesto en el campo de la ingeniería de software, en muchos casos, el primer paso es un ejercicio técnico realizado en plataformas de contratación. Echa un vistazo a cómo se evalúan estos ejercicios y consulta algunos consejos sobre cómo obtener buenos resultados en las pruebas.

Cómo evaluamos los ejercicios técnicos de Ingeniería de Software durante la contratación

Aquí en Nubank, más que simplemente evaluar tu competencia en codificación, evaluamos tu lógica de programación y tu capacidad para comprender y desarrollar la estructura de datos del problema. 

Es por eso que en el ejercicio presentamos tanto las estructuras de datos de entrada como los resultados esperados. Lo que debes mostrar a los evaluadores es la evolución de estas estructuras utilizando la lógica de programación. La sintaxis y el idioma elegido son simplemente herramientas para ello – hasta el punto de que te dejaremos elegir el idioma con el que te sientas más cómodo. 

Es importante garantizar que tu código esté limpio, organizado, legible y no agregue más complejidad de la necesaria.

Descubre las oportunidades

¿Cuáles son los principales consejos para resolver un ejercicio de algoritmo técnico?

Hay muchas buenas prácticas que podrían ayudarte, pero las principales son: 

1. Desarrolla la solución basada en la lógica de programación sin verse obstaculizado por el lenguaje elegido

Antes de comenzar a codificar, intenta crear un pseudocódigo en el que evaluará todo lo que debes hacer para que las entradas evolucionen al estado esperado. Esta técnica te ayudará a organizar tus ideas, asegurándote de prestar atención a todos los requisitos y guiándote a través de la lógica de programación que necesitas implementar.

2. Evita explicar demasiado y comentar sobre tu proceso de pensamiento.

Los ejercicios de algoritmos que se ofrecen en las plataformas en línea no suelen proporcionar un lugar para describir decisiones técnicas. Por lo tanto, no se espera que expliques tu proceso de razonamiento o qué hace cada parte del código. Tu código debe hablar por sí solo, por lo que se deben evitar comentarios con este tipo de descripción. 

Explicaciones detalladas de tu solución o de cualquier otra solución que no funcionó, razones por las cuales un caso de esquina no está contemplado en tu solución, etc., son ejemplos de comentarios que no contribuyen a la evaluación en este contexto.

3. Mantén variables temporales y funciones bien nombradas

El uso de nombres descriptivos ayuda mucho a la legibilidad. De esta manera, al leer el nombre de una variable, es posible entender de qué tipo de información se trata, lo que evita la necesidad de leer un bloque grande solo para entender su propósito.

 Ejemplo: para una variable de medidor, el nombre assessment_count es mejor que a porque describe su propósito. Lo mismo ocurre con las funciones: el nombre debe reflejar su responsabilidad.

4. Las funciones deben tener responsabilidades bien definidas

Hablando de funciones, deberían tener responsabilidades bien definidas. Cuando una función está a cargo de demasiadas responsabilidades, resulta muy difícil comprender el proceso. Una solución para esto es “dividir” la función grande en otras más pequeñas, con responsabilidades bien definidas.

5. No crees interfaces de interacción

Especialmente para los problemas de HackerRank, no es necesario crear una interfaz de interacción. No te preocupes por esto y no inviertas tu tiempo en esto.

6. Elimina código no utilizado

Elimina cualquier código muerto. Ejemplos: impresiones, intentos que no funcionaron, variables y funciones no utilizadas. También evaluamos qué tan limpia y organizada está su resolución, por lo que eliminar el código inactivo es una manera fácil de garantizar que su solución cumpla con esos requisitos.

7. Evita importar bibliotecas

Es posible que importar bibliotecas más allá de las que vienen con el ejercicio no funcione a tu favor, porque acortan un camino que esperábamos ver en su lógica de programación.

Al importar bibliotecas, existe un gran riesgo de que los evaluadores no estén familiarizados con las utilizadas, por lo que no demostrarás tus conocimientos y el evaluador no podrá evaluarlos.

8. Valida la solución

Al finalizar, respira hondo, vuelve a leer el ejercicio y comprueba si cumple con todos los requisitos.

Los anteriores son sólo algunos consejos que te ayudarán durante la evaluación, pero recuerda: en todo proceso de reclutamiento, lo más importante es sentirte seguro de que podrás mostrar tus habilidades al máximo.

Descubre las oportunidades