OCJUG’s Favorite Books

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