Software and technology

Code Complete : A Practical Handbook of Software Construction, by Steve McConnell
Rapid Development : Taming Wild Software Schedules, by Steve McConnell
Software Project Survival Guide, by Steve McConnell
All of McConnell's book are essential reading, if you ask me.
Design Patterns : Elements of Reusable Object-Oriented Software, by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
Few books about software are classics, but this is one of them. It's not a book to read from end to end, and it's not a beginner's book, but it is one that you will keep coming back to if you have any interest in object-oriented software design. If you've studied a musical instrument, you will likely have had one or two books of "studies" or "etudes" that were not that interesting to play, but if you just practiced them, everything else about your playing will get better. (When I played the cornet, it was a big red book called Arban; now I play the cello, and it's called Feuillard and Schroeder.) This book is the OO software equivalent.

Other reviews:

Object-Oriented Modeling and Design, by James Rumbaugh, Michael Blaha, William Premerlani, Frederick Eddy, Jim Rumbaugh
I was surprised by the price of this book when I looked it up on amazon.com ($65). Now getting, in theory, long in the tooth, I still think this book is the best investment in software books I ever made (and I have made a lot, most of which I haven't bothered keeping). Precisely, clearly, and accurately, Rumbaugh and co-authors describe object modeling, and their OMT notationand its usage. A number of chapters, such as the one describeing DeMarco-style dataflow diagrams, are now obsolete, but most of the book is valuable in itself. Rumbaugh's Omt Insights is a useful adjunct to this book with some of Rumbaugh's more recent thinking -- although I would be inclined to borrow it if you can rather then buy it.

OMT has now evolved into UML (universal modeling language). I hope that the forthcoming books on UML by Rumbaugh and Booch are as good as this one.

Other reading lists: