Lately, I've been re-reading some of the books that profoundly affected me the first time I read them (A few on my list: The Selfish Gene, Influence, You Can't Win, Sister Carrie, and The Treasure of the Sierra Madre). One book I forgot about until I read Software engineer Bryan Cantrill's essay this morning, is The Soul of A New Machine (1981), Tracy Kidder's Pulitzer Prize-winning nonfiction book about the team at Data General tasked with making a 32-bit minicomputer in a year.
Shortly after I started reading, I began to realize that (contrary to what I had been telling myself over the years!) I had not re-read the book in full since that first reading so many years ago. Rather, over the years I had merely revisited those sections that I remembered fondly. On the one hand, these sections are singular: the saga of engineers debugging a nasty I-cache data corruption issue; the young engineer who implements the simulator in an impossibly short amount of time because no one wanted to tell him that he was being impossibly ambitious; the engineer who, frustrated with a nanosecond-scale timing problem in the ALU that he designed, moved to a commune in Vermont, claiming a desire to deal with “no unit of time shorter than a season”. But by limiting myself to these passages, I was succumbing to the selection bias of my much younger self; re-reading the book now from start to finish has given new parts depth and meaning. Aspects that were more abstract to me as an undergraduate — from the organizational rivalries and absurdities of the industry to the complexities of West’s character and the tribulations of the team down the stretch — are now deeply evocative of concrete episodes of my own career.