I'd recommend:
- The Pragmatic Programmer
- The Psychology of Computer Programming
- Software Craftsmanship
- Thriving on Chaos (1st ed.)
- Systemantics: How things work and how they fail (1st ed.)
- Perfect Software: And Other Illusions about Testing
All speak to the nature of the craft of writing code though, in many cases, not actually talking about writing code.
One extra book I'd like to add is Ed Yourdon's "Decline and Fall of the American Programmer". The main content of this book is almost completely out of date but the appendix "The Programmers Bookshelf" is worth the price of admission alone. It is a list of books that goes beyond coding and testing along with an essay where Ed picks out many, but not all, of the books and talks about why you should read them.
This was the essay that turned me on to Fred Brooks's book along with Gerry Weinberg's Psychology book mentioned above.
And you can buy a copy of Decline and Fall for 0.01c second hand now!
You might also like to listen to Peter Coffee's Agile 06 keynote address where he relates his choice of "must have" books back to the Agile Manifesto (mp3). An interesting worthwhile way to pass an hour.