Top 100 Best Software Engineering Books, Ever (comments)

My previous post, the Top 100 Best Software Engineering Books Ever, cost me so much energy that I was too tired to give you my thoughts about the entries in the list. However, now that the Top 100 list has turned out to be my most popular post ever (which is nice), and after receiving numerous emails from people requesting the full version (which is also nice), I feel completely re-energized! So, let's walk down the list and see what entries are worth pointing out…

First of all, it is obvious that Steve McConnell is the biggest hero among software engineers. (Well, at least among the reading part of the software engineering population…) Steve has no less than four entries on the list: Rapid Development (#3), Software Estimation (#14), Software Project Survival Guide (#47), and of course the Best Software Engineering Book EverCode Complete (#1). Congratulations to Steve for this stellar achievement!

There's only one other author with four entries on the Top 100 list. It's Martin Fowler, with Refactoring (#10), Patterns of Enterprise Application Architecture (#17), UML Distilled (#30) and Analysis Patterns (#83). And next in line is Alistair Cockburn, with three titles: Writing Effective Use Cases (#12), Agile Software Development (#22) and Crystal Clear (#46). It seems you cannot go wrong reading just about any of the books these guys are delivering!

After creating the top 100 list, one thing that immediately grabbed my attention was the #2 position for Head First Design Patterns, by Elisabeth Freeman, etc. The book ended two notches higher than the original (and more famous) Design Patterns (#4) by the Gang of Four (Erick Gamma, etc.) Several people had already informed me that Freeman's book is actually more readable than the classic one by the GoF. And now the Top 100 list seems to indicate that this is indeed the general public opinion. Freeman's book has a higher average rating on Amazon, and it was a Jolt Winner on top of that.

The best agile software development book is Agile Software Development: Principles, Patterns and Practices (#6), by Robert C. Martin. I've read lots of agile books myself, but I must admit that for some reason this book has never reached my own book shelf. It's an oversight I will have to rectify very soon! And speaking of agile… There are no less than 20 books on agile software development on the Top 100 list. It's obvious that no other topic has been so hot as the "agile" meme in the last decennium.

I would like to mention that I had a tough time deciding whether or not Mastering Regular Expressions (#18), by Jeffrey Friedl, actually belonged on the Top 100 list. I told you before that the list is about software engineering topics, and not about specific technologies. However, the book simply kept popping up in numerous searches and references. And I considered that regular expressions are actually not a technology but an (interpreted or compiled) technique or notation, just like UML, and useful for any software engineer, regardless of the type of application. So I relented, and Jeffrey got his #18 slot on the list.

For books with different editions I simply added the reviews and ratings for each edition, and used the last edition as the only Top 100 entry. Scott Berkun, the author of Making Things Happen (#35) was lucky that I knew that the previous edition of his book had a different name: The Art of Project Management. He wouldn't have ended so high if I had not been able to catch that essential piece of information. (I know Scott occasionally reads my blog, so I assume he will thank me very soon…)

One book that deserves a special treatment is Dreaming in Code (#52), by Scott Rosenberg. It is the only book released in 2008 (first edition) that was able to make it on the list, having already scored Amazon 59 reviews.

And another newcomer that's worth point out is Manage It! (#67), by Johanna Rothman. Johanna's relatively new book still had only seven reviews on Amazon (at the time of calculation), but she scored a perfect 5.0 rating, and she added a Jolt award on top of that! Her book is the highest on the list with such a small crowd of enthusiastic supporters, and an almost perfect score for quality. (I also know Johanna sometimes reads my blog, so I assume she has already jumped for joy…)

Speaking of Jolt awards, the top 7 books on the list all have received such an award. The highest entry on the list that did not receive a Jolt award is Peopleware (#8), by Tom DeMarco and Timothy Lister. The book is one of the highest rated books ever, and I'm sure that the Jolt jury regrets not having awarded Tom and Tim for their little (but visionary) masterpiece.

At the other side of the scale we find The Unified Modeling Language User Guide (#56), by Grady Booch. Of all the books on the Top 100 list, this one has the lowest average Amazon rating (3.30). But it is compensated by a large number of reviews (81) and a huge number of Google hits. It's a nice example of a book having popularity winning over quality.

Last of all, I think there's no better way of ending this post than including a reference to Hacker's Delight (#100), by Henry S. Warren. It seems like a nice book to close the list at the bottom. I had never heard of the book myself, but seeing that it has a perfect Amazon rating of 5.0 I'm sure that it's worth checking out.

If you want to do some more analysis and investigation yourself, then don't hesitate to email me and request the full Top 100 list, in MS Word format, including all statistics and a description of the calculations.

Happy reading!

Subscribe to this blog with a reader or by email!

Latest, greatest and favoritest posts:
Top 100 Best Software Engineering Books, Ever
Rubber Chicken Management
Five Agile Competence Levels

  • Top 100 Best Software Engineering Books, Ever
  • Agile Process Improvement, the Hardest Part
Related Posts
free book
“How to Change the World”
  • orcmid

    To be fair, I think the Knuth set should be counted as three books (published in 1997, 1998, and 1998) even though sold in a set.

  • Marek

    Dreaming in Code (#52), by Scott Rosenberg was released earlier than 2008. I was released 2007 and it was hard covered [ ]. 2008 was released reprint of it and its paperback [ ]. They were published by different publishers as well.
    So it’s not newcomer.
    I hope it’s good book, because it’s waiting reading in my bookshelf.

  • Jurgen Appelo

    @Orcmid: You have a point, thanks. I will (re)consider it when I’m doing this again next time.
    @Marek: Thanks, it seems the release dates on Amazon cannot be fully trusted. Well, no matter. It must be a very good book, or it wouldn’t have ended so high on the list in just one year.

  • Scott Rosenberg

    Thanks so much for the mention!
    The hardcover of Dreaming in Code was released in Jan. 2007. The paperback came out in Feb. 2008. I assumethis accounts for the confusion. Amazon’s data is pretty good but they don’t do a great job of distinguishing between different editions of the same book. I guess it’s all oriented around ISBN numbers or SKUs…

  • Jurgen Appelo

    @Scott: Finally there’s an author not operating in stealth mode while reading this blog… 🙂 Thanks for the update! Glad to have learned something new about release dates.

  • Artem Marchenko

    IMHO, a list of top software engineering books is somewhat like a list of top medical textbooks. Interesting to discuss and students might find there a useful book they would never read otherwise, but… such a top list bound to have several not very mergable categories inside.
    For example, your top author Steve McConnell is an excellent author and its “Code Complete” is a definite must-read for any hardcore programmer who wants to specilize in writing best code, Compare it, for instance, to Craig Larman’s “Agile and Iterative Development: A Manager’s Guide”. Another excellent book, almost a must-read for anybody interested in a light introduction to Agile, however, a manager buying Larman’s book is unlikely to find time to read through the McConnel.
    I wonder if it would make sense in creating similar lists for different reader groups and for different purposes.

  • Jurgen Appelo

    Hi Artem, not every book on the list will appeal to every software engineer. That’s true. So people will have to pick and choose. However, all of the books cover topics found in the Software Engineering Body of Knowledge. And that *is* considered to be *one* body of knowledge. That’s why I think it’s nice to have all the books in one big list as well.

  • Jared Richardson

    Thanks for the mention. It’s nice to see Ship It! showing up in more of these types of lists.

  • Finance Software

    The book simply kept popping up in numerous searches and references.however the book is very nice

  • Technology Details

    The TUM Create research enterprise in Singapore will be a first for a German university to be involved in extensively, and also a first in its research endeavour outside Munich.
    Technology Details

How to Change the World - free Workout - free