These are the books that have helped me become a better programmer, no particular order:
A great resource about dependency injection.
Using tests to guide your software as well as the design of your objects, definitely worth the read.
How to write less code, keep it clean and clear. In my opinion, should be a must read for members on my team.
A very approachable take on the world of Design Patterns. A beast to get through, but easier than the classic Design Patterns book.
A primer on true object oriented code. Tips on OOP, that take a long time to discover on your own.