How To Do It

     No ranting about politics or current events today. Let me tell you a story instead. It’s a true story of some importance, so refill the mug and kick back.

***

     Time marches on, and in only one direction. But he whose memory is reliable will retain the important lessons of times past. Some of those lessons are more explicit than others. Some take a while to be appreciated fully.

     I was a young man, only recently introduced to the layers of programming complexity beyond “Hello world,” when I encountered perhaps the most important lesson an aspiring software artisan can receive. It came after a dismal experience I’d had in attempting to make use of one of software’s “forbidden sins” (about which more later). I was recounting the frustration of the event to a “older and wiser head:” a graduate student in computer science named Bruce, who had befriended young and callow me out of motives that have no place in this tale.

     After I’d run down about my failure, Bruce nodded knowingly. He said something like what follows (I can’t recall his exact words from fifty years back):

     “There are three kinds of programmers,” Bruce said. (We hadn’t yet started calling ourselves “software engineers;” that particular vanity didn’t take hold until the Eighties.) “The first is the beginner. He programs simply. He doesn’t know enough to do anything else. That makes his programs easy to diagnose and debug. But after a couple of years, he becomes an intermediate programmer. That guy knows all the tricks and sophistications, and he’s determined to show them off in everything he writes. That makes his programs impossible to debug, because everything is wrapped around everything else. And may God help the programmer who’s asked to debug or extend one of them.”

     I was listening closely, certain that Bruce was about to reveal a guild secret that would elevate me from the rude beginner that I was to the stratospheric levels of the elite. And it was so: I was about to hear such a secret…but its essence surprised me completely.

     “The mature programmer,” Bruce said, “has been there and done that. His programs look a lot like those of the beginner, because he knows it’s best. If there are faults in his work, he’ll want to be able to find them quickly and confidently, and a program full of tricks and clevernesses isn’t that sort. If someone else has to extend his work, he wants that guy to be grateful for the ease of it, not resentful about all the time and labor he has to put in.”

     I was a bit confused. Why learn about the advanced techniques, and all the clever tricks and gadgets, if you’re not supposed to use them? What’s the point of acquiring all that knowledge? But I was a beginner. I had to pass through the intermediate stage to appreciate Bruce’s insight. (In particular, I had to learn to avoid assembly language except in extreme circumstances, and to appreciate the prepackaged conveniences provided by operating-system vendors, but that journey will be left for another time.)

     What was the forbidden sin, you ask? It was one of the true evils of programming practice: self-modifying code. And yes, I did encounter a problem in later years in which that evil seemed a virtue, but that tale will also be reserved for another day.

***

     Time marches on. As the years passed I unlearned many practices I’d once thought were clever and useful. It was the crucible of experience that taught me better: mainly, the requirement to maintain and extend my own products. And so I came to understand what Bruce had tried to tell me, and I gradually passed from “intermediate” to “mature” as a software artisan.

     When I first acquired supervisory responsibility, my subordinates were mostly raw beginners, fresh out of college. I strove to impress Bruce’s wisdom on them as they developed…and in almost every case, I failed utterly. Each of those young men and women had to pass through the “intermediate” stage, just as I had. It wasn’t about intellect or respect for the wisdom of others, but about the need to be bruised by one’s own sins. Another person’s experiences are seldom as educational as one’s own.

     There’s a strong parallel here to Mike Gancarz’s parable about The Three Systems of Man. If you haven’t read it, please do so. It’s a mind-expander.

***

     As time marches on, machinery ages. I learned that rather early in life, during my motorhead phase. Things frequently need to be repaired, sometimes replaced, and often discarded as unsalvageable. (Cf. Oliver Wendell Holmes’s The Wonderful One-Hoss Shay.”) This is also the case with the domestic systems that ensure our comfort: heating, air conditioning, water heating, and the like.

     A couple of years ago, I was contemplating my antiquated heating / hot water system. It was of an ancient and intricate design that I’d mused over far too long and too often. It failed at a cross-eyed look, was inadequate to the needs of the house, and had cost me and others a lot of time, effort, and scraped fingers merely to do routine maintenance. The time had come: it had to go.

     But as time marches on, bodies age much as machines do. I knew I wasn’t personally up to removing that system and installing a new one. I surveyed local HVAC companies and asked for quotes, delivery / installation times, and technical data about their products. I didn’t see anything that satisfied my most important criteria until by complete happenstance, I mentioned my search to an oil-delivery man. He’d glanced at my old boiler, sniffed, and asked what I planned to do about it. I told him I was in the market, and he showed me a picture.

     I fell in love almost on the instant. The picture displayed a unitary heating / hot water system that was the very image of simplicity. It had obviously been designed by someone who knows what it takes to maintain such systems, and was determined not to inflict on others the horrors that he had experienced in his own trials.

     I wrote and signed a check minutes later. Barely a week afterward, my old heating / hot water system had been removed; the system whose picture I’d been shown was in its place and functioning smoothly. It took only a single day, which is itself a testament to good design.

     When I need a little reinforcement for my shaky confidence in the future of our species, I go downstairs to my machine room and contemplate that heating / hot water system. Everyone whose gaze has rested upon it has awarded it his warmest approval – and not because I was standing next to him with a loaded gun.

***

     Albert Einstein is reported to have said that “Everything should be as simple as possible, but no simpler.” If he really did say that, it might eventually prove to be a greater contribution to human wisdom than any of his others. (Remember what Thomas Jefferson said: “There’s an awful lot of made-up shit on the Internet.”) Simplicity is the most underappreciated virtue…at least, it seems that way to this retired engineer. There are too many examples all around us for that point to be seriously disputed.

     Part of the reason I say that is the great number of practitioners of all sorts whose highest aim seems to be impressing others with how clever they are. It’s a vain undertaking. Cleverness is ephemeral; after a while, practically no one will remember it admiringly, particularly if it has to be ripped out and replaced. People do remember simplicity and its intrinsic elegance. They also remember the modesty of the practitioner who stands back and lets his work speak for itself.

     This is the case in every field of endeavor: mathematics, the sciences, engineering, architecture, music, art, exposition, storytelling, law, what have you. All other things being equal, what is simple and easily comprehended will be honored over what is involute and obscure. That having been said, when involutions are required to solve a problem, one must “bite the bullet” and do what’s necessary…and then document it to the hilt for the succor of those who will, inevitably, come after oneself.

     And when, as time marches on, someone with greater insight or better tools happens along, squints at one’s legacy and contrives a simpler replacement for it, the only appropriate response is applause. This eventually happens to nearly every complexity we must endure, and well that it should be so.

     Let’s make this Year of Our Lord 2023 a year for the pursuit and celebration of simplicity. This is especially imperative for the creators among us, for we are not isolated in time or circumstance. With vanishingly rare exceptions, we all benefit from others’ gifts. Let’s do unto them – known or unknown, present or future – as we would have them do unto us.

     May God bless and keep you all.

2 comments

  1. Yeah, simple.

    Clothing – you should not have to suck in your gut, sit a certain way, or avoid all contact with furniture/people/the environment. You should be able to conduct the normal activities of life, without needing to adjust your clothing constantly.

    Shoes – should look good, provide a stable footing, wear well, and need only a simple polish or toss in the wash to revive them.

    Hair – wash/dry/brush/comb. At that point, little should need to be done to it for the rest of the day.

    Home – maintenance should be easy, furniture should be chosen for comfort, and it should be easy to clean. Carpets should look fresh and wear well. No light carpets that show every stain. When in doubt, throw it out or give it away. Get rid of clutter.

    Outside – avoid the garden gnomes and other tchotchkes. Plant perennials. Spend the time and money to build/buy raised beds that are waist high – your back will thank you. Invest in good, long-handled gardening tools – no kneeling needed. Hire people for the heavy work.

    Scan photos. Other than the really old/valuable/heritage ones, toss ’em. Label them with descriptions of who is in them, where they were taken, and approximately when. Instruct your heirs to burn some memory sticks with the data, and hand them out at the funeral.

    Download online stuff of value once or twice a year – photos, Ancestry files, contact information, tax and other financial records. Make two copies, and leave instructions as to what they are. Make a list of investments, assets, and liabilities, as well as information about your insurance, and who prepared your taxes and will- your executor will thank you.

    Funny, but most people put more effort into making their professional life/job workflow easier than they do their home life.

    • SteveF on January 6, 2023 at 11:38 AM

    Simplicity is the most underappreciated virtue

    Of course. Aside from lost opportunities to impress peers with one’s brilliance, how can a new movement in art be formed by doing things simply? How can a consulting company make money on a business process which can be summarized in on principle and three easy-to-follow steps? No, much better to have a poorly-written manifesto and vague criteria, subject to change, for the new movement. Better to expand the easy-to-follow steps into a 200-page book written by four people whose grasp of English leaves something to be desired, plus a two-day training course at $1000 a pop.

    You should be able to conduct the normal activities of life, without needing to adjust your clothing constantly.

    You don’t need to adjust your clothing if you go through the day without clothing. #FollowMeForMoreLifeHacks

    Funny, but most people put more effort into making their professional life/job workflow easier than they do their home life.

    Quoted for truth.

Comments have been disabled.