Leí sobre lo siguiente en algún sitio hace tiempo, y con el tiempo he comprobado que es una gran verdad y que funciona. La historia original estaba aplicada a empresas en las que el equipo directivo le pedía trabajos a los programadores, pero en realidad es aplicable a cualquier trabajo en el que se pidan cosas a programadores o ingenieros de cualquier tipo. La cuestión es que cuando se necesita que los ingenieros o programadores hagan algo, no hay que decirles qué es lo que tienen que hacer, sino más bien explicar cuál es el problema a resolver, planteado como un reto.
A los programadores e ingenieros lo que les gusta es resolver problemas, no funcionar como robots. Eso es aburrido. Si se les obliga a hacer algo de una forma determinada, eso no les permite meditar sobre el problema, ni ser ingeniosos, inventar y resolver, que es su principal cualidad. Cualquier otro podría hacerlo y eso pierde su gracia. En cambio, planteado como problema sin aparente solución supone todo un reto para el ingeniero, es más satisfactorio de investigar y resolver y finalente se obtiene el mismo resultado.
En Star Trek, el capitán Kirk normalmente le decía a Scotty algo así como que la nave estaba en problemas y que necesitaban impulso factorial en menos de cinco minutos para escapar de los romulanos. No le decía «Scotty, tenemos que escapar, creo que debería colimar la cámara de dilitio con el distorsionador trifásico». Si Kirk le ordenara qué hacer, Scotty estaría fastidiado continuamente. Sería un infeliz y mandaría a freir espárragos a Kirk en cada capítulo. El Enterprise sería chatarra antes de que hubiera terminado la primera temporada. En cambio, planteado como un reto, Scotty le daba una pensada rápida, inventaba la solución, colimaba el dilitio y problema resuelto, la nave estaba a salvo.
Actualización: Sensei Garfi envía un enlace a BrainDeath by Micromanagement: The Zombie Function que es un artículo interesante sobre el tema, con un gráfico estupendo relativo a jefes que quieren controlar cada detalle del trabajo, convirtiendo a la gente en empleados zombies.
Raul dice se plantea en redondear:
¿Por qué en las universidades se fuerza al alumno a usar en cada asignatura un determinado lenguaje de programación, o un determinado Sistema Operativo? ¿No es mejor que a partir de una base teórica, el alumno busque soluciones a problemas? ¿Por qué no se fuerza al alumno a ser ingenioso y no a ser ingeniero? No lo verán mis ojos, y deambularé como un zombi.