Both worthy books.
But less theoretical, more accessible and a hell of a lot more fun than either of these is the excellent
The Pragmatic Programmer: From Journeyman to Master, which catapulted Dave Thomas and Andy Hunt to their current locations in the programmer's firmament. If I had to recommend a single book on this topic to someone who hadn't read about best practices before, I'd name this one, hands down.