DEV Community

Davide Santangelo
Davide Santangelo

Posted on

The Book Every Programmer Should 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.

Oldest comments (5)

Collapse
 
flaviocopes profile image
flavio ⚡️🔥

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.

Collapse
 
mjb2kmn profile image
MN Mark

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.

Collapse
 
sudiukil profile image
Quentin Sonrel

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

Collapse
 
mikewaters profile image
Mike Waters

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 ;)

Collapse
 
adarshkkumar profile image
Adarsh.K.Kumar

+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