A Programmer's Bookshelf
An anonymous reader writes "With christmas just round the corner I have been looking for gifts for my geek friends. But what book? I recently found a simple page with one person's bookshelf and explain what's good and what's not. What do you think? Whats on a programmer's bookshelf? (or what should be and is not!)"
Godel, Escher and Bach is a damned good book, and any self-respecting geek should have read it. Twice.
Other favourites include Capital by Marx, Crime & Punishment by Dostoeyevsky, Also Spracht Zarathustra (Nietzsche), The Fountainhead (Rand), The heart of a dog (Bulgakov) and Dubliners (Joyce).
If you're a programmer, the last thing you're going to want to read are code books.
I find lo-tech paper books aren't costworthy in today's tech environment - they go out of date too quickly, and are thus resource wasteful (In my area - web tech - anyway). Any reference books I buy in digital form, as this is usually more cost-efficient.
So for a REAL bookshelf... probably some IT-angled fiction. This is tricky as most authors fail to research tech angles correctly (like Hollywood computers, but not quite as glaringly obvious). Douglas Copeland's Microserfs was OK, and quite entertaining.
For an intelligent recommended read though, I can't recommend the usual Zen and the Art of Motorcycle Maintenance highly enough. It really makes you think, which is nice. I've been meaning to check out Scott Adam's (of Dilbert fame) God's Debris too. That's free to download by the way. So it might be worth reading a bit and if you like it, you could buy paper copies for your friends.