The Pragmatic Programmer es simplemente perfecto.

2023-08-12

Desarrollo

Después de 10 años trabajando en Software y miles veces que me recomendaron este libro me digne a leerlo y me arrepiento de no haberlo leído antes, que libro hermano. Yo lo leí de principio a fin y en secuencia, pero puedes leer los capítulos en el orden que quieras porque cada capítulo trata temas diferentes, están relacionados entre sí, pero no tienen precedencia digamos. En líneas generales, The Pragmatic Programmer te enseña y te da estrategias para resolver problemas que tenemos todos los días cuando estamos trabajando en desarrollo de software. No solo te enseña como afrontar desafíos técnicos, sino también como desarrollar ciertas habilidades que no son tan blandas como pensamos.

El libro va desde puntos y tips que son muy individuales, hasta como trabajar en equipo, como tratar con clientes finales, cómo aprovechar reuniones, técnicas para hacer pair programming, gang programming, estrategias de testing, clean code, y varios temas más. A mediad que avanzas en el libro vas a ver que todos los temas, los consejos y las estrategias que plantean pudiste haberla aplicado en alún momento de tu carrera, a mí me pasó, cuando leía ciertos puntos me acordaba de algún proyecto en el trabajé y hasta en mi proyecto actual.

Ser un Pragmatic Programmer es, en mi opinión, una mentalidad, una forma de manejarte en tu oficio de programación. Esta mentalidad se construye con el tiempo, con experiencia y construyendo hábitos con los que automatizamos ciertos comportamientos. En este sentido, The Pragmatic Programmer hace una comparación que me gusto mucho, plantea que un programador es como un carpintero porque el carpintero tiene una serie de herramientas que aprende a utilizar con eficiencia al pasar de los años, hasta un punto en el que ya prácticamente son una extensión de sus manos. El carpintero tiene su herramienta favorita, una con la que ha trabajado por muchos años y que aunque compre herramientas nuevas nunca van a ocupar su lugar; el carpintero quiere y cuida mucho sus herramientas porque son las que lo hacen productivo.

De esta misma manera nosotros también tenemos nuestras herramientas, un editor de texto que es el que más nos gusta, una terminal en particular, algunas herramientas dentro de la terminal que usamos muy seguido. Por eso, es superimportante que uno, conozcamos y dominemos nuestras herramientas, y dos, que las customicemos y cuidemos a nuestro gusto; al final de todo nadie va a querer pasar más de ocho horas viendo una pantalla o utilizando un IDE que no te gusta.

Un tip que se me quedó grabado fue el de tener un diario de ingeniería, una libreta donde anotas todo lo que haces en el día, donde dibujas diseños y diagramas, tienes notas de las reuniones a las que vas y hasta apuntas como solucionaste algún problema. Yo hacía esto usando Sublime Text, ojo, tremendo editor de texto, pero la verdad que hace un tiempo me cambie a usar papel y lápiz y el resultado ha sido notable, en parte porque las notas en el editor de texto se pierden y se acumulan y terminas con cien pestañas en tu editor que nunca lees.

Otra cosa que recomienda y que empecé a practicar es la de automatizar lo más que puedas, escribir un script que haga por ti, las tareas que son rutina en tu día a día en la oficina, buscar aplicaciones que puedan encargarse de algunas tareas por ti, como dice el libro, el poder de la automatización es tremendo.

The Pragmatic Programmer no solo tiene tips y recomendaciones, tiene ejercicios y desafíos prácticos para que apliques los consejos que te acaban de dar y así tampoco quedan en el aire. Ya para cerrar una de las características claves de un "Pragmatic Programmer" es que duda siempre de todos y de todo, hasta de si mismo, no con ánimos de desconfianza, sino de siempre tener toda la información necesaria para ser excelente en lo que hace.

Este post tiene dos o tres puntos de muchos que tiene The Pragmatic Programmer, hay muchos más que los voy a profundizar porque creo que deberían estar en su propio post. Bueno, aquí les dejo un link si quieren buscar el libro The Pragmatic Programmer