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.