Last year, I made a list of Great Programming books. Here is an update to that list.
I have read and highly recommend the following:
- Fred Brooks, The Mythical Man-Month: Essays on Software Engineering
- Martin Fowler, Refactoring: Improving the Design of Existing Code
- Douglas Hofstadter, Godel, Escher, Bach: An Eternal Golden Braid
- Steve Krug, Don’t Make Me Think!: A Common Sense Approach to Web Usability
- Steve McConnell, Code Complete: A Practical Handbook of Software Construction
- Steve McConnell, Rapid Development: Taming Wild Software Schedules
- Donald Norman, The Design of Everyday Things
These are often recommended by people who have read the above:
- Alan Cooper, “The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity”
- Tom DeMarco and Timothy Lister , “Peopleware – Productive Projects and Teams”
- Martin Fowler, “Patterns of Enterprise Architecture”
- Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates, “Head First Design Patterns”
- Erich Gamma et al, “Design Patterns: Elements of Reusable Object-Oriented Software”
- Andrew Hunt and David Thomas , “The Pragmatic Programmer: From Journeyman to Master”
- Bertrand Meyer, “Object-oriented Software Construction”
Other people’s ideas about great programming books:
- Jeff Atwood: Programmers Don’t Read Books — But You Should
- Scott Hanselman: Essential Language Agnostic Computer Programming Books
- Shane Sherman: The 5 Books that Every Programmer Should Read
- Stack Overflow: Best non-development book for software developers
- Stack Overflow: What development book made the most impact on you as a developer?
- Stack Overflow: What is the single most influential book every programmer should read?
- Stack Overflow: What non-programming books should programmers read?
- Top 100 Best Software Engineering Books, Ever