¿Existe una barrera infranqueable entre los programadores y el común de los mortales? ¿Qué factores contribuyen a que no nos entiendan?
Tengo un buen amigo que tiene un sitio web. Cuando quiere hacer algún cambio llama al “hechicero”, así es como denomina el a su programador; dice que el hechicero le da unos pases mágicos al site y ¡zas! todo funciona. A veces la web se “cae”, aunque no suele haber nadie recogiéndola, en ocasiones se “peta”, y otras veces simplemente “se le pira el panchito”.
Este es el primer motivo por el cual la gente odia a los programadores: la incertidumbre. A la gente le gusta que el futuro sea predecible. Obviamente no lo es. Pero les gusta pensar que existe alguna esperanza de que lo sea.
Los mejores programadores son reductores natos de la incertidumbre. Cogen un proceso de negocio mal definido, que nadie sabe muy bien cómo funciona ni qué calidad tiene o que resultados produce. Analizan dicho proceso, lo automatizan, y lo convierten en algo eficiente, repetible, medible y fiable.
La incertidumbre tiene que ver con los plazos y con la fiabilidad. Los programadores a menudo denominan una “beta” a algo que falla más que una escopeta de feria. Sus sistemas son “escalables” hasta que les entran 1 millón de consultas simultáneas y se va todo directamente a Alpedrete. En el PC del programador siempre funciona todo, pero tan pronto como sacas el programa y lo instalas en otro lado las malditas librerías “de terceros” lo fastidian todo.
El segundo factor por el cual los programadores tienen tan pocos amigos es la arrogancia. La mayoría de los programadores consideran a los usuarios como una especie de subhumanos. Yo creo que el programador medio consideraría de veras la opción de suicidarse si en un proceso al estilo de la Metamorfosis de Kafka un día empezase a convertirse lenta e inexorablemente en un técnico de marketing o de recursos humanos.
Un efecto secundario de la arrogancia es la tendencia crónica a subestimar el esfuerzo requerido para hacer las cosas. Aunque hay que reconocer que aunque se estime correctamente, siempre acaba llegando el jefecillo de turno y cortando los plazos a la mitad, con lo cual el resultado final es el mismo.
La arrogancia suele ir acompañada de una falta total de empatía y de sensibilidad sobre las reacciones emocionales que el software produce en los usuarios. Vale que la mayoría de las personas (usuarios o no) no son precisamente muy hábiles reconociendo y controlando sus emociones, pero en el caso de los programadores se junta el hambre con la gana de comer.
En tercer lugar, el informático medio es un tipo de ingeniero terriblemente poco riguroso y chapucero. Hay unos pocos profesionales serios, pero a la mayoría les pillas en un bug gordo a los 2 minutos de leerte su código. Muy pocos programadores tienen una conciencia clara de lo que significan cosas como resilencia y mucho menos usabilidad.
Siempre ha existido cierto conflicto entre los matemáticos puros, amantes del rigor, y el resto de los científicos como los físicos, más prestos a desarrollar un modelo experimental primero y cuadrar las matemáticas a martillazos después. Pero en ninguna rama ingenieril existen probablemente tanta tendencia a la ñapa (bueno, en la construcción de las casas hay aún más chapus, pero esto mejor ni pensarlo porque se echa uno a llorar).
Por último, existe ese regustillo marginal en el vestir. Escenificado en llevar camisetas negras de Debian con agujeritos, o algo peor. Los creatas son raros, y a menudo desaliñados, pero al menos normalmente estilosos. El programador típico podría trabajar de extra en una peli de Torrente y nadie notaría que no ha pasado por vestuario.