¿Tiene alguna idea para arreglar el proceso de entrevista roto en la industria de la ingeniería de software hoy?

El proceso de la entrevista no está roto. Está logrando su objetivo, que es excluir a los candidatos a menos que sea muy probable que sean buenos empleados. En los lugares donde he trabajado, ha hecho un buen trabajo.

Sin embargo, tiene el efecto secundario de pasar por alto a las personas que PODRÍAN ser buenas.

Puedo contarte cosas que probé y con las que tuve mala suerte:

  • Juzgar a alguien por experiencia previa . He tenido mala suerte con esto. A menos que estuviera sentado con ellos mientras hacían el trabajo, simplemente no hay forma de saber cuán difícil e importante fue realmente, y cuál fue su contribución.
  • Dar la tarea y obtener el código al día siguiente . Tampoco funcionó bien. A veces me cortan y pegan de internet. A veces recibí algo que su amigo escribió. A veces no recibía nada, porque se atascaban y no estaba allí para ayudarlos. No podría usarlo para predecir nada.
  • Codificación en una computadora en lugar de una pizarra . Dejé que algunas personas trabajaran en una computadora portátil en lugar de la pizarra. Terminó descarrilando la entrevista. Tal vez su IDE no estaba configurado para lo que querían hacer, tal vez no pudieron hacerlo funcionar, tal vez no estaban acostumbrados a trabajar en una computadora portátil en lugar de una PC. Tal vez no trajeron su computadora portátil de codificación, a pesar de que dije que podían. Entonces les doy uno. Es un IDE que no conocen. No tienen sus atajos. El teclado está configurado de forma diferente a lo que está acostumbrado. Tienen una versión diferente de las herramientas. Y así sucesivamente y así sucesivamente. Mucho tiempo gastado, muy poco aprendido relevante para la entrevista.
  • Centrarse en un solo problema real en lugar de problemas de “juguete” . Terminó descarrilando, y luego terminé con información no concluyente, y realmente no puedo decir si pueden codificar, o si se ahogaron, o qué.

Entonces, para mí, lo ideal es lo que sigo haciendo hoy, después de 25 años de entrevistas y ocasionalmente intentando cosas diferentes:

  • Sniff prueba su currículum para asegurarse de que están familiarizados con lo que le ponen.
  • Haga algunas preguntas experimentales y técnicas para ver cómo piensan y se comunican.
  • Haga algunas preguntas de codificación y diseño, y vea cómo piensan mientras las abordan, cuán precisas son, etc.

El proceso no está roto, está sesgado para evitar elegir personas malas, a costa de extrañar a muchas personas buenas. Y es difícil hacer que haga algo más.

La entrevista en sí sigue siendo la herramienta de evaluación más efectiva para los nuevos empleados. La última compañía en la que trabajé había intentado varias cosas, para incluir exámenes. Cuando uno de los gerentes trazó las calificaciones de los empleados en comparación con los resultados de esas pruebas, parecía mayormente aleatorio. Hubo una tendencia en la que algunas personas obtuvieron puntajes altos y calificaciones moderadas (buenos examinados). Abandonamos las pruebas.

El mayor fracaso de las entrevistas es el pobre entrevistador. Algunas personas atacan o promueven a los candidatos injustamente. Un gerente de contratación necesita identificar quién es bueno y quién es malo para hacer entrevistas. También debe haber una variedad de personas involucradas en interacciones separadas. Diferentes personas notarán diferentes cosas y esto ayudará a señalar problemas o resaltar características perdidas en un candidato.

Lo último que debe ocurrir para una buena entrevista es conducir a una discusión que exponga cómo alguien piensa en relación con el trabajo. Tal vez sea un problema de muestra de trabajo para discutir, tal vez un desafío para la mente relacionado para trabajar. Lo que sea necesario, una discusión con un tren de pensamiento es invaluable para evaluar a un empleado.

Deja de tratar a los ingenieros consumados como si acabaran de completar sus estudios universitarios

Haga preguntas abiertas y vea cómo alguien piensa a través de un problema (como las preguntas de diseño / arquitectura, por ejemplo)

Para las personas mayores, pídales que presenten una contribución importante en su posición pasada o actual y que hagan una inmersión técnica profunda en ella, con muchos escenarios de qué / si (si alguien está mintiendo acerca de sus contribuciones, así es como los atrapa)

Limite el problema del juguete / preguntas de codificación a una sesión de la entrevista, y sea razonable con las expectativas, deje que el candidato explique su proceso de pensamiento

Sospecho que una gran parte del problema es que cualquier forma de subcontratación laboral crea grandes problemas de agencia y lo costoso que puede ser una mala contratación. Creo que hay un poco de parálisis sobre hacer las cosas de una manera diferente. También hay limitaciones legales y limitaciones éticas que pueden evitar que la autoridad contratante expulse fácilmente a los candidatos que no le gustan. Finalmente, muchos de sus mejores candidatos probablemente no tengan que soportar la BS necesaria para encontrar el mejor grupo de candidatos (recuerde, la capacidad técnica es mucho más baja en la lista de calificaciones del empleador de lo que incluso podrían admitir).

Debe tener un alto grado de certeza de que el candidato satisfizo sus necesidades técnicas incluso antes de llevarlo a una entrevista. No debe hacer una entrevista muy técnica, y debe esperar que el candidato realmente lo entreviste a usted, a la compañía y al proyecto. Además, en la medida de lo posible, piense cómo usted y el resto de su equipo interactuarían con esta persona. Preferirías contratar un talento mediocre que sea un multiplicador que un gran talento que sea un divisor.

Ooh ooh elígeme, elígeme!

Sí, tengo muchos …

Centrarse en proyectos

La única forma de juzgar verdaderamente a un programador es su salida.

Pídale al candidato que le muestre su trabajo, solicítelo con anticipación, para que pueda estudiarlo un poco, hágales preguntas al respecto en la entrevista, por qué eligieron ciertos métodos, qué harían de manera diferente la próxima vez. Es difícil mentir eso.

Ahora, algunas personas dirían: “Me acabo de graduar, no tengo ningún proyecto”. Lo siento, es una descalificación inmediata. Regrese en 6 meses cuando tenga un proyecto.

Sáltate las pruebas

Las pruebas de pizarra blanca son un ambiente estresante y poco realista para pedirle a alguien que se destaque. No es justo para el candidato, para algunas personas, que encuentran entrevistas estresantes, en realidad es bastante cruel.

Si va a probarlos, envíeles un proyecto que tengan que escribir, en casa, una aplicación simple de iOS, o lo que sea, y discútalo en la entrevista.

Enciende el detector de mierda

He entrevistado solo a unas pocas personas en mi carrera, no me importan los títulos, no me importa si son autodidactas o si un genio les otorgó las habilidades como un deseo, solo me importa si pueden hacerlo las tareas que les puse.

De hecho, aprendí esto de la manera difícil del primer tipo que contraté, era un graduado de CS, habló, me impresionó. Resultó ser un programador terrible, y hasta el día de hoy, es la única persona que he tenido que despedir. Debería haber escuchado las tripas.

Hablar es barato.

Si quieres calidad, debes dedicarle tiempo.

Debe ser muy tentador para los departamentos de recursos humanos lanzar una prueba a un grupo de candidatos, es fácil, barato y no requiere mucha habilidad, pero no funciona.

Tuve suerte, para mi primera entrevista, fui entrevistado por otros programadores, hablé su idioma, bromeamos sobre computadoras y hablamos sobre el próximo MacOS X (Rhapsody, en ese momento).

Estaban olfateando la mierda. El personal de recursos humanos, o un gerente, no podría hacer eso, otros programadores pueden hacerlo .

Hacer que los programadores entrevisten a otros programadores puede parecer una pérdida de tiempo, pero ayudará a conseguir mejores personas.

La mayoría de las respuestas se han centrado en hacer preguntas y escuchar las respuestas. Estoy de acuerdo con esto, pero también tengo una sugerencia radical.

Contratar candidatos que pasen una prueba de detección y parezcan prometedores durante 30 días. Deje que sus colegas los conozcan. Eche un vistazo a su trabajo en un entorno donde cortar y pegar no es gratificante. Esto le permite al empleador tomar un volante sobre un candidato que es autodidacta, o que tiene una experiencia inusual, o es más joven o mayor que su necesidad declarada.

Esto solo funciona si su código base está limpio y tiene documentación. Si su proyecto se está ahogando en deudas técnicas, es poco probable que vea suficientes resultados en 30 días para permitirle tomar una buena decisión.

Deja de pedir escribir sintaxis. Deja de pedir el código de la pizarra.

Más bien: pedir resolver problemas. Pida explicar los pasos. Pida analizar problemas. Pide que se te ocurran ideas. Pregunte cómo el candidato puede diferenciarse de los demás.

No desperdicie las preciosas 20 horas de las empresas por candidato. Pase un máximo de 2 horas por candidato y 1 hora de tiempo de recursos humanos. Mantenga un período de prueba de 3 meses, y si el candidato contratado no cumple con las expectativas, reemplácelo dentro del período de prueba.

Ahora, los reclutadores de HIRE que pueden entender los currículums, no solo las palabras clave. Por lo general, los reclutadores tiran buenos currículums solo porque había una palabra clave o frase que buscaban. O no pueden seleccionar un candidato de 100 de currículums recibidos.

More Interesting

¿Cuál es un buen recurso para el 'panorama general' del desarrollo de software?

¿Puede un ingeniero de software cambiar a redes o hardware después de obtener una licenciatura?

¿Cuál es el día típico de un ingeniero mecánico?

¿Cuál es la diferencia entre un ingeniero de pila completa y un ingeniero de software?

¿Por qué ninguna compañía, ni siquiera las grandes, adoptó el enfoque de PC de un hardware de nadie y un software de otro para dispositivos móviles como teléfonos y tabletas? Esta ha sido la razón del éxito de la PC, ¿por qué nadie parece interesado?

Acabo de tener un error de producción. ¿Cómo debo lidiar con eso?

¿Por qué los programadores / ingenieros de software / desarrolladores son vistos como los más bajos / débiles de todas las otras profesiones en una empresa de TI?

¿Te arrepientes de convertirte en ingeniero de software?

Como ingeniero de software con más de 5 años de experiencia, ¿es mejor enfocarse en alguna tecnología y convertirse en un maestro o mantenerse generalista?

¿Qué tipos de matemáticas debe saber un ingeniero?

¿Hasta qué punto de tu carrera te llevó sentirte como un ingeniero de software profesional?

¿Cómo se pretende obtener un puesto de Ingeniero de Software Senior en 6 meses (finales de 2016)? Planeo trabajar en un proyecto de código abierto a diario.

¿Cuál es el mejor campo para especializarse en ingeniero de software?

Como desarrollador junior de software, ¿cómo puedo desarrollar mis habilidades de desarrollo algorítmico y resolución de problemas?

¿Cuáles son buenas categorías / encabezados para un ingeniero de software?