* The Pragmatic Programmer (Read this once every 6 months until it's obvious) * Head first design patterns * Agile Web Development with Rails It's not obvious, but the rails book is a great introduction to test-driven development in general.
Also recommended in this reply