Recommended Reading

Sure, I can guess what you may be thinking. With all the information on the web, why do we need books? Surely anything in books can be found on the web with proper research and powerful search engines such as Google. Perhaps. But if you are like me, sometimes you just like to unplug from the non-linear media frenzy of the web and enjoy a nice sequential storyline. You must also consider that a signficantly greater amount of time goes into preparing and publishing a book than the time spent throwing together an article for the web.

All of the books listed below I thoroughly enjoyed reading. (Yes, I actually read them). Often times, while reading these books, I would get tingles in my forehead because of how well I was connecting with the content. I don't know how else to put this next statement. If you are doing software development, read these books.

The Mythical Man Month: Essays on Software Engineering The classic book on the human elements of software engineering.
Frederick P. Brooks | Addison-Wesley 1995
For as long as humans remain humans and software remains binary, the lessons in this book will invaluable. After reading this book, I felt inadequate for having called myself a programmer without possessing the wisdom it provides. Consider this book like the Yoda of the software field. It knows about all of the difficulties you will encounter, you just have to take the time to study it.
ISBN: 0201835959
The Pragmatic Programmer: From Journeyman to Master Recommends improved software development practices pitfalls to avoid.
Andrew Hunt, David Thomas | Addison-Wesley 1999
We all must crawl before we walk, and that first walk usually involves some falling. The same goes for software development. This book helps you to bypass that whole process. By following the often entertaining advice of these two professionals, you will pick up at least a couple of years of real-world experience in the time it takes you to digest this book.
ISBN: 020161622X
Better, Faster, Lighter Java Offers techniques and principles you'll use to build simpler applications.
Bruce A. Tate, Justin Gehtland | O'Reilly 2004
Granted, this book probably won't be remembered much in 20 years from now, like the first two recommendations, but it does emphasize an important point which is also very timely. Software development, particularly with Java, does not have to be so damn complex! Often the best tools are the simplest. This book opens your eyes to revolutionary frameworks such as Hibernate, Spring and Lucene while entertaining you with some fun stories.
ISBN: 020161622X