La lista de libros que más me ha hecho crecer como dev
Mi nombre es Miguel A. Gómez, soy emprendedor y developer especializado en la calidad del software y en blockchain.
He sido consultor en proyectos grandes, medianos y pequeños, he co-fundado varias startups y he ayudado a cientos de programadores de decenas de empresas a escribir código más sostenible.
Quizás esto no te diga nada y haces bien.
Por cierto, cuando hablo de código sostenible me refiero a código fácil de mantener. Y con fácil de mantener quiero decir sencillo de cambiar.
Hay una verdad absoluta en el software: y es que si un proyecto tiene cierto éxito cambiará.

Llevo desarrollando software desde hace más de 20 años, pero bueno no te voy a contar mi vida ahora…
Si quieres saber más sobre mi es aquí.
Los libros...
Dicen que es mejor leer un buen libro 10 veces que leer 10 libros una sola vez.
Así que voy a compartir contigo los que para mí son los mejores libros de programación o al menos los que más influyeron en mi carrera como desarrollador.
Y lo que más valor tiene, el por qué.
Esta lista me ha costado diseñarla porque hay libros que en su momento cambiaron profundamente mi carrera, pero ahora creo que hay alternativas mejores.
Quería que fueran 10, pero al final ha entrado alguno más.
Y eso que he dejado fuera librazos como The nature of Software Development, Composing Software, The Art of Computer Programming, Clean Architecture, Growing Object-Oriented Software (GOOS) o los libros rojo y azul del DDD…
Y otros sobrevalorados como Clean Code o el libro de patrones del Gang of Four.
No te voy a poner ningún enlace de afiliado ni nada por el estilo, si alguno te interesa búscalo y cómpralo dónde te apetezca.
Ahí van:
1. Introduction to algorithms

Memorizar algoritmos es útil a corto plazo, entender por qué funcionan es lo que realmente transforma tu forma de pensar — Robert Sedgewick
El primer libro de programación que cayó en mis manos fue Algoritmos en C de Robert Sedgewick allá por el 2003.
Si, empecé a programar por el camino duro (durísimo) diseñando listas enlazadas, árboles y algoritmos de búsqueda en C.
Aún recuerdo lo que me costó aprobar la asignatura de Introducción a la programación en Ingeniería...
Ahora mismo si te tuviera que recomendar un buen libro de algoritmia evidentemente no sería ese, sino Introduction To Algorithms de Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest y Clifford Stein.
Un libro que mantiene un buen equilibrio entre rigurosidad y simplicidad.
2. Pragmatic Programmers

Si toleras malas prácticas, el código desorganizado o los diseños mal planteados, envías el mensaje de que la calidad no es importante — David Thomas.
Este fue el primer libro que cambió mi manera de ver la programación.
Hace más de 15 años que lo leí por primera vez.
Me enseñó que no basta con "hacer que funcione", también hay que asegurarse de que el código sea simple y sostenible a largo plazo.
Hoy no te recomendaría la primera edición del libro ya que tiene bastantes cosas obsoletas, pero la edición 20 aniversario está muy bien.
3. Code Complete

No puedes escribir un buen código si no entiendes lo que eso significa — Steve McConnell.
Librazo.
Es un libro que, si te lo tomas en serio, te obliga a cuestionarte cada línea que escribes.
Te enseña que no hay atajos: la única forma de mejorar tu código es practicar, reflexionar y volver a practicar.
4. Implementation Patterns

La simplicidad es la esencia del buen diseño — Kent Beck
Otro imprescindible para entender la importancia de dejar de lado la complejidad innecesaria y centrarte en escribir código simple.
Los principios y patrones de los que habla Kent Beck en este libro fueron para mi un antes y un después.
5. Test Driven Development By Example

TDD no es escribir tests primero, es diseñar software de manera iterativa con feedback constante
Este libro me abrió los ojos a la importancia de usar las pruebas no solo como una red de seguridad, sino como una herramienta de diseño.
Aunque si solo pudiera recomendarte un único libro sobre TDD ese sería el de mi socio y colega Carlos Blé.
En breve te cuento más sobre su libro.
Pero antes hablemos del mío.
6. Clean JavaScript

Programar es el arte de decirle a otra persona lo que quieres que la máquina haga
Sin duda el libro que más ha influenciado en mi carrera profesional es mi propio libro.
Que aunque no es el mejor, dicen que está muy bien…
Y es que pocas cosas son tan potentes para tu marca personal cómo publicar tu propio libro…
La primera edición la publiqué en 2019, antes de que las estanterías se llenaran de libros escritos por ChatGPT.
Por cierto, aunque el libro se llama Clean JavaScript los ejemplos son en TypeScript…
Si te interesa aquí tienes el enlace:
Clean JavaScript
Aprende a aplicar Clean Code, SOLID y Testing
7. Diseño Ágil con TDD

Un código simple, testado, expresivo y explícito, es capaz de transformar la visión de cualquier developer sobre lo que significa programar — Carlos Blé
Aún recuerdo con mucho cariño aquellos momentos en el jardín de los suegros de Carlos, donde cada uno escribía su libro mientras tomábamos té y charlábamos sobre código.
En ese momento estábamos sembrando la semilla (sin saberlo) de todo lo que vendría después con las formaciones de Testing, Diseño y Refactoring Sostenible.
El libro es una gozada, de lo mejor que hay sobre Testing y TDD y encima en apenas 140 páginas.
Por cierto, Carlos Blé es mi socio en mis principales cursos online, pero de esto te hablaré en otro momento.
Aquí tienes el enlace a su libro: Diseño Ágil con TDD
8. The Software Craftsman

La mejora continua no es opcional para un buen desarrollador, es una obligación moral.
Gran libro de Sandro Mancuso.
Libro con el que entenderás por qué Agile, Scrum y toda esa parafernalia no es suficiente para escribir código de calidad.
Me gustó tanto que cuando fundé mi última empresa en el año 17 la llamé Software Crafters.
9. Domain Modeling Made Functional

La programación funcional no es un fin en sí misma, es una herramienta para construir software más seguro, expresivo y fácil de mantener. — Scott Wlaschin
Sin duda el mejor libro de DDD que existe y además aplicado a la programación funcional.
La manera en la que Scott Wlaschin se apoya en el sistema de tipos para modelar la realidad es brutal.
El único "pero" es que el libro está escrito en F# y esto podría ser una barrera de entrada para muchos desarrolladores.
10. Effective Haskell

Monadas: difíciles de entender, imposibles de olvidar.
La primera vez que caí por la madriguera de Haskell y de las mónadas fue allá por el 2015, en ese momento literalmente me explotó la cabeza.
De aquellas el libro que estudié fue el mítico Learn you Haskell.
Pero si hoy tuviera que recomendarte uno para profundizar en la programación funcional con Haskell sin duda sería Effective Haskell de Rebecca Skinner.
11. Código Sostenible

Programar para la sostenibilidad es mucho más que «picar código», es una labor de equipo que requiere disciplina, atención y respeto — Carlos Blé.
Este libro de Carlos Blé me lo habré leído fácilmente unas 10 veces, sin duda el mejor libro de programación en Español.
Un honor haber participado en la revisión de cada versión.
Aquí tienes el enlace: Código Sostenible
12. Refactoring, Improving the Design of Existing Code

Cualquiera es capaz de escribir código que una máquina pueda ejecutar. Los buenos programadores escriben código que otras personas pueden entender — Martin Fowler.
Qué decir del mítico libro de Fowler.
Pues simplemente que es un must.
Sobre todo la primera versión, la de 1999. La última versión, la de 2018, no es tan buena como la original.
Todos los libros que te he recomendado en este documento no solo los he leído varias veces sino que también los tengo en papel.

PD. Si, el libro de la esquina inferior derecha es el mío, te vuelvo a dejar por aquí el link por si te pudiera interesar:
Clean JavaScript
Aprende a aplicar Clean Code, SOLID y Testing
PD2. Respóndeme al email y cuéntame si conocías algunos de estos libros...