- Clean Code by Robert C. Martin - How to write easy to understand code.
- Effective Java by Joshua Block - THE book that will make you a better Java programmer, regardless of experience level.
- Bad Practices of Testing - The name is play on words, learn what you're doing wrong and what you could do right.
- TDD Step By Test Example - An example of doing TDD where each commit is classic red/green/refactor. Work through each commit to see what happened.