Top Ten Must Read Books for the Java Developer



Don’t we all love lists? Well, I saw Kevin Taylor’s list of “Top 10 Must-Read Java Programming Books” and decided that I must have my own list. So at the top of my head I came up with this list:



  1. Java in a Nutshell – First you’ve got to know the basics, so no better and quicker way that to get it in digest form. Who needs all the fluff that comes with the “Dummies” books?
  2. Design Patterns – The seminal work by Gamma et al. You’ve got to have this book if you want to understand why many of Java’s APIs are designed the way they are.
  3. Test Driven Design by Example – Now before you begin coding it is a good thing to learn a new and more productive way of doing it. That is, to build the tests first before you code. Kent Beck’s book is a quick introduction on a radically new and productive way of coding.
  4. Java Development With Ant – Now of course all significant software projects require some kind of automated build management. Ant is the de-facto standard in this area. I would expect anyone working in a team to know the basics of this tool.
  5. Contributing to Eclipse: : Principles, Patterns, and Plugins – A Kent Beck and Erich Gamma book. Let’s get real here folks, nobody uses a text editor anymore to do their Java programming. Although this book is about building plug-ins for the Eclipse environment, it provides interesting insight on how to work inside a project with over a million lines of code. Now if you want to learn how to use Eclipse, well then don’t even bother reading a book!
  6. Expert One-on-One J2EE Development without EJB – Now most Java development these days happens on the server side. Although I don’t want to belittle client-side work, I know how tough that kind of work is. Rod Johnson’s book is a pragamatic approach to getting work acomplished without the EJB dogma.
  7. Patterns of Enterprise Application Architecture – Server development is a whole different ball of wax, that’s why this book is so critically important. You’ll need to understand the patterns involved and how to make the judgement calls on what to use and what to avoid. Speaking about avoid, avoid “Core J2EE Patterns”.
  8. Hibernate in Action – Now if it isn’t obvious to you yet, allmost all enterprise server side development involves a relational database. The de-facto strategy for sucking data in and out of these databases is to use an O/R mapping tool. There’s no better tool than Hibernate to do that, it is the basis of the new EJB 3.0 spec and getting to know it now will greatly help you going forward. This book is written by the authors of Hibernate.
  9. How Tomcat Works – Most server development also assumes a front end, and in this day and age it almost always is web based. This book gets into the intricate details of how the most common web platform works. Truly an invaluable reference.
  10. Java Performance Tuning – Finally, after you’ve built your application using all those nifty tools and patterns, you’ll quickly realize that something doesn’t perform to expectations. This is where your job is on the line, that’s why there’s no better book to have on hand than Jack Shirazi’s book.
I should have include Doug Lea’s “Concurrent Programming in Java” however I seriously doubt that many developers can grok it and if they can put it to good use.
Hope you agree with me that these books are worth every penny. However, I’m sure I had a mental blindspot somewhere and forget that all important book. Let me know what that is!

1 comment: