Cómo reconocer a los buenos desarrolladores

Hace unos meses, el blog Inter-Sections publicó un interesante post donde el autor recogía las conclusiones obtenidas a partir de su experiencia desarrollando y seleccionando personal, respecto a cómo reconocer a los buenos desarrolladores.

Esta información, además, ha sido complementada con decenas de comentarios de lectores a raíz de su reciente aparición en Slashdot, convirtiéndose en un artículo muy recomendable para los que estamos en el mundo del desarrollo de software y vemos lo complicado que resulta a veces dar con las personas apropiadas. Y es que la contratación del personal adecuado es un factor clave para el éxito (y a veces supervivencia) en una empresa de software, cuya actividad se basa en gran medida en el talento de sus desarrolladores.

Los indicadores clave que, según Daniel, nos pueden ayudar a detectar a los buenos desarrolladores de software se agrupan en los siguientes puntos:

  1. son apasionados por el desarrollo
  2. son autodidactas y les encanta aprender
  3. son inteligentes
  4. normalmente tienen experiencia oculta
  5. son conocedores de tecnologías variadas y punteras
  6. por último, aporta lo que en su opinión no es en absoluto determinante: la titulación.

Estos se concretan en un resumen final de características positivas y negativas, casi un checklist, que nos podrían ayudar a detectar comportamientos y actitudes clave:

Indicadores Positivos (propios de los buenos desarrolladores)

  1. Apasionado por la tecnología
  2. Programa por hobby
  3. Capaz de hablar durante horas sobre temas técnicos si se le anima
  4. Lleva (y ha llevado) a cabo proyectos personales
  5. Aprende nuevas tecnologías por su cuenta
  6. Opina sobre las tecnologías apropiadas en cada caso
  7. Se siente poco cómodo usando tecnologías que no considera correctas
  8. Es claramente inteligente, se puede conversar con él de muchos temas
  9. Comenzó a programar mucho antes de ir a la universidad o empezar a trabajar
  10. Tiene "icebergs" ocultos, grandes proyectos y actividades personales que no aparecen en el currículum.
  11. Conoce gran variedad de tecnologías, que pueden no encontrarse reflejadas en el CV.

Indicadores Negativos (propios de los no tan buenos desarrolladores)

  1. Ve la programación simplemente como su trabajo
  2. No habla de programación fuera del trabajo
  3. Aprende nuevas tecnologías exclusivamente en cursos ofrecidos por la empresa
  4. Se siente cómodo con la tecnología que se les imponga, piensa que cualquiera es buena
  5. No parece ser muy inteligente
  6. Comenzó a programar en la universidad
  7. Toda su experiencia en programación está en su currículum
  8. Está centrado exclusivamente en una o dos tecnologías

En mi opinión, aunque la lista incluye puntos interesantes y acertados, y puede sernos útil como base para la reflexión, el tema creo que es mucho más complejo. Seguro que cada uno de nosotros podría matizar los puntos, eliminarlos o ampliar las listas, tal y como se pone de manifiesto en los comentarios del post, partiendo de nuestras propias experiencias y convicciones.

Por ejemplo, desde mi punto de vista, los indicadores positivos podríamos ampliarlos mucho; los buenos desarrolladores deben mostrar, aparte de las habilidades y actitudes ya citadas, otras comentadas por aquí hace tiempo como capacidad de comunicación e integración en equipos de trabajo, responsabilidad, compromiso, interés y cariño por el resultado de los productos que uno genera, habilidades literarias, curiosidad y seguro que un larguísimo etcétera. Además, pueden producirse falsos positivos; como muestra, decir que es bueno ser un apasionado del desarrollo, pero este hecho no garantiza el ser un gran desarrollador.

En el grupo de los indicadores negativos podríamos añadir, por ejemplo, los inversos de las características anteriores (incapacidad de hacerse responsable de algo, falta de cuidado en los resultados...), o matizar las recogidas por Daniel. Por ejemplo, estar centrado exclusivamente en una o dos tecnologías puede ser indicador de una gran especialización, o tener intereses y hobbies ajenos a la programación puede ser muy beneficioso para los profesionales que nos dedicamos a esto.

Y es que también hay que tener en cuenta que no es lo mismo ser un gran desarrollador en tu casa, como hobby, que serlo en una empresa. He conocido magníficos desarrolladores que según estos indicadores no parecerían pasar de la mediocridad, al igual que otros que aún cumpliendo la mayoría de los puntos positivos adolece de otras características, como habilidades de trabajo en equipo o actitudes elitistas, que lo hacen absolutamente inútil en una compañía de producción de software en el que tendrá que trabajar codo con codo con sus compañeros.

En cualquier caso, se trata siempre de características difíciles de percibir por la empresa vía el tradicional currículum y de ahí la necesidad de contar con medios complementarios como los blogs (sabéis que tengo la certeza de que los blogs ayudan a encontrar empleo), o realizar entrevistas y pruebas de nivel cada vez más complejas.

Publicado en: http://www.variablenotfound.com/.

Published 13/1/2008 21:44 por José M. Aguilar
Comparte este post:
http://geeks.ms/blogs/jmaguilar/archive/2008/01/13/c-243-mo-reconocer-a-los-buenos-desarrolladores.aspx

Comentarios

# re: Cómo reconocer a los buenos desarrolladores

Buen tema,

Estoy con tu última reflexión, por muy buen desarrollador que seas si no eres capaz de trabajar en equipo o asumir tus responsabilidades no llegaras a nada.

No es lo mismo programar en casa que un gran proyecto.

Pero esta claro que para ser un buen desarrollador tienes que ser un buen Geek. ;-)

Saludos

Monday, January 14, 2008 10:22 AM por Marc Rubiño

# re: Cómo reconocer a los buenos desarrolladores

Estoy muy de acuerdo en muchos de los puntos que se enumeran como indicadores de un buen desarrollador.

Por un lado creo que un todo buen desarrollador posee una dilatada experiencia. Y ademas en una experiencia adquirida en multiples lenguajes y entornos. Eso da al programador versatilidad y alcance de miras. Ademas de la facultad de afrontar el mismo problema desde diferentes frentes.

Ni que decir tiene que igualmente si un programador conoce diversas tecnologias, lenguajes y formas de hacer las cosas podra afrontar problemas tecnicos que un programador menos experimentado le harian encontrarse ante un callejon sin salida.

Porque un programador conocedor de lenguajes y frameworks de alto nivel (JAVA, .Net) podria saltarse cualquier restricción si tiene experiencia pasada en programación de bajo nivel, lenguajes como C o el API del S.O.

Cierto es que muchos desarrollos no requieren de estos conocimientos, que los frameworks cada vez ofrecen mayor abstracción a estas APIs, pero cuando no queda mas remedio, cuando la situación es insalvable. Solo entonces el programador experimentado y con experiencia podra solventar esos dificiles problemas.

Para ello, tambien, el programador ha de ser un apasionado. Pues solo la pasión le llevara a formarse en todo cuanto pueda.

En fin, que estoy muy de acuerdo en lo que se dice en este articulo.

Un saludo

Fidel Ortega

Monday, January 14, 2008 7:04 PM por Fidel Ortega

# re: Cómo reconocer a los buenos desarrolladores

Me parece muy bien el artículo, pero me da la sensación que lo ha escrito un director o empresario, que lo que busca es un atómata friki, a veces no hay que dedicarse en amor y alma a la informática para ser bueno en ella, bastantes horas me tiro desarrollando en el trabajo de por sí como para llegar a casa y continuar haciéndolo, más que nada pq tb tengo familia.

Thursday, January 17, 2008 5:47 PM por Juan

# re: Cómo reconocer a los buenos desarrolladores

Pienso que todo lo señalado en el articulo es muy interesante, sin embargo hay algo que muy pocos analizan y es que en el caso de desarrollo, los productos que genera el desarrollador son la evidencia mas clara de sus capacidades y por supuesto de su talento, simplemente ponle a esa persona un par de proyectos el segundo un poco mas complejo que el primero, define un rango de tiempo aceptable por cada uno, y evalua sus resultados, considero que el buen desarrollador se supera constantemente, y eso se tendra que ver reflejado en esta pequeña prueba, el que le encanta y posee ese talento para esta labor no solo lo hara mejor y mas interesante, sino que querra ir mas alla cada vez, es algo que he llamado "espiritu de continua evolucion".

Friday, January 18, 2008 4:27 PM por Diego