Professional Documents
Culture Documents
16 Ene 2011
Compartir en FacebookCompartir en TwitterCompartir en Google+
A raíz del artículo Programando para la Administración Pública, he recibido muchos
correos y llamadas de colegas que se sentían plenamente identificados con el relato.
Incluso ha habido quienes han indentificado a algunos de los aludidos y que no han
dudado en contactarme con más historias sobre esta gente ya fuera del ámbito de la
Administación.
Esta afirmación no me resulta nueva. Los años de experiencia me han llevado a estar
numerosas veces presente en varios procesos de selección tanto a un lado como a otro
de la mesa: cuando me ha tocado entrevistar a un programador para cubrir un puesto en
mi empresa, muchas veces he dudado sobre si el Currículum que he leído corresponde
realmente con la persona que tengo delante: todo lo que por escrito eran conocimientos
sólidos, en la práctica pasan a ser nociones sobre algo que ha leído en Internet.
Como este tema ha llamado mi atención, me he puesto a investigar un poco sobre los
procesos de selección y la información que obtienen las consultoras y empresas sobre el
candidato en cuestión.
Estas pruebas son las que más me han interesado ya que permiten medir con cierta
precisión el nivel real del solicitante. Y el resultado es, tal y como me habían advertido,
inquietante. Según una estadística rápida, de cada 10 candidatos que solicitan un
puesto en la empresa, 7 de ellos no son capaces de escribir el algoritmo más simple
en aquellos lenguajes en los que se definen como expertos.
Para aquellos interesados en ojear el problema, pueden descargarse el PDF desde aquí.
Me queda claro que las grandes corporaciones han establecidos unos eficaces filtros
para seleccionar a su personal. El dato, sin embargo, es escalofriante: la mayoría de
aspirantes no son capaces de resolver problemas triviales desde la comodida de su
propio salón. Me pregunto si la situación es similar en empresas más modestas, por lo
que contacto con algunas pymes para recoger más datos.
Juan, director de Marketing de una empresa poco conocida pero responsable de las más
importantes tiendas de comercio electrónico de este país, me comenta que no disponen
de mecanismos para evaluar candidaturas. Hasta ahora, se han basado en la evaluación
de CVs a través de conocidos portales de empleo y de una entrevista personal. Ni
siquiera confían en las consultoras. Cuando le pregunto qué resultado le ha dado hasta
ahora su sistema, no puede esconder frustración.
– Mal; no has ido muy mal. Necesitamos analistas y desarrolladores capaces de escribir
código PHP orientado a objetos. Ocasionalmente, necesitamos implementar mejoras en
nuestra plataforma o replicar alguna de nuestras tiendas con éxito para un nuevo cliente.
Hemos puesto diversos anuncios y se nos han presentado programadores con un perfil
académico altísimo; sin embargo, en la práctica diaria del trabajo, no terminan siendo
resolutivos: en muchos casos nos hemos encontrado con informáticos que no son
capaces de leer un código y trabajar sobre él. Se pasan las mañanas escondidos tras sus
monitores haciendo como que escriben cientos de líneas; sin embargo, al final de la
jornada, el trabajo continúa como al principio. A veces, cuando no saben cómo resolver
algo, sugieren cosas tan radicales como reescribir todo el código; da igual que se trate
de un framework con más de un millón de líneas o un CMS utilizado por miles de
usuarios con éxito. La solución del programador mediocre es volver a reescribirlo todo:
al final, reinvetamos la rueda tantas veces como damos de alta en la Seguridad Social a
un nuevo miembro en el equipo.
– Hace tiempo leí un artículo de un señor al que citabas en tus clases de informática,
Jeff Atwood. En él, comentaba cómo era cada vez más frecuente encontrar a
programadores titulados incapaces de escribir una sola línea de código o realizar una
operación aritmética básica. Como ya había tenido problemas con un par de empleados,
decidí coger un ejemplo de ese artículo para evaluar a los futuros candidatos. Se trata de
escribir un simple programa que imprima en pantalla los primeros 100 números. Si un
número es múltiplo de 3, se escribe “Fizz” en su lugar. Si el número es múltiplo de 5, se
escribe “Buzz”. Si el número es múltiplo de ambos se escribe “FizzBuzz”. El único
requisito es que el aspirante teclee el código delante de algún empleado para que lo
supervise. Con esta prueba tan sencilla, he conseguido evitarme sorpresas.
Jeff Atwood concluía su artículo con un párrafo que me parece inmejorable y que paso a
transcribir íntegramente:
“Al menos, los malos programadores pueden ser reeducados; los no-programadores no
son sólo inútiles, sino que también restan valor a los profesionales de su alrededor.
Deben ser erradicados, comenzando con un simple test que debería formar parte de todo
proceso de selección.”
Y ahí encontramos otro problema muy común en las empresas: ya que el rendimiento de
la media de programadores en plantilla es limitado, se precisan más recursos para cubrir
un proyecto. Si a esto sumamos que los presupuestos suelen estar limitados, cuanto
mayor es el número de desarrolladores, menor es el salario que percibe cada uno.
Finalmente, el empresario establece un rango salarial en función a su experiencia que
termina modificando el mercado. Los sueldos tienden a la baja y los equipos al alza:
hay muchas ofertas, pero casi todas mal remuneradas.