What are the books that every developer should read at least once in their life?
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.
Top comments (5)
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:
I enjoyed "Soft Skills" by John Sonmez.
"Rebel Code" if you're interested in the stories behind open source projects.
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 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 ;)
I think every dev should read... the f******* manual! 😎