Here is a non exhaustive list of books I think all (good) developers should have read at least once in their life
- Design Patterns: Elements of Reusable Object-Oriented Software by GoF
A classic about the most well known design patterns. Code samples are written in C++ buy you can find tons of other books about design patterns in any given language.
- Patterns of Enterprise Application Architecture by Martin Fowler
The bible of software architects. Just read it.
- Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
A “must” if you want to improve you coding skills and code in an elegant and efficient way.
- Extreme Programming Explained: Embrace Change by Kent Beck
Everything you always wanted to know about XP but were afraid to ask.
- The Art of Agile Development by James Shore
This book is a mine of information about Agile Development techniques, with a lot of real life examples.
- Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans
This is certainly something you want to take a look at if you want to start developing robust multi-tiers applications in an agile way.
Most of these books are “technology agnostic”. Even though some use a specific language to provide code samples, most of their principles are valid, independently from the platform or technology you use.