Clean Code (great general 'write better code' book) - http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882
Growing OO Software Guided By Tests (GREAT TDD book, good for beginners and experienced alike) - http://www.amazon.com/Growing-Object-Oriented-Software-Guided-Tests/dp/0321503627
Refactoring - http://www.amazon.com/Refactoring-Improving-Design-Existing-Code/dp/0201485672