Top 10 Programming Books (Personal Favorites)
OK I lied a bit. I am going to do something a little different than the regular top 10 list (and not even keep with 10).
Top Programming Books I’ve Read (Personal Favorites)
1. The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt and David Thomas – An excellent book on how to become a better programmer and think like a professional. They pepper the book with words and wisdom and interesting asides.
2. Expert One-on-One J2EE Design and Development by Rod Johnson – By the creator of Spring, this book delves into how to design better J2EE applications and build more reliable code. I especially like the section on JUnit testing.
3. Use Cases: Requirements in Context by Daryl Kulak and Eamonn Guiney – If you’ve never read a book in use cases I highly recommend this easy read. While I believe that use cases have their limited use (a little pun intended), I think that understanding how best to use them is critical for a professional developer.
4. The Mythical Man-Month by Frederick P. Brooks – A classic guide for development managers. However, I found this book to be a little dense and while I do agree that the wisdom is timeless, it is sometimes hard to relate designing OS/360 with what I do in Java.
6. Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides – OK, I’m sure you already know about this book (Gang of Four). If you’ve ever gone for a programming job interview you’ve been asked at least one question from this book (Singleton Pattern remind you of anything?). The book can be a bit dense at times, so you might want to check out the Java Design Pattern series by Mark Grand.
7. Core J2EE Patterns: Best Practices and Design Strategies by Deepak Alur (Author), Dan Malks (Author), John Crupi – This is the J2EE equivalent of the Design Patterns book by the Gang of Four. In my opinion this is an essential book for anyone designing EJBs.
Top Programming Books I Own But Haven’t Read (Want to be Personal Favorites)
1. Code Complete 2 by Steve McConnell – Written by a Microsoft engineer, this book give best practices on software design and development. A very interesting idea where the author concentrate just on the construction phase of the lifecycle.
2. How to Win Friends & Influence People by Dale Carnegie – I know, this isn’t a programming book. However, I think one of the most critical aspects of being a good development manager is to learn how to deal and influence people. In a what, this is the most important book on the whole list!
3. Programming Collective Intelligence: Building Smart Web 2.0 Applications by Toby Segaran – This book might be a hit-or-miss, but the topic sounds really interesting to me. Essentially this is the mathematics and programming behind such things as Amazon’s and Netflix’s recommenders. Check out the Netflix Prize to learn more about the million dollars Netflix is offering.
4. Patterns of Enterprise Application Architecture by Martin Fowler – A guide on how to build enterprise applications from one of the best names in software architecture. And the book is real pretty too!
Top Programming Books I’ve Been Told to Read (They Say These Should be My Personal Favorites)
1. Peopleware: Productive Projects and Teams by Tom DeMarco and Timothy Lister – From Amazon: “This strikingly clear, direct book is written for software development-team leaders and managers, but it’s filled with enough commonsense wisdom to appeal to anyone working in technology.”
2. Joel on Software: And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them in Some Capacity by Joel Spolsky – From Amazon: “Joel on Software covers every conceivable aspect of software programmingfrom the best way to write code, to the best way to design an office in which to write code! All programmers, all people who want to enhance their knowledge of programmers, and all who are trying to manage programmers will surely relate to Joel’s musings. “
3. Don’t Make Me Think: A Common Sense Approach to Web Usability, 2nd Edition by Steve Krug – Notice how many Steve’s on authors on this list…? Anyway, here is a quote from, you bet, Amazon: “his is the type of book you can blow through in a couple of evenings. But despite its conciseness, it will give you an expert’s ability to judge Web design. You’ll never form a first impression of a site in the same way again.”
4. Facts and Fallacies of Software Engineering (Agile Software Development) by Robert L. Glass – Amazon again, “This guide identifies many of the key problems hampering success in this field. Covers management, all stages of the software lifecycle, quality, research, and more. Author presents ten common fallacies that help support the fifty-five facts.”