The Book Every Programmer Should Read

twitter logo github logo ・1 min read

What are the books that every developer should read at least once in their life?

I suggest

Robert "Uncle Bob" Martin's "Clean Code: A Handbook of Agile Software Craftsmanship" is the clean coder programmer bible. This book talks about code, behaviour, automated tests and so on.

twitter logo DISCUSS (5)
markdown guide
 

I am going to add a few non-technical books.

I think the holy trinity of Basecamp/ex 37signals books is really interesting and kind of refreshing in many cases:

  • Getting Real
  • Remote
  • Rework

I enjoyed "Soft Skills" by John Sonmez.

"Rebel Code" if you're interested in the stories behind open source projects.

 

I think every dev should read Gene Kim's The Phoenix Project. Not just "bc devops", but to understand their work's release pipeline as a system that can be optimized in various ways in order to deliver a better product, faster. Getting the bigger picture of how the code we write actually gets to the customer helps us understand the true importance of practices like TDD and automation (test/process/review) etc. Our nature is to reduce waste and duplication in our own processes (tool building, scripting repetitive things) and I personally experienced an A-HA moment reading that book and expanding that idea outside of my personal zone of control.

Also, its a great story and helped me realize that the incompetence and waste I saw everywhere in my org wasn't unique ;)

 

Code: The Hidden Language of Computer Hardware and Software

Not just for developers, but anyone dealing in software at almost any level. The book starts with information theory and electrical theory and builds a piece at a time all the way up to the software.

 

+1 to Clean Code
Test Driven Development By Example - Kent Beck
Refactoring Improving the Design of Existing Code- Martin Fowler

Above ones are generic in the sense we [should] write test and we will have to refactor old code.

And if you are interested in Data Engineering / Distributed Systems/Databases:

Designing Data Intensive Application - Martin Kleppmann

 

I think every dev should read... the f******* manual! 😎

Classic DEV Post from Nov 22 '18

Choose Your Own (Career) Adventure

If you could be doing more of something or less of something, what would it be?

Davide Santangelo profile image
developer - dad. In love with #ruby, #rails, #rust and #react - developer at @getchorally