¿Cómo ganar un desafío de programación?

Javier Paniagua

Las entrevistas de programación son tensas, incluso para los programadores con un título de informática o de ingeniería. Estos desafíos dan incluso más miedo si se es un programador autodidacta.

CIO

Incluso para el ingeniero más experimentado o desarrollador de software con educación en ciencias de la computación o ingeniería, completar un reto de programación o una evaluación técnica puede ser algo estresante. Ahora, imagínese que es un desarrollador autodidacta, los niveles de ansiedad se disparan.

Una educación formal en ciencias de la computación, programación de software y/o ingeniería no es obligatoria, y en la actual guerra de talentos de TI, la necesidad de esas credenciales se reduce aún más. Muchos programadores autodidactas son tan competentes como los que tienen un título formal. El truco es ir más allá de los prejuicios inconscientes impuestos en contra de los que no tienen un título.

“Al hablar con los programadores autodidactas, he encontrado que una de sus mayores fuentes de temor es saber que no tienen un título. Los candidatos no tradicionales son intimidados por exámenes técnicos y las entrevistas de programación, porque les han hecho sentir que no están cualificados sin un título en informática. Pero no siento que es verdad”, dijo Gayle Laakmann McDowell, fundador de la empresa de consultoría de carreras técnicas CareerCup y autor de Cracking the Coding Interview.

Lea también: 3 señales de que está en un equipo real de DevOps

De acuerdo con McDowell lo más importante que tener un título, es ser capaz de crackear la entrevista de programación, esto es una tarea completamente manejable si los candidatos entienden lo que tienen en contra.

“Las empresas realmente no tienen problemas con las entrevistas y la contratación de desarrolladores autodidactas; con lo que tienen un problema es con estar entrevistando a todo el que dijo ser un gran programador sin ninguna forma de evaluar si es o no es cierto. Contratar a alguien que podría no ser bueno en eso es sólo una pérdida costosa e ineficiente del tiempo de todos, por lo que proporcionar una plataforma objetiva para medir las habilidades puede ayudar a calibrar el talento”, manifestó Tigran Sloyan, CEO y cofundador de la plataforma de desafíos de programación CodeFights .

Las plataformas como CodeFights y HackerRank pueden ayudar a igualar las probabilidades de los desarrolladores autodidactas y que se les dé la misma consideración para los puestos de trabajo que sus homólogos titulados, porque los solicitantes se miden en función de su mérito y capacidad técnica.

Ingresa a conocer sobre: 8 problemas más irritantes en programación

La práctica hace la perfección

De hecho, los datos de investigación de la plataforma de desafío de programación, HackerRank , que mide el rendimiento de alrededor de 2 000 desarrolladores en su plataforma, revela que los programadores que completaron 20 retos de práctica en el sitio -lo que equivale a más o menos de 10 a 20 horas de práctica- fueron dos veces mejores en las evaluaciones de habilidades que los programadores que no tomaron los desafíos.

“Para este estudio, nos fijamos en las presentaciones de más de 2 000 desarrolladores para encontrar patrones de personas que fueron directamente de la evaluación a la obtención de una entrevista en el sitio. Al aprender la correlación entre el número de retos de práctica de programación resueltos y la tasa de aprobación en una evaluación de programación podemos cuantificar la cantidad de práctica que se necesita para pasar una entrevista. De acuerdo con nuestros datos, los desarrolladores con al menos dos años de experiencia que practicaron, aunque sea un poco (20 retos) aumentaron sus posibilidades de conseguir una entrevista en el sitio en 50%. Los desarrolladores junior que solucionaron 20 desafíos, aumentaron sus posibilidades al menos 15%”, externó Ritika Trikha, PR y gestor de contenidos en HackerRank, en un artículo acerca de la investigación.

Los fundamentos de algoritmos y estructuras de datos tienden a ser el foco de muchos exámenes técnicos, manifestó Vivek Ravisankar, CEO y cofundador de HackerRank, pero esos fundamentos se pueden aprender con algunos recursos de fácil acceso y un poco de tiempo.

“Hay ciertos fundamentos básicos que tienden a ser el foco en las entrevistas, el conocimiento fundamental sigue siendo esencial. Pero lo que nos pareció genial fue ver que a pesar de que los desarrolladores jóvenes obtienen mejores resultados en estos conceptos básicos, probablemente debido a que ellos los habían aprendido en universidad más recientemente, los desarrolladores experimentados lo hacen igual de bien, y mejor aún, en estos fundamentos con solo practicar”, dijo Ravisankar.

Transferencia de conocimiento

Lo que esto significa es que los desarrolladores autodidactas pueden desempeñarse igual de bien que sus pares con estudios universitarios, siempre y cuando ellos practiquen y adquieran nuevas habilidades y conocimientos.

“Los algoritmos y las estructuras de datos son temas focales de muchas de estas entrevistas, y, sin embargo, rara vez son necesarios en situaciones del mundo real. Pero los programadores autodidactas, obtendrán este conocimiento y experiencia con un poco de estudio básico y si han estado trabajando en el campo ya, las empresas no notarán la diferencia”, dijo Sloyan de CodeFights.

Asimismo, las empresas no están necesariamente buscando una respuesta correcta o un resultado específico de sus pruebas técnicas; muchos están buscando habilidades sociales y evidenciar cómo un candidato se desempeña en la resolución de problemas.

Sepa también: 10 sitios y servicios para vender tecnología usada

“Los entrevistadores pueden pensar que están evaluando candidatos estrictamente por sus méritos técnicos, pero en realidad también evalúan cómo los candidatos hablan de lo que han hecho en el pasado, así como lo que hacen cuando están resolviendo problemas. Los desafíos de programación no sólo pueden proporcionar un punto de referencia para la aptitud técnica, sino que pueden ayudar a los candidatos a sentirse más cómodos con la documentación de sus procesos de resolución de problemas”, explicó McDowell.

Revisión de código

Donde muchos desarrolladores autodidactas se quedan cortos es en las áreas de diseño de soluciones y escribiendo códigos limpios, dijo Sloyan. Una vez más, es útil leer un poco y estudiar los fundamentos de la informática para tener una idea de cómo diseñar soluciones, él también recomienda buscar un amigo, un compañero de trabajo o un tutor profesional que pueda ayudarle a revisar el código en busca de errores.

“Esto es algo que se aprende realmente al tener a otros ayudándole a revisar su código; en una situación profesional, hay normalmente uno o dos ingenieros superiores o ingenieros de control de calidad, que revisan su código para asegurarse de que se adapte a la perfección con la producción. Encuentre a un amigo, o alguien de su trabajo, que pueda sentarse y ayudarle a hacer una revisión del código, tanto para mejorar la limpieza de su código como para que se sienta cómodo al recibir la de los colegas y superiores”, concluyó Sloyan.

Este artículo está clasificado como:

Comentarios

Para poder comentar debe iniciar su sesión:

INGRESAR