At the booksale room at my local library, I saw a copy of The Soul of A New Machine. Without a doubt, it's my favorite book about the work that I do.
I first read the book in 1986, during my freshman year at college. It captured my imagination instantly. I was already committed to working in "computers", but the book provided a kind of blueprint for what a life of computers might look like. (And though I never thought much about it, I now wonder whether the book planted the idea in me to move to Boston after graduating.)
The author Tracy Kidder follows the creation and building of a Data General computer, the Eclipse MV/8000, nicknamed "the Eagle". Instead of a dry look at schematics and source code, it traces the creation of the machine through the lives of the men (and a few women) who build it. There is the esteemed engineering manager, Tom West, a good man in a storm. There's the determined college kids, looking to make a name for themselves by designing the best algorithms in silicon. There's the mischievous "midnight programmers" and microcoders, who would build the machine in software first, with breaks to play a computer game called Adventure.
In between these character sketches are some gentle introductions to the basics of modern computer architecture (32-bit addressing, microcode, Boolean algebra). I can assure the timid reader that Kidder only stays on these topics long enough to establish the work that the team is doing. As I flip through the pages, the descriptions are still fresh to me.
I have bought and read this book a handful of times since 1986. I'm still dazzled by it. There's a chapter called "The Case of the Missing Nand Gate" that describes the rote work of what it takes to debug a computer crash, but Kidder describes the work with such drama and style that even when I reread it today, it's still thrilling. A chapter with terms like "IP", "JSR", and "I-Cache" shouldn't be thrilling, but it is.
This is what I like about this book, and why I still have a copy. There's a thrill with putting computer systems together, hardware or software. Doing this work requires a certain mentality, which Kidder explores thoroughly in the personalities of the engineers and managers charged with putting "the Eagle" together. ("He could write two or three hundred lines of code in his mind, but he had a hard time remembering his own phone number.") Teams that build systems often look back on their work with a reminiscing that's reserved for players on a sports team, because building systems can feel like a grueling sports season.
I look around at my world, this laptop I'm working on, the software that drives my DVD player, my iPod. Who are the people that build this stuff? Kidder's book introduces you to these people, and they're an awful lot like the people I worked with all throughout my own career and like the people I work with today. They're people like me. If you want to get a sense of the highs and lows that a job in computers can sometimes bring, then read "The Soul of a New Machine."
(Yes, I ended up buying the book. It'll be the copy I keep at work.)
Tracy Kidder also wrote House
Tracy Kidder also wrote House, which follows the construction of a custom-built home. Systems development is like building construction in many aspects; there's a reason that most PMP activity seems dominated by these two disciplines. The interactions between the homeowners, builders, and architect are well-presented. Kidder excels at explaining the "people" side of his topics, both the thinking and emotional forces.
One of my managers always maintained that all failed projects are lost at the beginning, usually by the time requirements are pronounced "complete." In three decades of IT, I can't think of a counter-example. You can't read House without coming away with the lasting conviction to be more thorough with requirements in the future. Kidder's portrayal of the effects of deficient requirements, which are the key to the narrative, faithfully tracks the perceptions of the various stakeholders in this process, the all-too-familiar blame-shifting and recriminations among people working in good faith.
One detail that has stayed with me in the many years since I first read the book: the custom builders measured and cut their lumber to 1/16 inch tolerance. These are folks to take care, and pride, in their work. They understand that "good enough" is not good enough for mastery.