it-swarm-es.com

¿Qué técnicas utiliza al entrevistar a los desarrolladores?

Me doy cuenta de que ha habido muchas discusiones sobre este tipo de cosas y que a menudo se convierten en dogmas sobre si haces las preguntas del tipo "100 piratas lógicos" o si logras que escriban "chismes".

Estoy interesado en qué técnicas y preguntas han sido efectivas para sted al entrevistar a posibles desarrolladores para trabajos.

Una técnica por respuesta para que podamos votarlas, por favor.

28
Paddyslacker

Además de las preguntas técnicas reales, y por lo general al final de la entrevista, trato de comprender su nivel de interés en la industria y su cultura con preguntas como:

  • ¿Ha visto algo recientemente relacionado con la programación que le pareció interesante y le gustaría recomendar a otros programadores? ¿Un nuevo lenguaje, herramienta, plataforma, técnica, sitio web?

  • ¿Puede nombrar a alguna persona conocida en nuestra industria cuyo trabajo le guste o encuentre inspirador y por qué? (desarrollador, fundador del sitio web, autor, orador, etc.)

  • ¿Qué estás leyendo ahora o cuál fue el último libro relacionado con el software que leíste?

  • ¿Qué sitios relacionados con la programación frecuentas?

Aunque no responder a estas preguntas en absoluto (lamentablemente sucede con mucha frecuencia) no significa que no me contraten, dicen mucho sobre la forma en que una persona se acerca a la profesión de desarrollo de software.

21
Sergio Acosta

Haz que escriban código, código real.

El entrevistador puede permitirle elegir el lenguaje de programación con el que se sienta más cómodo, ya sea C++, Java, C # o lo que sea y pedirle que resuelva un problema simple, p. Ej. haciendo algún trabajo con una cadena o una lista doblemente enlazada o lo que sea. Si tiene problemas para usar su mejor idioma para resolver un problema simple, entonces hay un problema. Consulte publicación del blog de Steve Yegge y especialmente la sección "Preparación mental".

16
grokus

Haga que varias personas de su equipo los entrevisten de forma independiente. Comparta sus pensamientos después, no hable antes de entrevistarlos. Hablar en el medio influirá en su juicio y no tendrá evaluaciones independientes.

Para los técnicos que los entrevistan, haga que escriban código. Si no es técnico, no intente preguntar cosas con las que no tenga experiencia. Sin embargo, asegúrese de que al menos algunos técnicos se entrevisten.

Las entrevistas no deben ser realizadas solo por gerentes, debe ser extremadamente importante para todos los trabajadores con los que trabajarán en el futuro.

11
Brian R. Bondy

Me gusta que un entrevistado explique sus proyectos anteriores y lo que hicieron. De esta respuesta puedo tener preguntas de seguimiento: por qué hicieron las cosas de cierta manera, cómo resolvieron un problema en particular si mencionaron uno, pero lo más importante, cuál fue el propósito del proyecto y qué problema comercial resolvió.

Hago esto para ver si pueden articularse de una manera que me haga comprender lo que estaban haciendo y ver si también entendieron lo que estaban haciendo.

Es sorprendente que se haya resuelto la última pregunta sobre el propósito del proyecto y el problema empresarial que despierta a mucha gente. No tienen ni idea de POR QUÉ se estaba haciendo el proyecto en el que estaban trabajando. Si no sabe por qué existe su proyecto en primer lugar, me pregunto si está contribuyendo con soluciones o simplemente haciendo lo que le dicen.

(Me imaginé que arrojé esto allí, ya que todas las demás respuestas tienden a ser técnicas. Quiero que las personas sepan por qué están resolviendo los problemas que están resolviendo también; de lo contrario, tienden a resolver los problemas incorrectos que el usuario final no sabe. me importa :)

7
Jay

Pregunte su opinión sobre una decisión arquitectónica importante.

Por ejemplo. Aquí está el programa x que ejecuta y número de subtareas al mismo tiempo. ¿Cuál elegiría, una estructura multiproceso o de subprocesos?.

Cuáles son los beneficios/desventajas de ambos. ¿Qué tan bien funcionarían y cómo podrían usarse para aprovechar una plataforma de múltiples núcleos y procesadores? ¿Cuál es su preferencia personal? Los prejuicios personales pueden ayudar a identificar si alguna vez han tenido que aplicar realmente el conocimiento y darles un punto de partida para compartir sus experiencias.

Hay toneladas de preguntas que un entrevistador podría plantear como estas:

  • TCP o UDP?
  • ¿Lenguaje dinámico o tipado estáticamente?
  • ¿Aplicación monolítica o múltiples aplicaciones más pequeñas?
  • ¿Qué usaría para la comunicación entre procesos?
  • ¿Procedimientos almacenados u ORM?

La mayoría de estos temas son los que implican un conocimiento profundo de cómo/por qué un sistema informático funciona de la manera en que lo hace. Todos son problemas/soluciones a problemas que no tienen una respuesta definitiva, por lo que dan una idea de qué tan bien esa persona es capaz de adaptarse o superar los desafíos en cuestión. No es el tipo de conceptos que se pueden aprender fácilmente sin una experiencia práctica real.

Nota: También es obligatorio que el solicitante escriba algún código de pesudo, pero esa respuesta ya está tomada.

6
Evan Plaice

Simplemente déles un código básico para hacer en la pizarra, por ejemplo, implementación de lista enlazada, ordenación o algo similar.

Puede juzgar qué tan cómodos están con su lenguaje sin la ayuda del compilador y puede juzgar su proceso de pensamiento (especialmente si nunca implementaron tal cosa, la mayoría de los programadores "nuevos" nunca lo hicieron).

1
Josip Medved

Tenga una conversación, déjela fluir y serpentea por la ruta técnica y profesional y busque comentarios perspicaces o estúpidos en el camino. Esto le brinda 3/4 de lo que necesita de una entrevista, una evaluación de: habilidades y personalidad de las personas, inteligencia general y una evaluación aproximada de habilidades técnicas.

Utilice las "preguntas" de su entrevista como tema de inicio y para mantener la conversación acorralada a temas técnicos; es posible que deba restablecer la conversación de vez en cuando (como hacer un ejercicio de codificación) para sondear adecuadamente las áreas de preocupación/interés.

El verdadero truco de esta técnica es asegurarse de que ellos hablen todo, de lo contrario, corre el riesgo de una evaluación favorable porque hicieron sted sentirse inteligente al escuchar/estar de acuerdo con todo lo que dijiste.

0
Mark Brackett