A while back at one of my book club meetings John Riedl mentioned the author Tracy Kidder. I expressed my ignorance and he was dumbfounded. "You haven't read Kidder? Soul of a New Machine? You have to read it." His conviction was strong enough that I figured I needed to read it and rectify this horrific literary gap. I finished it today, and really enjoyed the book. To start with, Soul of a New Machine is not a technical book. You do not need to know anything about computers to read this book. Also, this book was originally published in 1981. This is a time when "super-minis" were just coming out and the computer industry was jumping to 32-bit architectures. This is four years before the introduction of the first Macintosh computer. I would recommend this book to my technical friends for the same reason I would recommend Steven Levy's Hackers (1984), Cliff Stoll's The Cuckoo's Egg (1990) or Out of the Inner Circle (1984). There is a great depth of history and culture in this book that is worthwhile and reminds us of the roots of our profession. We still see these roots playing out today in nearly all computer related industries. Thirty years ago it was displayed by wire-wrapping boards to make CPU's, today it's shown in mashups. The world of programming and computer engineering, despite what many might think, is filled with passion and creativity.
Soul of a New Machine chronicles the development of a new 32-bit computer from Data General called the Eagle (or the Data General Eclipse MV/8000). Kidder does an excellent job of telling a compelling story of how this machine comes to life and dives into the stories of the people that make it. He concludes that a computer isn't just a machine, but represents the ideas and personalities of those that create it. He's spot on.
Kidder illuminates the culture that has filled computer labs, computer science departments, technology, and now Internet startups for years. A born-desire to solve the unsolvable. The unstoppable desire to know how something works.
As I read Soul of a New Machine I could draw parallels to products that I had worked on in a variety of different roles. It was amusing to see that while almost all the tools have changed, so much of the "how" and the "why" has stayed the same.