Recommended Software Engineering Books

I enjoy consuming books, and I work in software engineering. So, the obvious thing to do is to write a blog post about software engineering books that I’d recommend. This is that blog post.

As a student, I discovered Jeff Atwood’s Coding Horror blog. His and other popular blogs helped form my understanding of software engineering. I started looking up to these experienced developers, who were sharing their knowledge and insight on the web.

Jeff’s Recommended Reading for Developers (originally published in 2004) became my to-read list. There were quite a few university classes where I progressed through a book instead of listening to the professor. The recommended books (and what Jeff and other experienced engineers were writing) seemed like a better time investment for me. I didn’t go through all the books on his list, but I completed most of them. These books greatly affected how I approached my craft and career. If even one person will find the recommendations in this blog post as helpful as I once found Jeff’s recommendations, it’s a win.

(to be clear, I’m not recommending ignoring professors)


I’ve consciously tried to limit myself when crafting the list of recommendations. My initial target was twelve. I ended up with fifteen. Almost.

This list contains no books about specific technologies. Those are useful, but my goal was to provide a list that would be relevant for most people in the field of software engineering. I also think that general software engineering skills are more important to hone than knowledge of specific technologies, especially early in the career.

I’ve divided my recommendations into five sections: start, level-up, systems, manager, and manager of managers. While those sections relate to a specific phase of the engineering career, I believe everyone can benefit from reading these books at any stage. For example, I read “Peopleware” for the first time in one of those university classes when I should’ve been listening to a professor. Even if some of it flew over my head, I found it highly enlightening.

Start - to those at the beginning of their software engineering journey

Level-up - to those taking the next step in their software engineering journey

Systems - to those wanting to see the bigger picture of software systems

Manager - to those leading and wanting to lead teams

Manager of managers - to those growing beyond leading a single team

As a final thing, for the visual world of today, here’s this list as a single image:

recommended software engineering books

I hope that someone will find these recommendations helpful. If you have any recommendations of your own, don’t hesitate to reach out to me.