No es necesario aplicar tus nuevos conocimientos al instante


Tenía pensada una entrada un poco más larga sobre el ciclo de vida de Hibernate, pero al finalizar la reunión de AgileCanarias de este viernes entre caña y caña, surgió un tema muy interesante que me gustaría comentar en el blog.

Hay un comportamiento típico en la mayoría de desarrolladores (de software) que conozco, incluyéndome a mi mismo, que es la tendencia a utilizar todo lo que aprenden a la mínima oportunidad. Y esto está bien cuando no se trata de proyectos reales que están en producción. Por ahí se suele decir que si "tu única herramienta es un martillo, todos tus problemas se parecerán sospechosamente a un clavo", pues este es un caso bastante similar pero en la otra cara de la moneda. Si te compras un taladro, estarás como loco buscando donde hacer un agujero, cuando lo que necesitas es apretar un tornillo.

Voy a dar una pequeña lista de razones por las que se debe andar con mucho ojo antes de aplicar una nueva técnica, herramienta, metodología o similar.

  • Cuando utilizas nuevas aproximaciones que acabas de aprender, generalmente no conoces todas sus implicaciones. Siempre es mejor probar en un pequeño toy project (ver Apprenticeship Patterns) o hacer un spike, antes de usar dichas aproximaciones en "la vida real".
  • Como continuación del punto anterior. Las nuevas "herramientas" siempre vienen con su "manual de instrucciones", que deberíamos al menos ojear aunque hayamos visto como la utilizan otras personas, porque puede que la estemos utilizando incorrectamente.
  • Lo normal es buscar entre todas nuestras herramientas cual es la adecuada para hacer un trabajo, no buscar cuál es el problema adecuado para utilizar una determinada herramienta. Si lo hacemos de la segunda manera por norma general llegaremos a lo que se suele denominar sobre-ingeniería y tendremos código que al final nunca se utiliza. En el peor de los casos tendremos una solución que no es la adecuada, no escala bien o no cumple su objetivo con eficacia.

Yo creo que esto sucede porque asoma el pequeño ingeniero/científico, o como lo quieras llamar, que llevamos dentro. A veces necesitamos algo nuevo que nos llame la atención, que nos entretenga, que despierte de nuevo nuestro interés innovador. Pero por el bien de nuestro yo futuro, será mejor hacer algunas pruebas iniciales en un toy project, y pensar con la cabeza fría cuales son las mejores herramientas de las que disponemos para nuestros problemas actuales.

Si es algo que te ha pasado alguna vez, te sientes identificado, piensas que es una tontería o que simplemente este artículo es una chorrada, no dudes en dejar tus comentarios :-D

Share: Twitter
Yeray Darias's Picture

About Yeray Darias

Software developer, I am like The Wolf, I solve problems (and I bake cookies)

Madrid, Spain https://ydarias.github.io