← Back to my blog

5 libros que todo programador deberia leer y algunos extras


La semana pasada escribí un artículo analizando mis primeros 5 años en desarrollo y dando algunas recomendaciones, una de mis sugerencias fue ¡Siempre lea libros técnicos!. Mucha gente mostró interés en el tema, así que decidí escribir el siguiente artículo sobre los libros que creo que son los más útiles para los desarrolladores.

Si estas interesado en el primer artículo, puedes leerlo aquí!.


Siempre preferí los tutoriales y los cursos en línea, pero desafortunadamente no cubrirán el conocimiento fundamental que llevará sus habilidades de desarrollo a un nivel completamente nuevo. Durante los últimos 2 años he estado comiendo libros técnicos, uno tras otro, tratando de implementar lo que leo en mi trabajo diario. He visto que la calidad de mi código mejoró mucho, y también noté muchos errores que estaba cometiendo, lo que me hizo crear mejores estándares para mí y perseguir el dominio de mi oficio. Ahora pienso en cuánto tiempo ‘perdí’ antes de comenzar a leer este tipo de libros y deseó haber empezado antes, espero que este artículo te dé una ventaja en el camino para ser el mejor desarrollador que puedas ser.

1. Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin)

clean code

Este libro es un comienzo increíble, definitivamente lo consideraría el primero. Abarca varios temas como dependencias, nombres de métodos y clases, comentarios, pruebas. En mi caso, cuando leí este libro, inmediatamente me sentí como un idiota, sentí que estaba haciendo todo mal, básicamente sacudió todo lo que creía saber sobre la creación de software. Creo que después de leer esto, mi código es más fácil de mantener, verificable y se explica por sí mismo.

El libro también está muy bien escrito, lo que hace que sea increíblemente fácil de leer varias veces.

2. The Pragmatic Programmer, your journey to mastery (Dave Thomas and Andrew Hunt)

prag prog

Ya salió la edición 20 aniversario de este clásico, leí la versión original hace 2 años. Fue mi primer libro técnico y fue uno bueno, a la altura de Clean Code.

Este libro está lleno de sorprendentes consejos muy simples que podes hacer para mejorar su software, desde cómo manejar las pruebas y refactorizaciones, hasta la creación de herramientas automatizadas, para evitar la duplicación. Tiene un buen consejo tras otro. El libro también está escrito usando estudios e historias como ejemplos que hacen que estos consejos sean fáciles de entender e interiorizar.

3. The Clean Coder: A Code of Conduct for Professional Programmers (Robert C. Martin)

The clean coder

Sí, otro de Robert C. Martin o “Uncle Bob” como le suelen llamar. Es un tipo con opiniones fuertes y una pasión contagiosa por el software. Este libro trata sobre esa pasión, trata sobre cómo debemos manejar todos los pasos para crear y mantener software e intenta crear un conjunto de principios que todos los desarrolladores deberían aplicar. Realmente creo que esto también es una necesidad para todos los desarrolladores, en mi caso me hizo cuestionar mi propia profesionalismo y me inspiró a llevar mis acciones diarias en el trabajo de manera diferente.

4. Working Effectively With Legacy Code (Michael Feathers)

Working effectively with legacy code

El título del libro parece ser todo lo que puedas necesitar, ¿verdad? Al menos eso es lo que pensé cuando lo vi. ¿No siempre trabajamos con código legacy? ¿Estás en un proyecto nuevo sin pruebas, así que esto no te concierne?

Después de leer este libro, verás el código legacy de una manera muy diferente y este libro agregará toneladas de herramientas a su cinturón sobre cómo llevar ese código legacy a una era de gloria. También es uno de esos libros que te hace pensar que estabas haciendo todo mal, hasta el punto de sentir vergüenza por el software que estás creando. Es en ese punto que sucederán grandes mejoras.

5. Test Driven Development By Example (Kent Beck)

TDD by example

Esto podría ser un poco controvertido, habrá dos tipos de argumentos aquí. El primero: “¿Realmente necesito pruebas?” Te sorprendería saber cuántos desarrolladores no prueban su código en 2019. No se dan cuenta de que parte del desarrollo es proporcionar una forma repetible de mostrar la correcta ejecución (o la NO falla) de sus programas.

El segundo argumento es si realmente se necesita Test Driven Development. Es posible que esté haciendo pruebas después de compilar el software y pensar que es lo mismo, pero no lo es. TDD te ofrece algunas características que no obtendrás si realizas las pruebas después del código, particularmente una confianza total en su conjunto de pruebas que te permite realizar refactorizaciones con facilidad, ayudando automáticamente a que tu código mejore. Después de leer este libro, comprenderás las diferencias. Lo que no entenderás es cómo estabas produciendo software sin él.


Ese es mi top 5, tengo más, mucho más, pero creo que estos son imprescindibles. Por lo general, no leo libros tecnicos sobre una tecnología específica, la tecnología se mueve tan rápido que ese tipo de libros están desactualizados la mayoría de las veces en el momento en que salen, descubrí que es mejor obtener conocimiento que pueda ser agnóstico a la tecnología utilizada para implementarlo.

En caso de que ya leas esos, voy a dejar aquí algunos enlaces rápidos a otros que leí y realmente disfruté.

Refactoring: Improving the Design of Existing Code (Martin Fowler)

Adaptive Code: Agile coding with design patterns and SOLID principles (Gary McLean Hall)

Clean Architecture: A Craftsman’s Guide to Software Structure and Design (Robert C. Martin)

Structure and Interpretation of Computer Programs (Harold Abelson and Gerald Jay Sussman with Julie Sussman)

Design Patterns: Elements of Reusable Object-Oriented Software (Gang of Four)

Head First Design Patterns: A Brain-Friendly Guide (Eric Freeman and Elisabeth Robson)

Si necesitas una recomendación de libro, hácemelo saber, siempre hay algo nuevo en mi biblioteca 😀.

Muchas gracias por tomarte el tiempo de leer este artículo, ¿ya has leído alguno de estos libros? Me encantaría leer tu opinión en los comentarios. ¿Tienes una recomendación de libro para mí? No dudes en hacérmelo saber.


Hola, soy Patricio Ferraggi Ares

Soy un developer autodidacta Argentino que actualmente vive y trabaja en Bélgica. Intento mejorar diariamente, mientras ayudo a otros a hacer lo mismo.


...

Más artículos

← Back to my blog