Hace poco recordaba sobre todo lo que he aprendido el los últimos seis meses como aprendiz de programador, entre estas reflexiones pensaba sobre los elementos básicos que debía tener cualquier persona que se quisiera dedicar enserio al desarrollo profesional de software.

Creo que el tema da para muchísimos temas, pero uno fundamental del que quiero hablar es el de las herramientas. En este momento creo que la elección de tus herramientas de trabajo definen también el ritmo de tú trabajo.

Ya no estamos en la época de las cavernas, hoy en día contamos con herramientas para el desarrollo de software al alcance de nuestras manos que nos hacen más útiles, productivos y sin duda felices.

¿Qué herramientas considero esenciales y básicas para el desarrollador?

Aquí una ilustración hecha por mí:

This is me

1.- Un Sistema Operativo No sé si esto cuente exactamente como una herramienta, pero creo que es necesario hacer mención de que siempre es necesario conocer tu S.O. muy bien así sea un Windows, un linux (yo uso Ubuntu), o Unix (larga vida a Apple y sus MAC). Es indispensable para mí al día de hoy conocer cómo operarlo, así como tener prendida la llama de la curiosidad por querer conocer siempre un poquito más.

2.- Un editor de texto No fue hasta que lo ví con mis propios ojos que esto si hace la diferencia a la hora de codear, pues las funciones que te provea pueden darte mucha rapidez, y eso siempre es grato. Sublime Text por ejemplo tiene varias cosas interesantes como el multi-selector, y tiene un padre coloreado de sintaxis; sin embargo yo he elegido aprender VIM y tenerlo como mi arma de fuego principal, estoy encantado con él, a pesar de que fue complicado agarrarle el ritmo, pero con práctica pronto entrené a mis manos a manipular las combinaciones de teclas, y todas las funcionalidades que tiene me facilitan escribir, y me hace muy feliz usarlo. Fue una inversión que rindió muchos frutos.

3.- Shell’s Decía que había que conocer bien el S.O., pues creo que también es necesario saber operar la línea de comando, la primera razón de muchísimas: velocidad. Con un simple cd, ls, cd.. puedo entrar a una carpeta y ver lo que hay dentro sin necesidad de abrir el administrador de archivos, doble click, esperar, que cargue y muestre los archivos. Y a través del uso de la Shell podemos exprimir nuestro S.O. Hasta ahora he probado ZShell y FISH Shell, ambas ofrecen la posibilidad de exprimir más nuestra línea de comando a través de temas y plugins, como los de git. Adicionalmente podemos instalar el complemento de TMUX para poder sacar aún mucho más a nuestra consola sea cual sea. A mi en lo personal me ha gustado más usar FISH Shell por la función del auto completado, además de que me permite cambiarle el promt y poner emojis.

4.- Controlador de Versiones No hay duda, GIT es una herramienta que uso todos los días hasta para ir al baño. No puedo ver mi vida sin él. Al inicio es bastante complicado poder entenderle, puesto que necesita de dedicación, esfuerzo y estudio para poder ir entendiendo de qué trata. Sin embargo es una inversión obligatoria, y que brinda muchos beneficios, desde versionar código, hasta trabajar en equipo.

A grandes rasgos para mí son las principales herramientas básicas para iniciar a desarrollar software, y claro que existen muchas más.

Aquí comparto un pequeño tablero donde anotaba en pequeñas tarjetas de colores cada nuevo conocimiento, por muy pequeño que fuera, que ví las primeras diez semanas como desarrollador de software, y me queda muy claro algo: ¡Existe un mundo de muchas cosas por conocer!

Tablero