The Pragmatic Programmer – by David Thomas is a bit of a classic (1999).
I read it way back, when it was still somewhat new, and decided to re-read when I subscribed to SafariBooksOnline (my review of the service).
It is still pretty good still after all those years. While I do use most of the practices they suggest on much of my work, there were plenty of useful tips and reminders.
And if you haven't read it, it is very much worth for the dozens of practices you might not be using yet. It does feel a little dated, and many of the practices that were uncommon at the time are very common today. Some bits are almost funny, such as the lack of Refactoring tools outside Smalltalk, or the suggestion of using USENET private groups for communication, but these are the exception.
Overall, strongly recommended for anyone that want to be a better programmer.
Featured Software Print your Folders quickly
Print and visualize your folders. Find out where your hard drive space went – and all your hard to find junk files.
Save money by avoiding buying a new hard drive, when all you had to do was delete files you didn't even know you still had!