La Naturaleza Del Software

LNDS

Como contratar malabaristas

| Comentarios

Consideren la siguiente entrevista ficticia

“Gerente de Circo: ¿Cuanto tiempo ha estado usted haciendo malabarismo? Candidato: Oh, como seis años

Gerente: ¿Puede dominar tres bolas, cuatro bolas, y cinco bolas? Candidato: Sí, sí y sí.

Gerente: ¿Trabaja usted con objetos en llamas? Candidato: Claro.

Gerente: ¿…cuchillos, hachas, cajas de cigarro abiertas, sombreros de paja? Candidato: Puedo hacer malabares con cualquier cosa.

Gerente: ¿tiene algún tipo de golpeteo divertido como parte de su espectáculo? Candidato: Es hilarante.

Gerente: Bueno, eso suena bien. Supongo que queda contratado. Candidato: Ummm… ¿No quiere verme hacer unos malabares?

Gerente: Esteee, nunca pensé en eso.”

“Sería ridículo pensar en contratar a un malabarista sin haber visto su performance antes. Es de sentido común. Aún así cuando se trata de contratar a un ingeniero o diseñador o programador, o jefe de grupo, las reglas del sentido común parecen suspendidas. No les pides ver un diseño, o un programa o cualquier cosa. De hecho, la entrevista es simplemente una conversación”

–  HIRING A JUGGLER, Capítulo 15 de Peopleware: Productive Projects and Teams (Second Edition) por Tom DeMarco y Timothy Lister (citador por Reg Braithwaite en este post )

Es dificil generalizar, pero de acuerdo a estos dos autores se da bastante esta tendencia en nuestra industria, la de escoger gente sólo en base a lectura de currícula y entrevistas personales.

Personalmente, cuando lo he hecho así he tenido malas experiencias,  porque el currículum aguanta de todo.

En particular, para los ingenierios informáticos, inclusos si van a ser jefes de proyectos, mi principal filtro es averiguar si saben programar. Hay gente que contrata jefes de proyecto que no son informáticos, yo no soy de esa idea, porque creo que el buen programador es una persona mentalmente disciplinada, probablemente al único otro profesional que contrataría para jefe de proyecto es a alguien que haya estudiado filosofía. Lo digo en serio.

Como no espero contratar a los mejores programadores a la primera, tengo que establecer un cierto método de entrevista que me permita obtener buenos elementos. No es fácil, llevo años contratando gente, y he tenido los más diversos resultados.

Lo primero que mido es si el candidato sabe  programar, el filtro FizzBuzz es asombroso, en un post anterior les propuse este test, normalmente esta o una pregunta similar va incluida en mi examen de ingreso. En mi experiencia el 40% no la contesta, o la contesta mal. Las otras son preguntas de programación más avanzada, o de análisis de requerimientos, y siempre  alguna pregunta que implique hacer un modelo.

Con los años me he dado cuenta que los ingenieros informáticos salen cada vez con menos experiencia en programación desde las universidades, lo que es lamentable. Es como jugadores de fútbol que no sepan hacer pases, o cabecear, parafraseando a Franco Catrin.

Para mí es importante que los ingenieros desarrollen habilidades comunicacionales, eso es en lo que más me fijo en el último tiempo. Ya no me interesa contratar a los más inteligentes, prefiero a los menos ensimismados. El otro aspecto que me interesa es que no sean atolondrados, ya estoy cansado de sufrir con la mantención de código copypasteado malamente de google.

Yo entrevisto y selecciono cada vez más jóvenes inteligentes, y apasionados, que quieren aprender a programar, pero que han tenido una pésima preparación. No es nuestro rol en la empresa prepararlos, pero hemos tenido que hacerlo, pero al menos debemos poner un filtro pasa bajo, como FizzBuzz, porque lo mínimo que se espera de un ingeniero informático es que sepa hacer un loop con un par de ifs, ¿o estoy mal?

Comentarios