I came across a list of Five books every Java developer must own by Rob Sanheim. I commented on the list. But the list got me thinking. What are the books that I consider the “must have” books? Today’s Javalobby newsletter just added to the fire. I had to create the list. So here it is.
1) Effective Java, Joshua Bloch
A lot of people just code in Java, without being aware of the implications. This book clears out those implications.
2) Code Complete 2, Steve McConnell
This book will make you a better programmer. Enough said. My favorite.
3) Refactoring, Martin Fowler
It is getting a little old, but it contains invaluable information on good design, code smells, and more.
4) Design Patterns, GoF
The best book on patterns, though not an easy one. Might want to get the Head First Design Patterns to help you.
5) Core J2EE Patterns, Deepak Alur, Dan Malks, John Crupi
You have to know GoF patterns if you call yourself a good programmer. You have to know Core J2EE patterns if you want to be a good Java programmer.
6) Agile Software Development: Principles, Patterns, and Practices, Robert Martin
Not an easy book, but a best book on Agile, good Object Oriented programming, and patterns.
7) Applying UML and Patterns, Craig Larman
Java is an Object Oriented language, but a lot of people still treat classes as data structures. Learn what an object, and OO programming is all about.
8) Pragmatic Programmer, Andrew Hunt, David Thomas
Contains sound practices, good advice. It will make you a better programmer.
9) Facts and Fallacies of Software Engineering, Bob Glass
See what works in software engineering, and what doesn’t. Bob Glass explains it best.
10) Don’t Make Me Think, Steve Krug
A great little book, great when you’re involved in UI.
Wait List
I have not read these, and that’s why I have not put them in my original list, but the books below should be on your must-read list.
Peopleware, Tom Demarco, Timothy Lister
Domain Driven Design, Eric Evans
The Timeless Way of Building, Christopher Alexander
Patterns of Enterprise Application Architecture, Martin Fowler
Reference
Five books every Java developer must own, Panasonic Youth blog
Javalobby discussion, my list on the bottomJavalobby Newsletter: archives (great newsletter, btw)
I’m working through Martin’s Agile book, and it seems really good so far. I was a little disappointed to see the whole bowling game episode in there, only because I’d already read it online.
_The Timeless Way of Building_ is great, as it _A Pattern Language_ by Alexander et al. If you are at all interested in architecture or good design _Pattern Language_ is a really engaging. Also check out his newer trilogy the _Nature of Order_. I’ve only skimmed through it at the store but its kind of his unified theory of design, regardless of context.
Martin’s book is excellent. It’s not easy, and at times a little boring, but overall a great book.
Yes, I need to read Alexander’s books — he started the whole patterns movement. Thanks for the reply.
[...] by Christopher G. Lasater Steve McConnell — one of the best programming books that I recommend/sk Tags: [...]