From Good Enough To Best

It was probably Montesquieu who coined the proto-hacker motto “the best is the mortal enemy of the good”. He was talking about compromises in drafting national constitutions for nascent democracies, of course, but I’ll admit that I do hear his voice when I’m in get-it-done mode and start cutting corners on a project. A working project is better than a gold-plated one.

But what should I do, Monte, when good enough turns out to also be the mortal enemy of the best? I have a DIY coffee roaster that is limping along for years now on a blower box that uses a fan scavenged in anger from an old Dust Buster. Many months ago, I bought a speed-controllable and much snazzier brushless blower fan to replace it, that would solve a number of minor inconveniences with the current design, but which would also require some building and another dive into the crufty old firmware.

So far, I’ve had good enough luck that the roaster will break down from time to time, and I’ll use that as an excuse to fix that part of the system, and maybe even upgrade another as long as I have it apart. But for now, it’s running just fine. I mean, I have to turn the fan on manually, and the new one could be automatic. I have only one speed for the fan, and the new one would be variable. But the roaster roasts, and a constant source of coffee is mission critical in this house. The spice must flow!

Reflecting on this situation, it seems to me that the smart thing to do is work on smoothing the transitions from good enough to best. Like maybe I could prototype up the new fan box without taking the current one apart. Mock up some new driver code on the side while I’m at it?

Maybe Montesquieu was wrong, and the good and the best aren’t opposites after all. Maybe the good enough is just the first step on the path toward the best, and a wise man spends his energy on making the two meet in the middle, or making the transition from one to the other as painless as possible.

11 thoughts on “From Good Enough To Best

    1. Yes, evolution is based on the very principle of “good enough (to reproduce)”. Perfection is a very human concept that seems to stem from our instinctual desire to expend as little energy as possible. If what we did was perfect then we would never have to do it again because it would be “complete”.

      Nature has the winning concept: Produce a variation, test its survival/reproducibility, and repeat ad infinitum. Of course, this works because nature has a lot more time than mere chemical entities like ourselves.

      1. And require wisdoms because – even in the same project – that line is different for each of us; and over time it’ll shift even for yourself.

        E.G. Hacking the hardware and OS of my computer for performance, cost, etc used to be great fun. Now the computer is mission critical and stability is far more important; it needs to just work.

  1. This piece hits home. I used to be a perfectionist, perhaps OCD – ask my therapist about that one. As you can imagine I would rarely “finish” projects. When I did finish projects, I’d realize their minor imperfections and often scrap them before they saw daylight. Looking back some of those were pretty exceptional. Then I became a real corner cutter… but part of that was a study, which I… Never did publish… Anyway.

    Now that I’m older, I am acutely aware of the sometimes invalid Pareto suggestion that “20% the effort gets you 80% the way there”. My new approach to hobby work is different then before, mostly because of lifestyle changes. Getting older means less time to focus on one thing.

    In an effort to hopefully help someone else in a similar phase of life, probably the most important thing I will share is how I am more conservative with cognitive complexity and focusing on the goal of a project. Having to write less notes, often none, I can pick up and drop projects quickly and choose the type of fun I want when Saturday comes. Dropping complexity also means crossing the finish line more. If the goal of a project is to play with a new way to configure something, I will not spend any time building a great case for it – unless that becomes a fun project to do.

    Goals can be staged too like the article mentions. What I found surprising was how often I was only interested in a small piece of something and had nerd sniped myself into trying to build a larger effort which included that tiny piece to give it context. This was less fun and projects would lay about unfinished. Why do 95% unfun things for nothing other then to say “I did”?

    An important addendum for me is also learning not to give 1 moments notice to what someone else may think of something. Most hacks are closer to art then engineering. Nerd cred. regularly has negative hidden value. Especially among nice people. Most of my projects are not shared publicly. What I do share is often just a thought or concept, and nowhere near a honed project. I owe nothing to an engineer being paid 4 times my salary on the internet copy pasting or borrowing my ideas nor their parent company. If you come over for dinner though we could talk for hours about the shelves of things I have created if you wanted too :).

    You may see this as a lack of “discipline”, but the truth is, I have invested a lot of effort to become highly disciplined in spending my short time on Earth how I want too.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.