Python Training by 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.

<strong><em>Improve Your Python</em></strong> with a fresh 🐍 <strong>Python Trick</strong> 💌 every couple of days

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:

📘 Python Tricks: The Book — A Buffet of Awesome Python Features: My new book that teaches you the coolest aspects of Python with short and easy to digest examples. » Click here to get a free sample chapter

Latest Articles:
Unique Mousepads for Pythonistas

Unique Mousepads for Pythonistas
Rest Your Hand Comfortably & Write Beautiful Python
» Browse Python Mousepads at

← Browse All Articles