I asked subscribers to the Orange County Java User’s Group (OCJUG) mailing list what books had the greatest impact on them as a developer. Below are their answers, in the order submitted (so the first two are mine). Images are linked to the book’s Amazon.com entry.
Thanks to all who contributed.
Peopleware : Productive Projects and Teams, 2nd Ed. by Tom Demarco, Timothy Lister |
The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt, David Thomas |
Design Patterns: Elements of Reusable Object-Oriented Software By Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides |
JUnit Recipes : Practical Methods for Programmer Testing by J. B. Rainsberger |
Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans |
Effective Java Programming Language Guide by Joshua Bloch Note: An update for Java 1.5 is due later this year. |
Refactoring: Improving the Design of Existing Code by Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts |
Agile Software Development, Principles, Patterns, and Practices by Robert C. Martin |
Patterns of Enterprise Application Architecture by Martin Fowler |
Code Complete, Second Edition by Steve McConnell |
The Psychology of Computer Programming: Silver Anniversary Edition by Gerald M. Weinberg |
Facts and Fallacies of Software Engineering by Robert L. Glass |
The Inmates Are Running the Asylum : Why High Tech Products Drive Us Crazy and How to Restore the Sanity (2nd Edition) by Alan Cooper |
Core J2EE Patterns: Best Practices and Design Strategies, Second Edition by Deepak Alur, Dan Malks, John Crupi |
Head First Java, 2nd Edition by Kathy Sierra, Bert Bates |
Java Programming Language, The (4th Edition) by Ken Arnold, James Gosling, David Holmes |
Thinking in Java (4th Edition) by Bruce Eckel Note: There is a free electronic version of the 3rd edition at mindview.net. |
Test Driven Development: By Example by Kent Beck |