Cómo mejorar el proceso de entrevistas de programación y evitar sesgos

No soy un desarrollador, pero las entrevistas de código suenan bastante sombrías.

No es necesario buscar mucho para encontrar historias de candidatos que luchan para llegar al proceso de entrevista, solo para encontrarse desconcertados por una pregunta técnica que nunca han encontrado antes, o que ni siquiera es probable que vean en el mundo real.

De muchas maneras, parece que el proceso de entrevista para los programadores está inherentemente en su contra. Sí, los reclutadores necesitan asegurarse de encontrar a los candidatos adecuados. Pero, por otro lado, ¿por qué el proceso ofrece tantos obstáculos extraños para los posibles empleados?

Max Howell está muy familiarizado con el problema. Después de fallar una entrevista en Google en 2015, Howell compartió su experiencia en un tweet irónico que rápidamente se volvió viral.

Como muchos desarrolladores autodidactas, Howell, creador del popular gestor de paquetes de macOS, Homebrew, no tiene un título en ciencias de la computación. Sin embargo, después de una exitosa carrera en Londres y Estados Unidos, fue contactado por un reclutador que quería postularlo para una posición en el equipo de software de Google.

"Hablé con el reclutador por teléfono y le dije: 'Mira, no tengo una carrera en ciencias de la computación. ¿Estás al tanto de eso? ¿Verdad?' Así que fui a la entrevista, pensando que sería sobre las cosas que conozco, que es la ingeniería de software y la arquitectura de software", dice a Newsmatic.

Programas de desarrolladores ciudadanos: cómo implementarlos y por qué las empresas deberían hacerlo

Sin embargo, al entrar en la entrevista, Howell se dio cuenta de que se enfrentaría a un desafío difícil. "Sabía que iba a ser un día entero sin poder hacerlo bien en nada", dice. "Supongo que no debería haberle creído al reclutador."

La historia de Howell será familiar para muchos desarrolladores que han pasado por una entrevista de código, solo para encontrarse con tareas o preguntas que parecen no tener relación con el rol que desempeñarán en realidad.

Una típica entrevista de código consistirá en presentar a un candidato un problema técnico, que deberá resolver en tiempo real y frente al panel de entrevistadores.

Si bien estas entrevistas pueden variar de una empresa a otra, un formato común es realizar programación en el pizarrón, donde se le pedirá al candidato que resuelva un problema que involucre un árbol binario.

Fue una tarea de árbol binario la que causó la indignación de Howell en su famoso tweet. Estas son una parte bastante típica de las entrevistas técnicas, diseñadas para evaluar la capacidad de un candidato para resolver un problema de programación y mostrar su pensamiento en voz alta.

Sin embargo, la mayoría de los programadores dicen que esto no es representativo de lo que tendrían que hacer en su trabajo diario y afirman que es una forma desactualizada de evaluar a los candidatos que no refleja su nivel de habilidad.

Cómo ser un desarrollador de software exitoso: más allá del lenguaje de programación y los bootcamps

"Estos pequeños desafíos no muestran las habilidades más importantes, que para mí son la capacidad de construir programas grandes", dice Howell. "No se trata de pequeños algoritmos. Se trata del diseño de sistemas más grandes, y eso es mucho más importante".

Índice de Contenido
  1. El problema de los sesgos
  2. No te enfoques solo en el código

El problema de los sesgos

Otro problema es que las entrevistas técnicas no están estandarizadas, lo que significa que pueden variar mucho de una empresa a otra, lo que hace casi imposible que los candidatos se preparen completamente. Como resultado, su destino depende en gran medida de quien lleve a cabo la entrevista ese día.

"Las entrevistas generalmente no están bien pensadas y no están estructuradas", dice Tigran Sloyan, cofundador y CEO de la plataforma de evaluación CodeSignal.

"Lo que suele suceder es que tienes un desarrollador cuyo trabajo es evaluar a esa persona. La mayoría de los desarrolladores no tienen práctica ni comprensión de lo que significa llevar a cabo una entrevista estructurada."

Cuando hay tanta variabilidad, los sesgos comienzan a infiltrarse en el proceso, dice Sloyan. "Donde no hay estructura, hay más sesgos, y lo que sucede es que si a quien estás entrevistando se parece a ti y habla como tú, tú [el entrevistador] comienzas a darle más pistas, a guiarlo por el camino correcto."

Lo mismo ocurre al revés, dice Sloyan. "Si no se parecen a ti y no hablan como tú, es posible que les lances un par de curvas adicionales, y entonces buena suerte para pasar por ese proceso".

Cómo prevenir el agotamiento de los desarrolladores de software durante la pandemia del COVID-19

Por supuesto, hay razones totalmente legítimas para rechazar a un candidato. Por ejemplo, si una empresa utiliza un lenguaje de programación, herramienta o marco de desarrollo específico con el que el candidato no está familiarizado, es poco probable que lo contraten, sin importar cuán técnicamente competente pueda ser en otros aspectos de la programación.

  • Estos son los lenguajes de programación más demandados por las empresas que contratan
  • ¿Contratando desarrolladores? Así es como puedes mantenerlos felices y productivos
  • Futuros desarrolladores y científicos de datos, echen un vistazo a estos cursos sobre Python, JavaScript, Apache Spark y más
  • Contratar desarrolladores será tu próximo gran problema

Aunque centrarse demasiado en la tecnología también corre el riesgo de excluir a candidatos prometedores, explica Sloyan. "Si te enfocas demasiado en herramientas específicas, estás eliminando a personas que podrían haber aprendido fácilmente la herramienta con la que estás trabajando.

"Digamos que estás entrevistando para un trabajo de ingeniero de guiones, y digamos que estás usando React internamente. Si me entrevistas en React y yo soy un ingeniero de Angular muy fuerte, probablemente fallaré esa entrevista, solo porque no he hecho mucho React.

"Pero si me entrevistas en JavaScript, probablemente lo haré muy bien, y la mayoría de los ingenieros de JavaScript fuertes que son buenos en uno de esos marcos pueden aprender el otro sin problema alguno."

No te enfoques solo en el código

Ciertamente parece que, con demasiada frecuencia en las entrevistas, el énfasis está en lo que los candidatos saben, en lugar de cómo abordan los problemas y su potencial para aprender.

Frank Moley, gerente técnico principal de DataStax, dice que prohibió la codificación en vivo en el proceso de entrevista de su equipo porque no aportaba ningún valor a ninguna de las partes.

Cuántas reuniones al día son demasiadas Nuevo estudio revela el impacto en los desarrolladores

En cambio, DataStax ahora realiza proyectos cronometrados, donde se le asigna una tarea a un candidato y luego presenta lo que ha creado al entrevistador.

"Todavía queremos ver lo que alguien sabe en este momento, pero idealmente queremos ver cómo piensas sobre las cosas y cómo explicas tus decisiones", dice Moley a Newsmatic.

"Además de esto, nos concentramos en la revisión de código y en cómo las personas responden y dan comentarios. Este tipo de conversación es en lo que pasarás más tiempo y donde tienes más potencial para mejorar las cosas, pero a menudo se ignora en favor de simplemente mirar el código".

Al incluir este enfoque de revisión por pares en el proceso de entrevista, ambas partes pueden beneficiarse, explica Moley: "Como entrevistador, puedo ver cómo piensas y qué tan abierto estás al cambio y a aprender cosas nuevas. Como candidato, puedes ver cómo la empresa y el equipo abordan esto, ya que esto será algo en lo que potencialmente formarás parte".

En cuanto a cómo las empresas podrían replantear el proceso de entrevista, no parece haber una respuesta clara. Sloyan piensa que el proceso debe comenzar a nivel del currículum, con los candidatos enviando informes basados en datos en función de evaluaciones de código estandarizadas, que los gerentes de contratación pueden utilizar para determinar el nivel de habilidad de un individuo.

"Cuando vas a la entrevista, tener este informe basado en datos sobre el candidato con el que estás trabajando frente solo al currículum previene el tipo de sesgo de los primeros dos minutos que existe cuando empiezas solo con un currículum", dice.

Los mejores sitios web para encontrar trabajo en español

Howell no está seguro de que haya una solución sencilla. "Honestamente, no sé si es un problema que se pueda resolver, poder identificar con precisión si esta persona cumple o no con los requisitos del trabajo", dice.

Howell desde hace mucho tiempo ha hecho las paces con Google. Recibió una oleada de ofertas de trabajo después de su ahora famoso tweet, que dice que envió en el calor del momento y que ahora lamenta.

"Solo tenía tal vez 1,000 seguidores en Twitter, o menos. La mayoría del tiempo, a nadie le importaba lo que decía, así que solo asumí que sería lo mismo de siempre", dice.

También tiene simpatía por aquellos en el proceso de contratación. "Sé que entrevistar es difícil; descubrir si alguien es adecuado y sabe lo que necesita hacer o no en unas pocas horas... Necesitas métricas. Una forma fácil de hacerlo es darles estos pequeños rompecabezas, pequeños desafíos de programación que se presentan en el tablero. Necesitas los que sean objetivos, no subjetivos".

Aunque cree que esta objetividad puede ser un obstáculo en algunas situaciones. "El problema con la habilidad que considero más importante, la habilidad que es vastamente más importante para el desarrollo de software moderno: ingeniería y arquitectura, es subjetiva. Es muy difícil puntuar eso objetivamente", dice.

"La forma en que generalmente entrevisto a la gente hoy en día y tomo decisiones es, miro su GitHub. Veo lo que han estado haciendo a lo largo del tiempo. Creo que eso habla de tu capacidad para crear, lo cual es importante. Eso es lo que haces como ingeniero de software. Incluso si solo has enviado algunos parches aquí y allá, poder ver cómo trabajas, eso es valioso".

Cómo tener éxito en las sesiones de programación en pareja: consejos y errores a evitar

El problema es que, en su mayor parte, las entrevistas de código siguen siendo en su mayoría iguales. Si bien plataformas como CodinGame y HackerRank ofrecen medios más accesibles para entrenar y evaluar a los candidatos, las entrevistas técnicas y la programación en tiempo real aún desempeñan un papel central en el proceso de contratación. Esto significa que el énfasis está en la codificación en sí misma, en lugar de la resolución de problemas.

"La inercia es difícil de cambiar. Una vez que la industria se acostumbra a algo como una forma de seleccionar, simplemente se transmite de generación en generación", dice Sloyan, quien sugiere que muchas empresas de software aún basan sus entrevistas en métodos utilizados por empresas de Silicon Valley a mediados de la década de 2000, que eran altamente teóricos.

"La industria todavía piensa en esta mentalidad de la vieja escuela", agrega.

Por su parte, Google ya no hace 'acertijos' en sus entrevistas de código. La información de contratación de la empresa sugiere que la compañía descubrió que tales preguntas no eran un buen indicador de qué tan bien le iría a alguien en el trabajo, y por lo tanto las eliminó por completo.

Moley sugiere que las compañías dediquen más tiempo a pensar tanto en el proceso de entrevista como en la persona que desean incorporar, específicamente, si están buscando a alguien simplemente para cubrir una brecha de habilidades en el equipo o a alguien a quien quieran desarrollar y hacer crecer a lo largo del tiempo.

"Responder a esa pregunta puede ayudarte a ver cómo funciona tu proceso con los nuevos empleados, y dónde puedes realizar mejoras. Idealmente, deberías estar buscando personas a las que puedas mentorar y ayudar a lo largo del tiempo", dice Moley.

Qué es el programa de desarrolladores de Apple y por qué deberías unirte

"Es muy fácil que los entrevistadores se concentren en habilidades específicas y si las personas las tienen en este momento. En cambio, el enfoque debería estar en cómo el entrevistado aprende y aplica nuevos enfoques para resolver problemas. Si no buscas eso, terminarás encadenando a los desarrolladores a tecnologías específicas que no se mantienen al día con las cosas".

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Desarrollo, allí encontraras muchos artículos similares a Cómo mejorar el proceso de entrevistas de programación y evitar sesgos , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.