A reading list for software developers
, Marblehead, MAThese are books that I recommend for software developers.
Must read
- Design Patterns: Elements of Reusable Object-Oriented Software. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides.
- Refactoring: Improving the Design of Existing Code. Martin Fowler.
- Working Effectively with Legacy Code. Michael Feathers.
- The Design of Everyday Things. Don Norman. (I read the first edition.)
- Extreme Programming Explained: Embrace Change. Kent Beck.
- The Goal: A Process of Ongoing Improvement. Eliyahu M. Goldratt.
Programming
- Design Patterns: Elements of Reusable Object-Oriented Software. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides.
- Refactoring: Improving the Design of Existing Code. Martin Fowler.
- Working Effectively with Legacy Code. Michael Feathers.
- Coders at Work: Reflections on the Craft of Programming. Peter Seibel.
- The Pragmatic Programmer: From Journeyman to Master. Andrew Hunt, David Thomas.
Languages
C
- The C Programming Language. Brian W. Kernighan, Dennis Ritchie.
C++
- The C++ Standard Library - A Tutorial and Reference. Nicolai M. Josuttis. (I have the first edition.)
Java
- Effective Java. Joshua Bloch.
JavaScript
- JavaScript: The Good Parts. Douglas Crockford.
Perl
- Programming Perl. Brian D. Foy, Tom Christiansen, Jon Orwant, Larry Wall. (I read the second edition.)
Python
I defer to Jesse Noller’s Good to Great Python Reads.
User interfaces
- The Design of Everyday Things. Don Norman. (I read the first edition.)
- The Humane Interface: New Directions for Designing Interactive Systems. Jef Raskin.
- Don’t Make Me Think: A Common Sense Approach to Web Usability. Steve Krug.
Project management
- Extreme Programming Explained: Embrace Change. Kent Beck.
- The Goal: A Process of Ongoing Improvement. Eliyahu M. Goldratt.
- Critical Chain: A Business Novel. Eliyahu M. Goldratt.
- Measuring and Managing Performance in Organizations. Robert D. Austin.
Product management
- The Innovator’s Dilemma: The Revolutionary Book That Will Change the Way You Do Business. Clayton M. Christensen.