¿Quieres contratar programadores que no pueden programar?
Voy a aventurarme a que no lo hagas.
Contratar programadores que no pueden resolver problemas y escribir código es una buena manera de arruinar una empresa de tecnología. Y no vas a ser efectivo en eliminar a los programadores que no pueden programar (y hay _muchos de ellos) si tu proceso de contratación no incluye algún tipo de prueba de programación.
¿Estás dispuesto a bajar tus estándares porque todo el mundo está tratando de contratar programadores?
Tal vez sí, pero no creo que debas hacerlo. Como se ha señalado en los comentarios y respuestas, hay candidatos que no se van a molestar en hacer ejercicios de programación como parte de un proceso de entrevista porque simplemente no lo necesitan para conseguir un trabajo.
¿Pero son realmente esas las personas que quieres contratar de todas formas? Los que siguen el camino de la menor resistencia, hacen lo que es más beneficioso para ellos a corto plazo, y no se preocupan lo suficiente por su empresa como para completar un simple ejercicio de programación? Esos no parecen atributos positivos, y no proporcionan mucha confianza en términos de ser capaces de retener a esos candidatos a largo plazo (lo cual también es importante para una compañía tecnológica, ya que las curvas de aprendizaje tienden a ser empinadas y el costo de reemplazar el personal existente es muy alto).
Así que dejemos que esas otras empresas tengan los programadores que ni siquiera pueden ser molestados. No quieres contratarlos de todas formas. A diferencia de ellos, tú tienes un plan. Uno que no se basa en la falacia de “un programador es un programador”. Tu enfoque debe ser en la calidad y la sostenibilidad, no en el número de personas.
¿Es un problema asustar a los candidatos?
Generalmente no, siempre y cuando se les asuste por una buena razón. No quieres contratar a gente que no está a la altura. Y algunas de las personas que dicen que “no pueden ser molestadas” debido a la alta demanda podrían estar usando eso como una excusa para encubrir una situación de “no tan bueno en la programación así que necesitaría toda la semana para completar un ejercicio de 1 hora”
Es bueno asustar a esos candidatos. Quieres contratar a los candidatos capaces y motivados. Mientras no los asustes también, eres bueno.
Cada candidato que no asustas es uno que tienes que tratar de evaluar. Y eso puede ser difícil de hacer si no le das a tus candidatos técnicos ningún ejercicio técnico para usar en la evaluación.
¿Cómo puedo mejorar nuestro proceso de contratación?
Revise el contenido de su ejercicio de programación. ¿Es razonable y apropiado para un contexto de entrevista?
No quieres algo que te va a llevar días (o incluso horas) para completar. Lo que quieres es algo simple para eliminar a las personas que simplemente no pueden programar, idealmente con suficiente espacio para los matices que las personas que pueden programar realmente bien puedan diferenciarse. Ten en cuenta lo que intentas conseguir (eliminar a los candidatos no cualificados y no serios), y asegúrate de que tu contenido se ajusta a ese objetivo. No se exceda.
Si ya tiene personal técnico, puede utilizarlo para comprobar la cordura (y/o ayudar a diseñar) su ejercicio.
Y también considere la forma de administrar el ejercicio. Si les das alguna documentación y les dices “aquí, haz esto durante la próxima semana y envíamelo por correo electrónico”, probablemente sólo será mínimamente efectivo.
Mejor sería si pudieras ejecutar el ejercicio a través de un portal web, que los candidatos puedan comprobar y comenzar el ejercicio, y una vez que comiencen un temporizador empiece la cuenta atrás desde 1 hora. Entonces, o bien presentan algo dentro de esa hora, o no. Eso es menos abierto, mejor mantiene el enfoque del candidato, y proporciona una fecha límite clara y una caja de tiempo para que 1) no te quedes esperando toda la semana por un resultado que nunca va a llegar, y 2) los candidatos no calificados no desperdicien una semana de su tiempo tratando de completar su ejercicio de programación. Tienen 1 hora, o resuelven el problema o no lo hacen, y sabes el resultado inmediatamente.
Y aún mejor sería traerlos para una entrevista en el lugar. Preséntales a un miembro de tu equipo de desarrollo. Enciérrenlos en una habitación junto con una estación de trabajo. Haz que tu desarrollador empiece con algunas preguntas generales/blandas de la entrevista, y luego pueden programar en pareja con el candidato para resolver el ejercicio de programación. Esto le dirá no sólo si el candidato puede codificar o no, sino también lo bien que trabaja con su equipo. Su desarrollador también debe ser capaz de obtener mucha información adicional que no obtendrá simplemente mirando un montón de código que un candidato escribió y luego le envió por correo electrónico.
En resumen
No, usted no quiere deshacerse de su ejercicio de programación. Pero tal vez quieras revisarlo para ver si tiene un contenido apropiado, asegurarte de que no toma mucho tiempo resolverlo, y también ver cómo lo encajas en tu proceso de entrevista global.
Un ejercicio autodirigido para llevar a casa probablemente no es el mejor enfoque. Pero la solución a eso no es desechar el ejercicio por completo. No a menos que estés de acuerdo en contratar programadores de mierda, en cualquier caso.
Es mejor asustar a muchos malos candidatos y a un puñado de buenos que abrir las compuertas y contratar a unos pocos malos.