The best books for the Python and non-Python developers

Jaime Buelta Author Of Python Automation Cookbook
By Jaime Buelta

The Books I Picked & Why

The Mythical Man-Month: Essays on Software Engineering

By Frederick P. Brooks Jr

Book cover of The Mythical Man-Month: Essays on Software Engineering

Why this book?

A true classic about software development, and incredibly as relevant today as the time of the examples described in the book, in the 60s and 70s, when software development was still in its infancy. Because the book talks about the process of creating software and how teams work while doing it, any developer will see themselves reflected in their day-to-day. It’s great to understand naïve problems (in hindsight) and avoid them. A lot of common phrases used in software development originate from this book.


When you buy a book we may earn a small commission.

Practical Vim: Edit Text at the Speed of Thought (Pragmatic Programmers)

By Drew Neil

Book cover of Practical Vim: Edit Text at the Speed of Thought (Pragmatic Programmers)

Why this book?

A very personal recommendation, as it is about Vim, a very particular text editor that can be difficult to learn at first, but this is the best technical book that I’ve ever read. I use Vim as my main editor and this book makes an astonishing job in clearly explaining why it works the way it works. This book gets you into the proper mindset to use Vim, making it click internally and from there on, to feel way more natural and powerful. Even if you don’t want to use Vim as your main editor, it’s ubiquitous and it’s available by default on a huge amount of computers, making being comfortable with its usage a really powerful tool in a lot of situations. 


When you buy a book we may earn a small commission.

Python Testing with Pytest: Simple, Rapid, Effective, and Scalable

By Brian Okken

Book cover of Python Testing with Pytest: Simple, Rapid, Effective, and Scalable

Why this book?

While this is a Python-specific book, it’s a fantastic description of all the possibilities for testing with a powerful module like Pytest offers. Testing is one of the basic experiences for a programmer, as it should be included as a core part of the development process. Understanding all the different options available like mark groups of tests, parametric tests, building your own extensions, or test coverage, to name only a few details, expands the understanding of how to design better tests and run them more efficiently.


When you buy a book we may earn a small commission.

The Pragmatic Programmer: Your Journey to Mastery

By David Thomas, Andrew Hunt

Book cover of The Pragmatic Programmer: Your Journey to Mastery

Why this book?

A full collection of self-reflecting ideas about how to approach coding from a strategic point of view. While some of it can be a bit obvious for the experienced developer, it can be invaluable for the newcomer and it’s always great to solidify knowledge in a more consistent way. The kind of book that you can read again after a few years and keep learning.


When you buy a book we may earn a small commission.

Managing Humans: Biting and Humorous Tales of a Software Engineering Manager

By Michael Lopp

Book cover of Managing Humans: Biting and Humorous Tales of a Software Engineering Manager

Why this book?

Michael Lopp, or Rands, as he is commonly known online, has been sharing his knowledge as a software manager for years, mainly through his blog. He is one of the most insightful voices about the art of management in a software environment, and even if you are not a manager yourself (and don’t want to become one), will make you understand and better collaborate with your own manager, and be ready when you need to lead a team or understand how it is to work with other humans.


When you buy a book we may earn a small commission.

Closely Related Book Lists

Distantly Related Book Lists