In my opinion if you’re trying to be the best possible software developer you can ever be reading books is the best way to achieve this (other than writing code :)). In no other way you will be able to learn from one of the best, incredibly clever and most respected developers on this planet. Some of you may be lucky enough to work with them but most of us are not.
Stackoverflow analysed more than 40 million questions and answers to find books mentioned the most. And No. 1 is one of my personal TOP 3 books on software development ever written – „Working with legacy code” by Michael Feathers.
In case you are interested in two other books from my personal TOP 3:
No. 1 – „Agile Principles, Patterns, and Practices in C#” by my favorite author Robert C. „Uncle Bob” Martin and Micah Martin.
No. 3 – „xUnit Test Patterns: Refactoring Test Code” by Gerard Meszaros.
I really believe that if you don’t like to read a lot of books (not me, I lost count how many I have read) those three will give you extremely high return on time invested in reading (and understanding!) them.
I would also like to mention my No. 4 too because it’s close call with No. 3. It’s „Growing Object-Oriented Software, Guided by Tests” by Steve Freeman. It’s not No. 3 only because I think it’s good to read „xUnit Test Patterns: Refactoring Test Code” first.
Oh, and I almost forgot. Here is the site where you can check the results of Stackoverflow analysis – http://www.dev-books.com/