~ Dmitry Shvetsov
Navigate back to the homepage

Essential Books That Every Programmer Should Read

Dmitry Shvetsov
February 10th, 2019 · 3 min read

Books recommendations from Bozhidar’s talk, lists by Uncle Bob, and Kent Beck, books from blog posts by Jeff Atwood and DHH.

Never ask advice of someone with whom you wouldn’t want to trade places

— Darren Hardy

The idea to collect a list of books that knowledgeable, experienced and well-known programmers recommend to read comes to me from The long Journey to Ruby Mastery conference talk by Bozhidar Batsov.

Here I share what I have found so far: books recommendations from Bozhidar’s talk, lists by Uncle Bob, and Kent Beck, books from blog posts by Jeff Atwood and DHH.


Bozhidar Batsov VP Engineering at Toptal and open-source hacker in his talk named 15 books to reach mastery as a programmer independently of programming language:

Even if you have 20 years of experience in programming you can learn a lot from the books above thinks Bozhidar.

This a essential minimum for a good developer.

– Bozhidar

For programmers working with object-oriented languages Bozhidar recommends:

The last book in Bozhidar’s list is The Elements of Programming style.


I asked Robert C. Martin, aka Uncle Bob Martin, software engineer, authorinstructor, co-author of Agile Manifesto, for books recommendations. Here is his list:


I asked speaker and author of the Extreme Programming book series Kent Beck, for books recommendations:


Jeff Atwood author of Coding Horror blog and co-founder of Stack Overflow and Discourse, share his list of Recommended Reading for Developers:

Some of them Jeff mentioned in the comments on the page:

Jeff added links to Amazon as well and put his opinion under every book in his list.


David Heinemeier Hansson, aka DHH, creator of Ruby on Rails, founder and CTO at Basecamp, author, and public speaker share the 5 books that meant most for him:

David comments on each book in his post, and I recommend reading it.


All book links above are lead to Amazon store that is closest to your country. As an Amazon Associate, I earn from qualifying purchases.

Ready to Upgrade?

I’ve created a framework to help you eliminate unproductive activities, reduce decision fatigue, and plan your weeks for effortless execution. If you want to take your productivity to the next level, check out my Productivity Framework.

Get the Productivity Framework here!

More articles from Dmitry Shvetsov

Playing with Ruby Threads and Queues

Photo by Marina Ermakova Example of how to use queues to simplify multithreaded code in Ruby Threads are the Ruby implementation for…

February 4th, 2019 · 2 min read

Mastering PostgreSQL in Application Development by Dimitri Fontaine

The Book Review

January 13th, 2019 · 3 min read
© 2017–2020 Dmitry Shvetsov
Link to $https://twitter.com/iamdidev