Version numbering in life
On the Beatles, software debugging, and the lesson most of us should take away from computer programmers
Even if they don't know what it means in detail, most people probably recognize version numbering associated with the names of computer programs and apps: v.1.2.3 or v.10.8.91. The point of these is to tell us at what stage a program has been locked down and released with major updates (the first numeral), minor but important ones (the second numeral), and basic maintenance updates (the final numeral).
■ Versioning is an important concept within computer programming, because it's a significant reminder that no program is ever going to work flawlessly on version 1.0. It simply doesn't happen. Steps must be taken that are iterative; the first draft is never completely right.
■ Pop culture gives us plenty of examples of artists who seem to have great ideas that spring forth fully formed on the first draft. And it's entirely possible that some people have the gift of seeing great paintings projected, complete, onto a blank campus or imagining entire songs before pounding them out on a keyboard for the first time. (Think of Paul McCartney spontaneously composing "Get Back".)
■ This artistic expression, though, should not be taken as a substitute for how to really get things done. It discourages the rest of us if we imagine that an idea must be perfect on its first try and that all will be well once we simply get the performance out.
■ This creates a sense of failure when a first draft doesn't look exactly right, and it's not just this or that draft of a creative work that matters. It means the same thing when we're building human institutions. We have to be able to look at our problems and realize that we will have to take steps -- versions, even -- to get to desirable results.
■ We need fortitude and endurance and persistence in order to get things to go right, and we have to realize there will be further versions down the road. Most further versions should be steps forward, but occasionally a new version is an unexpected step back. That doesn't mean the project stops: It means a period of intense debugging.
■ We need to take the hint from the programmers and realize that a perfect end state is never going to happen: Circumstances will see to that. A lot of life -- personally, socially, and politically -- can be viewed as an exercise in updating versions. One has to be ready to implement a freeze from time to time, not because the product is perfect, but because sometimes you have to be satisfied that enough progress has been made that it's time to consolidate some gains.



