¿Por qué apesta programar? vía @medium

Una interesante crítica a nuestro arte-disciplina-trabajo

Si, es cierto, es difícil predecir el futuro, pero tampoco es imposible.

El problema de los ingenieros novatos es que escriben mucho código para hacer algo simple que se puede hacer con una linea de código.

Por ejemplo: un caché se puede implementar con una línea de código. He visto caches hypercomplejos y que más encima requieren cambiar todo el código y para más remate hacen que el comporta.iento del programa cambie…

El problema descrito en el artículo es que los requerimientos cambian de manera impredecible… Es verdad, es impredecible, pero la experiencia dice que aquellas cosas parecidas siempre cambian, es decir, debes reconocer patrones… Y aquellas cosas que cambiaron una vez, lo más probable es que cambien de nuevo…

De modo que ahí pones un patrón de diseño que te ayude a cambiar la implementacion, el algoritmo, etc.

La razón del cambio es que el requerimiento no se entiende… O el jefe de proyecto se da cuenta de que el proyecto terminara antes… Y para evitar el reto… O la pérdida del bono… Necesita retrasarte… Te cambia el requerimiento y de esa manera te retrasa…

Lo lógico es que si logra reducir los tiempos a la mitad reciba un suculento bono… Pero la ingeniería financiera lo impide…

“Lots of rework happens because of miscommunications with the user. Other times, the user doesn’t fully understand their problem (there’s not much we can do about this),”

Hay una manera simple de saber si el suaurio sabe de lo que esta hablando: muestrame un ejemplo.

Generalmente el ejemplo se demora… Y cua do te lo entregan, lo revisas y esta malo…

Luego sólo queda depurar los ejemplos entregados…

Eso sirve como requerimiento…