Which books should I read?

There are several books which should be on the bookshelf of any serious code monkey:

Jeffrey Richter - Advanced Windows

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

Steve McConnell - Code Complete

The best book written on software development from a coder's perspective..... ever. Worth buying for the chapter on optimization alone.

Tom De Marco & Timothy Lister - Peopleware

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.

Donald A Norman - The Psychology of Everyday Things

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.

Fred Brooks - The Mythical Man Month

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.

Robert Sedgewick - Algorithms

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?

Steve Krug - Don't Make Me Think

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.