## Read these first

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

## These are a bit dryer, but full of gold. Absolute classics.

Refactoring - http://www.amazon.com/Refactoring-Improving-Design-Existing-Code/dp/0201485672

Design Patterns - http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612

## Process/General Topics

The Pragmatic Programmer (full of wisdom from smart guys who have been there) - http://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X

Every one of these books is worth the time and money.