¿Se han dado cuenta de que los programadores solo tienen
tres unidades de tiempo?
Para ellos solo existen los 15 minutos, las dos semanas o
los seis meses, y además, creen que en estos tres espacios de tiempos se puede
hacer cualquier cosa. Por ejemplo, pídanle a un programador cambiar la cabecera
de un listado, su respuesta será “unos 15 minutos”. Si se le solicita
modificar el proceso de facturación nos dirá que tardara “un par de semanas”. En
cambio, para una aplicación de facturación totalmente nueva, tendremos que
esperar “unos seis meses”.
A veces, por supuesto, existe un previo del tipo “Hummmmm,
deja que lo piense y ya te diré algo”. Pero ya sabemos cuáles pueden
ser las respuestas posibles, nunca será 20 minutos o tres semanas u ocho meses.
Bien, una primera valoración de este fenómeno “temporal” me lleva al pensar que el escribir programas,
con toda la complicación que conlleva, desequilibra las neuronas relacionadas
con la medición del tiempo. También puede haber un componente genético, es
decir, que el mismo grupo de genes que hacen que una persona sea un buen
programador hacen que tengan dañado el sentido del tiempo.
Pero últimamente he llegado a la conclusión de que el
problema no se limita solo a la simple medición del tiempo, sino que es mayor y
más generalizado. Creo que los programadores se encuentran tan absorbidos por sus proyectos que pierden el sentido de la
realidad así como cualquier contacto con experiencias relacionadas con el mundo
real. Veamos una situación típica. Cuando le preguntamos a un programador que
se encuentra enfrascado en su trabajo si quiere o puede ir a comer, la
respuesta lógica seria: “No me esperes, si no consigo solucionar
este problema rápidamente, me volveré loco”. En cambio su respuesta es “De acuerdo, vuelvo a compilar el
programa y ya estoy listo”.
Por supuesto que no hará falta solo una compilación más.
Probablemente las compilaciones necesarias sean diez, veinte o treinta. Pero ¿Están
estos programadores desorientándonos de forma deliberada?. Pues no, ellos creen
realmente que al programa solo le hace falta una compilación más. Estas diez,
veinte o treinta compilaciones no son vistas por el como un conjunto de
compilaciones acumuladas, debido a que no ve las cosas de forma lineal. En su
mente no hay treinta compilaciones sino que hay treinta “una más” compilaciones. Y hasta que la compilación ha terminado, será
mejor dejar una manta que cubra al programador y a su pantalla.
Para otro ejemplo de esa falta de contacto con la realidad
de los programadores, veamos la habilidad que tienen para estimar la
complejidad de una tarea así como la predicción del tiempo que tardaran en
hacerla. Si se le consulta a un programador sobre la posibilidad de hacer una
tarea así como la predicción del tiempo que tardaran en hacerla. Si se le
consulta a un programador sobre la posibilidad de hacer un determinado trabajo
las respuestas posibles son: “Hombre, esto es como coser y cantar”
o “
Me lo mirare, pero en principio creo que se puede”.
¿Por qué ven las cosas tan fáciles? ¿No se acuerdan de las
interminables noches sentados frente a la pantalla compilando solo una vez más?
¿Por qué sencillamente no pueden decir no? “No José, dadas las actuales circunstancias
presupuestarias restrictivas, los compromisos previos y el alcance del
proyecto, no creo que esta solicitud sea factible actualmente”. Si algún
día escucháis a algún programador que diga algo parecido a la frase anterior,
lo más correcto sería que lo comunicarais para incluirlo en el libro delos
guiness de los records. Esta visión cambiada del mundo es el resultado que se
obtiene cuando un programador picotea en un teclado y clava la vista en una
pantalla durante periodos de tiempo interminables, con un editor de programas y
un depurador como sus mejores amigos.
Pero puede que se pregunten ¿Por qué los programadores dejan
que esto pase? Creo tener las respuestas: los programadores son como un
escalador de montañas, como un corredor de carreras de motos o de coches. Los
programadores viven por y para las emociones fuertes. La emoción de escribir un
nuevo programa que domine con éxito una maquina enorme, cara y compleja. Cada
nuevo proyecto representa una oportunidad de conseguirlo, y como el último
proyecto ya funciona correctamente, uno nuevo representa otro reto al que
vencer. Esta es la realidad de los programadores.
No hay comentarios:
Publicar un comentario