There are several books which should be on the bookshelf of any serious code monkey:
This book starts where Petzolds ends. If you have to get serious about threads, processes, DLLs or anything else down and dirty in the Windows world, Richter will have covered it. There is very little padding here. Out of print, but you can get second-hand copies
The best book written on software development from a coder's perspective..... ever. Worth buying for the chapter on optimization alone.
I *love* this book. It's about the social aspects of programming, from furniture arrangement and methodologies to team inter-relationships. Every tech manager should have their eyelids stapled up and be forced to read it. Don't walk, RUN to the bookstore and get a copy of the 2nd Edition.
The seminal work on how humans interact with the world. Read this to learn about affordances... and then figure out for yourself why the current crop of UI trinkets are so sucky. I blame the web... but then I blame the web for everything.
Required reading for anybody who aspires to team leadership or management. Of course if you DO ever end up in management, having read this will do you no good because you have your brains sucked out as a required part of the induction process. After all, something has to go to make room for all the ego and self-interest.
More manageable than Knuths multi-volume behemoth, and available in versions with examples in different computer languages. Guess who bought the Pascal version by mistake?
An extremely readable work on web usability. If you're a programmer who's been asked to do web work and you're clueless about site design (like me), start by reading this. He's a bit dogmatic, but it's a short read anyway. It will be 2-3 hours well spent.