Skip to the content.
2024/05/05

Have you tried not doing it?

Shunryu Suzuki said: If your practice makes you worse, it is ridiculous.

Sometimes the most impactful improvement you can make is to stop doing something.

In context, that’s not exactly what Suzuki meant, but also in content, it’s precisely what he meant.

Richard Thaler coined the term sunk cost fallacy for the idea that because you’ve put a lot of work into something, you should keep doing it. That’s one thing that makes it hard to stop a ridiculous practice that’s making you worse.

Serious advice?

Shunryu Suzuki: Each of you is perfect the way you are … and you can use a little improvement.

Richard Thaler: A good rule of thumb is to assume that everything matters.

When everything matters, you need to take everything into account to make optimal decisions. That’s a lot of cognitive load. To squeeze a little improvement out of perfection, it can help to reduce the scope of what matters - to constrain “everything”.

Great, I’m already perfect, now I want to improve my software

Neither Suzuki nor Thaler said: There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.

That was the inventor of Quicksort, Tony Hoare.

Software is better overall when it’s simpler. Software that is simple can be understood by more people. Software that doesn’t exist at all has no maintenance cost and no bugs.

If your practice is complexity, it may be ridiculous.

Simplicity takes work

Je n’ai fait celle-ci plus longue que parce que je n’ai pas eu le loisir de la faire plus courte. - Blaise Pascal, 1657

(“I have made this [letter] longer than usual because I have not had time to make it shorter.”)

It’s easier to throw every thought into your text than to edit it down to something punchy (ask me how I know!). Centuries ago, Blaise Pascal knew that concision takes work.

Whether you’re writing prose or code - or working on “self improvement” - putting in the work to produce a simpler outcome often pays off in the form of a better outcome.

Simplicity isn’t always more fun

If we’re lucky, someone has already done this and we’ll use their code. If I am lucky, nobody has done it and I get to write the code! - Me, last week

Often the simplest thing to do is to use an existing solution, even if it’s not perfect. If you like writing software as much as I do, it’s tempting to write code - particularly if the code is simple - but code you write is code you and/or your team must maintain.

Even if the code itself is simple, its build infrastructure has to be maintained, and documentation, and so on.

Sometimes that’s less simple than pulling down updates to someone else’s code.

Simplicity can be in the eye of the beholder

The marble not yet carved can hold the form of every thought the greatest artist has. - Michelangelo (Not the Ninja Turtle)

Expression can be a subtractive process. Michelangelo famously conceptualized his work as removing the marble that naturally encased the statue he wanted the world to see.

Michelangelo’s David has less mass than the block of marble that originally contained it. Is it simpler, or not, than the original chunk of unworked marble?