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.
Let me second that. I must have read getting on for a hundred IT books over the last 10 years on various aspects of programming or design. This is by far the best, putting everything into context and giving guidence on how to skill yourself up to be a good developer, whatever language you happen to be working in at the moment. I'd hope it would be on the reading list for anyone coming out of a programming degree course & embarking on their career.
Normally trees don't drive trucks. Does this tiny ad have a license?
a bit of art, as a gift, that will fit in a stocking