Tareas de prueba en la entrevista del desarrollador: ¿tiene sentido?

Durante mi larga carrera en TI, logré visitar ambos lados de las entrevistas y ver todo el brillo, la pobreza, la locura y los buenos pensamientos de las tareas de prueba emitidas en entrevistas técnicas de desarrolladores de software.

Del lado del solicitante (también conocido como desarrollador Petya)


Si Petya está al comienzo de su carrera como desarrollador, lo más probable es que esté interesado en realizar tareas de prueba y esté listo para pasar su tiempo personal en esto. Para los desarrolladores de nivel Senior y superior, tales tareas ya están aburridas, especialmente no pagadas. Y dado que un desarrollador generalmente pasa por alto a más de una compañía, ¡la cantidad de tiempo perdido en las tareas de prueba puede ser de días o incluso semanas!

¿Hay tareas realmente geniales? Suceden pero muy raramente, tal vez uno de cada 100. Básicamente, todo es estándar y no es interesante: leer datos de alguna parte, hacer algo con ellos, escribir datos en alguna parte (archivo / base / socket ...). O implementar algún algoritmo bien conocido en su lugar. ¿Por qué es esto así? Sí, porque, en la mayoría de los casos, el inquilino solo necesita reducir la pila de CV en su escritorio, más adelante le contaré más sobre esto.

Del lado del empleador (también conocido como Timlid Vasya)


Vasya tiene dos docenas de currículums completamente adecuados, entre los cuales debe elegir un candidato digno para su equipo. Entreviste a las dos docenas de Vasya demasiado flojo, y no hay razón, y él decide filtrar un poco la línea y elegir el más digno. Por supuesto, Vasya sabe que puedes seguir el camino, como en un famoso chiste:

¿Por qué necesitamos perdedores?
El final de la jornada laboral. Dos empleados de reclutamiento están sentados, viejos y jóvenes.
Viejo:
- Bueno, ya terminé. Vamos a casa
Young mirando un paquete de hojas de vida sin procesar:
- Sí, todavía tengo mucho trabajo.
Llega el viejo, divide el paquete en dos, tira uno a la urna. Joven:
- ¿Cómo?
Viejo:
"No tuvieron suerte". ¿Por qué necesitamos perdedores?

Pero Vasya decide seguir otro camino generalizado: entregar una tarea de prueba y enviarla a todos los candidatos. Y luego comienza el circo con caballos, que muestra lo absurdo de las tareas de prueba.

Entrevistador


Una de las peores opciones para ambas partes, si el líder del equipo por alguna razón (ocupado, carente de competencias, estúpidamente flojo, fue a almorzar) en lugar de enviar a un miembro de su equipo para una entrevista y tomar una decisión sobre su retiro. Si esto sucede, el líder del equipo, muy probablemente, no ocupa su lugar en la empresa.

Tarea plazo y alcance


Cumplí tareas durante media hora y una semana, en promedio, la mayoría de los empleadores entienden que no vale la pena exigir más de unas pocas horas a un candidato.

Calidad de código y diseño.


Aquí, los empleadores están tratando de darse cuenta de lo que se les priva en el trabajo real en el establecimiento de tareas: código con comentarios, cubierto con pruebas unitarias, siempre con estilo de código, y ha habido ocasiones en las que se requirió un breve tutorial sobre el programa. En la mayoría de los casos, en el trabajo real, los requisitos completamente diferentes son mucho más prosaicos.

Formato de trabajo


Puede encontrar tareas estándar en casa y perversiones como:

  • escriba una decisión en la pizarra (esto generalmente lo hacen las empresas occidentales)
  • escriba una solución en el bloc de notas en la computadora portátil de la empresa
  • escribir una solución de forma remota en modo de programación par

¿Qué ve Vasya en la salida?


Algunos de los candidatos se caen simplemente porque son demasiado vagos para trabajar de forma gratuita, a algunos no les gusta la tarea en sí, algunos no satisfacen completamente todas las condiciones que Vasya ha prescrito cuidadosamente y hacen un poco mal. Como resultado, la línea de solicitantes se está reduciendo realmente, pero no según los principios que Vasya esperaba. Con el tiempo, Vasya ve que la calidad de la tarea de prueba completada y la efectividad del nuevo desarrollador en el equipo están débilmente correlacionadas y para los próximos candidatos no insisten en la tarea de prueba, pasando al siguiente nivel de evaluación del desarrollador.

¿Qué te gustaría ver Vasya?


En sus sueños rosados, Vasya ve que el candidato comenzará con alegría y entusiasmo a trabajar en la tarea de prueba y dará su mejor código, cubierto por las pruebas de los más inmanejables, con una estructura competente (pero no demasiado complicada) y generosamente condimentado con comentarios sensatos.

¿Qué dan las tareas de prueba en realidad?


La brecha entre la tarea de prueba y el trabajo real es tan amplia que sería muy ingenuo proyectar el resultado de una pequeña tarea durante 3 horas en el largo trabajo del desarrollador. Queda mucho detrás de escena (depuración, resolución de problemas, refactorización, la arquitectura del proyecto es más complicada que Hello World , interacción con colegas), lo que elimina cualquier beneficio de tales tareas prácticamente a cero. Con aproximadamente el mismo efecto, puede lanzar una moneda y decidir rápidamente si el candidato es adecuado o no.

Es bueno ponerse al día, el autor, probablemente en las oficinas geniales hay menos tonterías con las tareas


Un caso bien conocido es cuando el autor del administrador de paquetes Homebrew no fue llevado a Google, solo por la razón de que en la séptima entrevista no pudo escribir un algoritmo en la pizarra sobre cómo invertir el árbol binario. Cuántos tipos duros las empresas pierden por tareas tan complicadas, solo se puede adivinar.

imagen

¿Qué tareas de prueba no son necesarias en absoluto?


Al estar en el sitio de Vasya, a veces daba tareas de prueba para tener algo que discutir después de su implementación. Pero solo si el desarrollador mismo no está en contra. Esto funciona bien para los desarrolladores Junior y Middle si no tienen un código que puedan demostrar. Senior'ov y superior no pueden ser apreciados por una pequeña tarea de prueba, aquí se necesita otro enfoque.

¿Pueden los casos de prueba realmente beneficiar a ambas partes?


Dadas las desventajas de los casos de prueba tradicionales, algunas empresas han comenzado a adoptar un enfoque más cercano a las condiciones de trabajo. El candidato recibe una tarea real de la lista actual de tareas (trabajo atrasado) de la empresa, que puede llevarse a cabo de un día a un par de semanas y se paga a una tasa contractual. Por lo tanto, el candidato tiene la oportunidad de trabajar en modo de prueba con un nuevo equipo y al mismo tiempo ganar dinero por el tiempo dedicado. Esto le permite evaluar al candidato con mayor precisión en condiciones cercanas a las fuerzas armadas, pero, desafortunadamente, pocas compañías pueden permitírselo.

Un lector meticuloso preguntará: "OK, autor, si no es una tarea de prueba, entonces, ¿de qué otra forma puede seleccionar al senior correcto?" Y este es un tema para un artículo separado, ¡estad atentos!

Source: https://habr.com/ru/post/469099/


All Articles