Dan Bader

Software engineer reading list: My favourite books about programming

Reading books is one of the best ways to improve your craftsmanship and to become a better software developer. This is a continuously updated list with my favourite programming books, sorted by topic. I link to the ebook version where possible but most books should be available made from dead trees as well.

Architecture & System Design

How to build reliable software that works well.


Books about best practices, code quality and professionalism. Every single one of these books is fantastic and I got so much out of them. If you don’t know which area to focus on first then start here.

Programming Languages

Books about specific programming languages that I enjoyed. There’s often free resources available online but sometimes it’s nice to just buy a book that takes you through many aspects of a language. Some of these books are great reads even if you’re not interested in the language specifically, as they teach you important universal concepts.





Interviews & Hiring

These books work both ways. If you’re trying to be hired as an engineer or hiring others then you can learn a lot from them.

Leadership & Managing developers

These are useful even if you’re not in a leadership position. They’ll help you understand your manager better and will make you a more effective communicator.

CompSci fundamentals, algorithms, and math

This stuff is important. Languages and frameworks come and go but the foundations remain largely static. Re-visit these every once in a while.


The best software engineering war stories around. I get inspired by reading about successful or failed software projects that others have worked on. These books let you learn from the experiences and careers of some of the best people in the field.


Being able to communicate succinctly in writing is often more important than raw technical ability. Especially if you want to convince others. These books have helped me to structure my thinking and improved my English. Especially if English is your second language like it is for me this is an area you should focus on.

Your Shortcut to a Productive Python Setup with Sublime Text: Get a professional Sublime Text setup for writing Python that makes you more productive and will be an absolute joy to use. » Click here to learn more

Improve Your Python with a fresh 🐍 Python Trick 💌 every couple of days

🔒 No spam ever. Unsubscribe any time.

This article was filed under: books, career, craftsmanship, programming, and python.

Related Articles:
Latest Articles:

💓🐍 Love Python? Show It With Some Unique Python Swag Every Pythonista needs a great coffee (or tea!) mug. That’s why my wife Anja and I started an online store with unique mugs for Python devs: » Check it out at nerdlettering.com

← Browse All Articles