¿Guia para contratar programadores? | Express IT: ¿Guia para contratar programadores?

lunes, 6 de agosto de 2007

¿Guia para contratar programadores?

Reactions: 
Leyendo en la blogosfera encontré este articulo "A guide to hiring programmers: the high cost of low quality"; escrito por Frank Wiles un total desconocido para mi, pero por lo que pude averiguar de el, tiene experiencia suficiente en el campo de TI como para atreverme a mencionar esta entrada de su blog.

A los 16 años empecé a trabajar como operador técnico en una estación de radio; mas o menos en 1994, desde 2000 en esa misma estación mi trabajo se volcó completamente a las TI, primero como administrador de sistemas y web hasta convertirme en desarrollador de software independiente. Ya olvide cuantas formas de empleo y currículum e repartido a no se cuantas empresas con la esperanza de encontrar un empleo bien pagado y con retos constantes, que mantengan mi atención y el interés por seguir trabajando en determinado lugar. Asi como a mi me gustaría encontrar el empleo perfecto las empresas que buscan personal de TI (programadores en este caso particular), buscan lo mejor que pueden encontrar (basando en la relación costo-beneficio, aunque por algún extraño motivo la balanza siempre esta inclinada hacia el lado del costo olvidando el beneficio casi por completo) para cubrir sus necesidades de desarrollo.

La realidad sin embargo, es que pocas empresas están dispuestas a pagarle bien a un programador (ya ni mencionar los retos y el ambiente laboral :( ) y los pocos buenos programadores se la pasan brincando de una empresa a otra en busca de mejor paga y proyectos que cautiven su interés. Wiles y otros programadores (de Perl) como el, concluyeron lo siguiente sobre el tema de la contratación de programadores:
  • Encontrar buenos programadores es difícil en cualquier lenguaje. Un buen programador puede ser tan efectivo como 5 a 10 programadores promedio.
  • El rango de salarios entre programadores están fuera de sincronía y están basados mas en el lenguaje utilizado que en la habilidad de el programador.
  • No es necesario contratar un experto en X lenguaje, se puede y se debería buscar programadores expertos que estén dispuestos a aprender X lenguaje. Un experto puede facilmente pasar de ser un novato en cualquier lenguaje en cosa de algunas semanas.
  • Se debería considerar seriamente permitir a los programadores trabajar remotamente tiempo completo. Restringir la búsqueda a programadores que vivan cerca del área o dispuestos a moverse limita el talento que se puede adquirir. Argumentos como "tiempos de entrega", productividad, etc. se nulifican al ver como algunos y mas exitosos proyectos "Open Source" como Linux, Apache y Firefox son desarrollados por individuos que raramente viven en la misma zona, incluso el mismo país.
¿Por que es tan dificil encontrar buenos programadores?

Segun Frank, la raz
ón mas sencilla es cuando una empresa encuentra un buen desarrollador, ellos hacen mas por asegurarse que esa persona este feliz. Mejor salario, condiciones de trabajo mas flexibles, buenas herramientas, proyectos interesantes y buenos estímulos generalmente mantienen a un buen programador en el mismo lugar por mas tiempo.

Es bastante obvia la dificultad para encontrar expertos, esto no significa que los departamentos de RH se rindan y contraten lo que les llegue, los programadores no son engranes en la maquina, se acercan mas a los artistas o científicos que a un
representante de ventas o pedagogos (sin menospreciar ninguna profesión). Además muchos no es igual a mejor, si una empresa (buscando ahorrar) contrata varios novatos que le cuesten lo mismo o menos que un experto, estos seguramente se convertirán en lastres y no en propelas que impulsen el desarrollo en la empresa. Otra dificultad la presentan las propias empresas, por lo general están dispuestos a pagar de 10% a 20% mas a un experto que a un programador promedio, las empresas deben darse cuenta que pagar mas puede ahorrarles mucho a largo plazo.

Frank y compañía presentan Pros y Contras de contratar 5 programadores (de
Perl) expertos (o arriba del promedio) pagando a cada uno 120 mil USD al año:

Contras

  • Se invierte mas tiempo en encontrar, evaluar y entrevistar a los candidatos.
  • La empresa o lo que se le pide programar sencillamente podría no ser atractivo a esta clase de desarrollador. Las personas inteligentes encuentran las cosas aburridas aun mas aburridas que la mayoría.
  • Cuando uno de ellos deja la empresa los objetivos de negocio están mas en riesgo al contar con menos recursos o que una buena parte del conocimiento de la empresa se fue caminando. Esto es mas una percepción que realidad, un buen desarrollador es mejor escribiendo código legible y bien comentado, lo que ayuda a su sucesor para tomar las riendas del desarrollo mas rápido.
Pros
  • Cada desarrollador estará mas contento con su trabajo, en parte por un salario mas arriba que el promedio y por que sus compañeros son igual o mas capaces que el, lo que mejora la satisfacción del trabajo.
  • El desarrollo requiere de menos comunicación en general, pues hay menos personas con quien comunicarse.
  • Los expertos se mueven en los mismos círculos, tener un experto en el equipo hace mas fácil encontrar otros expertos.
  • Se ahorra en infraestructura (cubículos, teléfonos, computadoras, etc.).
  • El departamento de RH tiene menos gente por quien preocuparse.
  • Se ahorra mucho en costos laborales, menos empleados es igual a menos reparto de utilidades, cuotas de seguridad social, vacaciones, etc.
¿Que es un programador experto?

La experiencia es muy importante, pero no tan importante como diversidad de experiencia. Alguien que a trabajado en diferentes industrias es mucho mejor desarrollador que alguien que ha pasado años en la misma industria. Si el desarrollador a sido administrador de sistemas ese es un punto extra a su favor.

Algunos de los mejores desarrolladores tienen una formación que poco o nada tiene que ver con el desarrollo de software, no es sorprendente encontrar matemáticos, contadores, médicos, etc. escribiendo código de excelente calidad. Los expertos son flojos (en cierto sentido), trabajan inteligentemente y no arduamente, prefieren soluciones fáciles que resuelvan el problema a soluciones complejas solo por tener la complejidad (esto es algo que las empresas aman, hacer las cosas difíciles sin justificación).

¿Mas motivos para contratar expertos?

La lista podría ser interminable, pero basta mirar compañías como Google, Apple o Microsoft. Todas ellas dedican gran parte de su tiempo y departamentos de RH en buscar, contratar y hacer sentir bien a sus expertos.

Powered by ScribeFire.