I'd second pretty much every suggestion I've seen so far and add one
"Refactoring" by Fowler. It's only really useful if you've had some
design experience, but
Some of the others that I really highly recommend would be "The
Pragmatic Programmer: From Journeyman to Master". I'm of mixed
feelings on Code Complete. A lot of the material I've heard better
elsewhere, but I can't think of anywhere else so much material is
brought together. I'd say read it but then chase down some of the
Some good reads but not necessarily great ones that come to mind also are:
"Release It!: Design and Deploy Production-Ready Software", A bit
long for pretty much a common-sense point, which is log stuff, keep
heartbeats going, and the like.
"Agile modeling: effective practices for eXtreme programming ..." been
a while since I've read this one, but it seemed a good intro. One of
those books if I had too much money I'd probably purchase.
"Dreaming in Code". An amusing account of software development from a
reporter's perspective of some aspects of a netscape calendar
project....(not quite right, but that's as close as my hazy memory
I've heard good things about "Beautiful Code" but haven't read it yet.
If you wanted to step away a little from actual software, I'd say
Donald Norman's various books are really good for ideas about
usability. Lighter fare also includes Stephen Levy's books, some of
Rheingold's stuff although that is a bit outdated, "What the Doormouse
said.", "IWoz", "Where the Wizards Stay Up Late". I'm sure I'm
missing some of the light and quick reading of computer culture, but
that's plenty to get started.
At some point today I'll have to figure out what books others have
suggested that I still need to read (or request one of the various
libraries I'm associate with purchase). Thanks for bringing up this