Recopilamos una serie ‘must read’ de los libros más recomendados para desarrolladores. No son obras con las que aprender un lenguaje de programación específico, sino que se trata de textos que se apoyan en los fundamentos de la programación de calidad y la agilidad y que aportan un valor transversal.
Muchos de ellos están dirigidos al “artesano de software” y entienden la programación como un arte moderno, un trabajo minucioso que requiere de atención, dedicación y cuidado del detalle.
Estos son los 10 libros imprescindibles que te ayudarán a convertirte en mejor programador:
Qué vas as ver en esta entrada
1. Code Complete (2ª edición)
En 2004 se editó la segunda versión de este libro, escrito por Steve McConell en 1993 y considerado uno de los clásicos. A lo largo de más de 900 páginas, el autor ahonda en las mejores prácticas de programación y en cómo estas influyen en el éxito del proyecto.
Independientemente de tu nivel o experiencia programando, Code Complete te dará las claves para triunfar con tu código.
2. Introduction to Algorithms
Se trata de un manual de estudio con información completa y rigurosa sobre diseño y análisis de algoritmos y estructuras de datos avanzadas. Además incluye multitud de ejercicios para comprobar los conocimientos adquiridos. En Github puedes encontrar un repositorio de soluciones.
3. Design Patterns: Elements of Reusable Object-Oriented Software
En este libro hallarás una guía detallada de los diversos patrones de diseño que se han desarrollado con el objetivo de solucionar problemas comunes y recurrentes al programar una aplicación. Gracias a las estrategias que plantea Design Patterns podrás crear software de mayor calidad, flexible y fácil de mantener.
4. The Mythical Man-Month
Basándose en su experiencia en IBM como gestor de un gran proyecto de desarrollo, Fred Brooks se centra en los problemas organizacionales de los proyectos y en cómo gestionar a las personas involucradas en ellos, derribando mitos y exponiendo problemas habituales en el trabajo del desarrollador y la industria IT.
Una obra imprescindible para cualquier persona involucrada en proyectos de desarrollo de software.
5. Structure and Interpretation of Computer Programs
SICP presenta conceptos fundamentales de programación, pero lo que realmente enseña es la habilidad de pensar la programación, mejorando la capacidad de identificar y razonar sobre diversos problemas y aprendiendo nuevos paradigmas (programación imperativa, declarativa, orientada a objetos y funcional).
El libro nació como manual de texto para el curso de introducción a la programación del MIT y posteriormente se ha empleado en cursos de otras universidades. Puedes encontrarlo íntegro en la web del MIT.
6. Clean Code
Un código mal escrito está en las antípodas de la agilidad. Por eso, este es un libro de referencia de todo buen programador. En él, Robert C. Martin divide el tema en 3 partes:
- Comienza con la definición del concepto (legibilidad, organización y certeza de funcionamiento) y con la descripción de los principios, patrones y prácticas para escribir código limpio.
- En la segunda parte, se incluyen diversos casos de estudio y ejemplos de complejidad creciente.
- Y finalmente, la recompensa. En la tercera parte, el autor recopila una lista de heurísticas, basadas en la observación y la investigación, para diferenciar el código correcto, identificar el que está mal escrito y solucionarlo de manera ágil.
- Clean Code te ayudará a producir mejor código: comprensible, organizado y eficaz.
7. Code Simplicity
Se trata de una guía concisa mediante la cual podrás comprender los fundamentos del buen diseño de software a través de principios que pueden aplicarse a cualquier lenguaje de programación o proyecto para conseguir código legible y reutilizable.
8. Working effectively with Legacy Code
Michael C. Feathers ofrece en este libro soluciones para resolver problemas de código legacy sin necesidad de reescribirlo por completo, con el objetivo de aprovechar al máximo los sistemas heredados.
El autor proporciona una guía útil sobre cómo utilizar estas estrategias al refactorizar o realizar cambios funcionales en las bases de código. Encontrarás ejemplos en Java, C++ y CSharp
9. The Pragmatic Programmer
El libro abarca una gran variedad de temas: desde la responsabilidad personal y el desarrollo profesional, hasta técnicas arquitectónicas para crear código flexible y fácil de adaptar y reutilizar.
The Pragmatic Programmer, escrito en 1999, tiene el honor de ser considerado precursor del manifiesto por la artesanía de software.
10. The Art of Computer Programming
De clásico en clásico, acabamos esta lista de obras imprescindibles para desarrolladores con otro de los libros que podemos llamar atemporales. Publicado en 1969 y escrito por el reconocido científico de computación Donald Knuth.
¿Has leído alguno de estos libros para desarrolladores? ¿Nos recomiendas algún otro?