Muéstrame tus herramientas y te diré quién eres

Este artículo es el primero de una serie en la que iré compartiendo trucos, consejos, utilidades, pequeñas herramientas y técnicas que pueden facilitar y agilizar enormemente el desarrollo. Al igual que un albañil o un electricista tiene sus herramientas, un desarrollador también las debe tener y dominar a fondo. Podemos tener herramientas comunes y básicas pero muchas veces la diferencia la marcan esas herramientas especializadas que a veces te ahorran tiempo, a veces te hacen más productivo, a veces aportan una mayor precisión o que simplemente eliminan la monotonía de una tarea.

Una herramienta puede parecer extremadamente simple como lo podría parecer una simple espátula, pero son pocos los que dominan las técnicas de cintado para montar una pared de pladur perfecta. Es muy importante tener las herramientas adecuadas pero más aún conocer a fondo cómo y cuando usarlas.


Es importante ser selectivo y cuidadoso con las herramientas que uses, conocerlas a fondo hasta el punto de poderlas adaptar para que se ciñan completamente a tu circuito productivo y de desarrollo.

Uno de los criterios más importantes a tener en cuenta al añadir una herramienta a nuestra caja de herramientas es que sea una herramienta que nos ayude a mantener el foco en lo realmente importante, que nos permita focalizar gran parte de nuestro tiempo en esas tareas donde aportamos mucho valor, valor real; una herramienta que nos aleje de tareas más banales que se puedan automatizar, realizar en menos pasos, en menos tiempo o que directamente se pueda prescindir de ellas.

Como Software Craftsmen, añadir valor, tiene que ser uno de nuestros principales valores. El usar las herramientas adecuadas nos permitirá maximizar esta aportación.

Otro de los grandes criterios a tener en cuenta es que sean herramientas fáciles de empezar a usar y nada intrusivas, que no tenga que cambiar lo ya existente en mi código o que su uso puede interceder con otras herramientas o con el propio código.

Personalmente cuando me encuentro llevando a cabo una tarea repetitiva o que mi cabeza cree que se podría realizar de forma más rápida o disfrutando más del camino, me estresa, me pone nervioso. Hay muchas tareas que por su propia naturaleza inducen a errores humanos (tareas repetitivas, varios pasos, monótonas, o simplemente que no nos gustan). Cuántas veces te has olvidado de subir un fichero al directorio adecuado y ha fallado algo? Cuántas veces te has olvidado de lanzar la tarea de regeneración de código? Cuánto tiempo has perdido añadiendo trazas insignificantes en el código con mensajes tan ortodoxos como “Estoy aquí 1”, “Ahora estoy en esta línea”, “y ahora ya he llegado aquí”, etc.? Cuántas veces te has olvidado de regenerar tus css a partir de tu fichero Sass o Less? Cuántas veces subes algo a producción y te olvidas de hacer alguno de los pasos que tocaría y subes algo que que está mal? Cuántas veces introduces regresiones en tu código? Cuántas veces al día dices la frase “Pues en mi ordenador funciona, es culpa de tu ordenador”...

¿Y tú? ¿Qué herramientas, utilidades y técnicas ninja has ideado y usas con frecuencia?

Portada de Genbeta