Qui si trova un bellissimo post di Billy McCafferty in un cui viene presentata una rassegna di libri che ogni programmatore professionista dovrebbe leggere.
Giusto due frasi dall’articolo che vi consiglio di leggere interamente:
“It is up to each of us to give software development the respect it deserves and educate those around us, accordingly.” e ancora “In a sense, this message is a call to arms for software developers to give our science the respect it deserves as expressed in our day to day work. We are engaged in a practice which the world is becoming more and more dependent upon; in all seriousness, there are few other sciences which will have as big an impact on the world in the coming century as computer science. The first step that each of us can take to better the integrity of our science and assist with its advancement is to pick up a book. ”
Mi permetto di inserire la lista nel mio blog perchè mi piacerebbe “spuntarla” (in bold blu) man mano che finisco di leggerne uno.
Foundational Texts
- Code Complete, 2nd Ed. by Steve McConnell
- Refactoring by Martin Fowler
- Refactoring Workbook by William Wake
- Applying UML and Patterns, 3rd Ed. by Craig Larman along with a companion text of UML Distilled, 3rd Ed. by Martin Fowler
- Object-Oriented Design Heuristics by Arthur Riel
Apprenticeship Texts
- The Pragmatic Programmer by Andrew Hunt
- Patterns of Enterprise Application Architecture by Martin Fowler
- Test-Driven Development by Kent Beck
- Refactoring to Patterns by Joshua Kerievsky
- Head First Design Patterns by the Freemans
- Design Patterns, for post-read reference
Journeyman Texts
- The Mythical Man-Month by Frederick Brooks
- User Stories Applied by Mike Cohn
- Agile Software Development or Agile Principles, Patterns, and Practices in C# by Robert Martin
- Applying Domain-Driven Design and Patterns by Jimmy Nilsson
- Rapid Development by Steve McConnell
- Extreme Programming Explained, 2nd Ed. by Kent Beck and/or Agile Project Management with Scrum by Ken Schwaber
- Introduction to Algorithms by Thomas Cormen
The Beginnings of Mastery
- Domain Driven Design by Eric Evans
- Working Effectively with Legacy Code by Michael Feathers
- Agile Estimating and Planning by Mike Cohn
- Lean Software Development by Poppendiecks and their companion text, Implementing Lean Software Development
Mastery Texts
- The Art of Computer Programming, Volume 1: Fundamental Algorithms, 3rd Ed. by Donald Knuth along with volumes 2, 3, 4 (and its derivative works)
- Concrete Mathematics: A Foundation for Computer Science, 2nd Ed. also by Donal Knuth
E dunque armiamoci e leggiamo