Reading The Soul of a New Machine, Kidder 1981. Describing work on the Data General MV/8000 in 1979.
Alsing [lead architect] thought that even under the best circumstances, several kinds of fear attend a debugging. One was the fear of “The Big Mistake”, the one that would be discovered late in the game and would require a major redesign–and with it perhaps a fatal delay. There was “the flakey fear”: that they’d designed [the machine] and were debugging it in such a way that it would never be reliable or easy to build in large numbers. [They] had that one fairly well in hand. But there was also “the bogeyman fear”. “Just something dark and nameless,” said Alsing, “that the machine just won’t ever work.” “It’s the infinite page fault you didn’t anticipate. The bogeyman is the space your mind can’t comprehend.”
Sounds very contemporary for an industry that’s supposed to have changed so radically in the last 30 years. Reminds me that many of the problems of software production identified in the 60’s continue to be the problems we wrestle with today. So maybe we should own up to the enormity of what we’re working on and beat ourselves up just a little less.
The other wonderful thing about this book is that Kidder thought he was writing at the end of the tech gold rush, when the winner and losers had been sorted out, at the hey day of venture capital had passed. Wow.
More gems: “The way to stay on schedule… is to make a new one.”
My first sentence should be “..infancy of data applications.”
Thanks John, for sharing the insight that our fears are just the same today as back in the infancy of couple applications. I think, sharing these fears with our customers can help them better understand the emotions we battle when pursuing their goals. Some customers share our fears of not living up to their expectations, some only look at the end result when we build a universe for the electrons to run through. A malfunctioning traffic light and “the bogeyman fear” will come true. The electrons took a wrong turn and the (FileMaker) system doesn’t perform as expected or will never reach its harbor.
There are often deep emotions involved in building (programming) a data system. The fear of an unsatisfied customer will always be there to haunt us.