En busca del programador más barato, en busca del harakiri de una industria

¿Cuál cree Ud. que es el riesgo que más frecuentemente pasamos por alto en ingeniería software?
Los programadores incompetentes.
Hay estimaciones de que el número de programadores necesarios en los EEUU supera los 200.000. Esto es totalmente engañoso. No es un problema la cantidad; tenemos un problema de calidad. Un mal programador puede crear fácilmente dos nuevos puestos de trabajo al año. La contratación de más malos programadores sólo aumentará nuestra percepción de la necesidad de ellos. Si hubiéramos tenido más buenos programadores, y podríamos identificarlos fácilmente, necesitaríamos menos, no más.
— David Parnas (en una entrevista mítica)
Por mucho que lo haya escuchado no me acostumbro a ello. No se me va de la cabeza. El otro día, otra vez, estaba en una empresa grande, de esas que suelen ejercer el rol que en nuestra profesión solemos llamar “cliente”. Mientras hablaba con uno de los gerentes, me decía:
-No si yo estoy convencido de que si no vamos a mejores practicas de gestión software no vamos a ser competitivos. Pero te digo una cosa, eso mismo se lo cuento yo a todos esos proveedores que tenemos cada día “en la puerta” ¿y sabes lo qué me dicen? “que sí, que sí, que sí”, pero luego en lo único que realmente piensan es de qué Universidad sacar los becarios más baratos posibles.-
Y con la crisis, el tema ha ido a más.
No hace poco os contaba alguna conversación similar:
-Hemos dejado de invertir en buenos profesionales y en calidad porque en los pliegos de licitaciones que sacan grandes organizaciones lo que más se premia es el menor precio. La competencia tampoco invierte, hacerlo te hace ser menos competitivo.-
– Como la calidad no se paga, y lo que importa es el precio, es mejor contratar perfiles que no han estudiado informática, porque exigen menos salario, aunque pudieran desarrollar peor, pero eso no importa tanto.-
Y la cosa no solo afecta a la programación, en Testing, Calidad, Mejoras de Gestión de Proyectos, etc., en ocasiones, la cosa es aún peor. Ya os contaba en propongo eliminar las palabras “calidad software”, jamás volver a utilizarlas.
Con todo aquel que hablas este tema, todo el mundo te dice que no tiene sentido. Pero luego sigue siendo después de años y años la práctica de elección de proyectos y personas mas usada.
Así que decirlo, una y otra vez, y contar y explicar desde un lado y otro que contratar solo por precio no es razonable “porque al final el modelo se da la vuelta y el proyecto te va a costar el doble”, ni ponerle nombres llamativos (como deuda técnica u otros), ninguno parece ser la solución. No nos está funcionando después de tantos años.
Es un tema cultural, y esos temas son muy difíciles de cambiar. Aquí los negocios no se piensan con un horizonte de no más de 6 meses… “luego ya veremos”. Y quién decide las contrataciones… no comprende lo que cuenta este post ni, seguramente, lo leerá jamás.
Quizá la solución pase por un gran y tremendo caso de éxito o fracaso cercano a nuestro entorno.
Quizá estemos como en la fábula de la rana que muere hervida, aquella que se mete en una cazuela de agua fría, pero poco a poco se va calentando el agua, se pone tibia, y le parece agradable, pero la temperatura sigue subiendo, pero la rana no hace nada por salir… hasta que muere. Si la hubieran sumergido de golpe en agua a 100 grados… se habría salvado dando un brutal salto.