Tuesday, February 15, 2011
A couple of postings about tackling difficult, long-range projects have come to my attention recently. Each considers how what is colloquially (and imprecisely) known as perfectionism can -- and often does -- get in the way.
First, there is the notion that, if one can concentrate as much as possible on the project, one will do better and, perhaps, even more work. Ben Deaton (via John Cook) relays an anecdote from physicist Richard Feynman's experience:
When I was at Princeton in the 1940s I could see what happened to those great minds at the Institute for Advanced Study, who had been specially selected for their tremendous brains and were now given this opportunity to sit in this lovely house by the woods there, with no classes to teach, with no obligations whatsoever. These poor bastards could now sit and think clearly all by themselves, OK? So they don't get any ideas for a while: They have every opportunity to do something, and they're not getting any ideas. I believe that in a situation like this a kind of guilt or depression worms inside of you, and you begin to worry about not getting any ideas. And nothing happens. Still no ideas come.Part of the problem here is that, for the kind of work these men were doing, teaching classes is not actually a distraction, but part of keeping one's mind stimulated, more in touch with reality (by, for example, reviewing how principles are tied to reality, or seeing new aspects of such a relationship), and even getting intellectual distance from the project from time to time. The fantasy of having much more time free for research met the reality that a stagnant or out-of-touch mind isn't such a hot tool for conducting research. The concept of this research setting erred because it treated as a mere distraction an important component of serious intellectual work! Removing distractions is fine and dandy, but one must first know what a distraction is.
Nothing happens because there's not enough real activity and challenge: You're not in contact with the experimental guys. You don't have to think how to answer questions from the students. Nothing!
As with imagined (but unverified) ideas about what kind of setting is ideal for a project, notions about what constitutes the best way to proceed can similarly cripple a project. Some programmers refer disdainfully to "architecture astronauts" -- people who lose touch with coding reality and get stuck on what Jeff Atwood calls "proper development patterns and practices." Atwood then quotes Joel Spolsky on the problem:
When you go too far up, abstraction-wise, you run out of oxygen. Sometimes smart thinkers just don't know when to stop, and they create these absurd, all-encompassing, high-level pictures of the universe that are all good and fine, but don't actually mean anything at all.Atwood reacts against this phenomenon, saying, "Patterns and practices are certainly good things, but they should always be framed in the context of a problem you're solving for the users."
These are the people I call Architecture Astronauts. It's very hard to get them to write code or design programs, because they won't stop thinking about Architecture. They're astronauts because they are above the oxygen level, I don't know how they're breathing. They tend to work for really big companies that can afford to have lots of unproductive people with really advanced degrees that don't contribute to the bottom line.
The "oxygen" Spolsky speaks of is the same vital component that Feynman sensed was missing at Princeton: contact with reality. Or, as Ayn Rand might have put it, the "ideal research environment" and "proper method of creating software" noted above are mere "floating abstractions," or "abstraction[s] without relation to the concrete." See also Marv Marinovich's ideas on physical training and child-rearing.
There is a tension between the need to guide creative work with principles and the need to be open to the idea that one has not discovered or correctly formulated some of the principles by which to proceed with that work. Perfection is neither a Platonic Form nor a product of a runaway imagination: It is contextual, discoverable only by a mind that constantly checks its abstract conclusions against reality, and achievable only when those abstractions are successfully put into practice.