ideaette

The "Procrastinating" Perfectionist

"Having something working but ugly is always better than something that's perfect but doesn't work"

5 min read

Context

Went to Fahrenheit this morning, had my regular coffee and chat with my cafe-friends. These friends are older than I am, a few of them work in tech, some of them have worked in startups, others in academia. The thought of grad school vs getting a job is stressing me out. Will I get the most value out of a masters, or having more time to explore my interests while working?

[A] “what are the benefits and (opportunity cost) of each?”

[B] “why do I want to pursue grad school?”

[C] “what is my niche that I should pursue in grad school?”

[D] “which will allow me to best spend the next two years of my life?”

Scenario

“let me start a project”

[1] “what do I want to achieve?”

[2] “let’s list out all its functions”

[3] “how will everything come together at the end?”

[4] “what should I do now to make sure things come together?”

[5] “how can I plan this to make the project more modular and to save myself time down the line?”

[6] “I should think about how I would approach this problem, from the point-of-view of what I would do if I were to look back in a few months”

That is what goes through my head whenever I start a project.

The questions get longer and longer…

Thoughts 1-3 are practical, necessary planning.

Thought 4 is an immediate action item, except the scope is starting to grow…

Thought 5 creeps into optimization territory, and

Thought 6 becomes a hypothetical

In [context], thought C was where I began to feel the scope grow, and D was where I started to optimize.

This is the subconscious self-induced exploding complexity problem that I face often, and I’m assuming other perfectionists go through a similar thought process.

Satisfaction

Solving the problem perfectly on the first go brings so much satisfaction.

Except:

  • Did I solve the right problem?
  • Is it actually perfect?
  • Let’s be honest, that wasn’t my first go

So I end up dumping so much time into a rabbit hole that rarely pays off.

“But it doesn’t matter whether it’s functional if it’s ugly. I’m not satisfied unless the result is perfect”

(let’s sit on this thought a bit)

Pitfalls

Premature optimization is bad

  • I am optimizing based on many assumptions. The project can/WILL change along the way
  • These optimizations may be perfect at this moment in time, but they generally make your life harder later on

Hypotheticals aren’t helpful

  • Don’t worry about something you can’t control right now
  • Don’t waste time thinking/working on something that might not end up coming true
  • Your time is better used getting something working first

Consequences

Exploding complexity is draining

Then you feel overwhelmed, because the problem becomes too complicated

Now you’re stressed about how you can complete this at all

Not even completion, but where to get started?

You don’t know where to start, so you don’t get started…

Solutions

I don’t know if these solutions will work, but it’s a simple framework that I think can get me started.

Local Perfection

  • Stop thinking, then backtrack a little once I realize my mind starts to optimize a problem
  • Plan small stepping stones that are independent of each other, which won’t be too much of a timesink to get perfect
    • This is like the “agile” methodology for tech development

** The time and effort cost to make perfect should be small relative to the time and effort it takes to get functional

  • Hope this passes my perfectionism threshold
  • Then move on to “obsessing” over the next problem (in a controlled manner)

Step Back

  • Visualize your progress in the greater scheme of things
    • Did I dig myself into a rabbit hole?
  • Looking from afar, you’ll probably see that much of the “complexity tree” stemming from your project hasn’t even started
  • To my naturally-optimizing brain: “I think you can optimize the amount of time you’d need to spend on this project from starting on a different part!”

Applying the guidelines

(I actually wrote this section last, even though it’s not the end of the article)

I am using my guideline as I am writing this, in a plain text document.

The writing is not perfect, much of it isnt even in sentences, but I am getting my points across.

I already have a substack setup so I will be posting this there (my brain told me to make a static git page and posting it there, so I’m actively controlling this exploding complexity)

This only took 45 mins, and it was nice to reflect back on my chat this morning with my friends.

Hopefully this helps someone out there on the internet. - Angus (actually this time)

Takeaways

Try reframing the problem to optimize for time, instead of optimizing for hypothetical-quality (things that far out in the future are purely speculative). Once you’re most of the there with everything functional, you can use the spared time to actually perfect the final product.

Constrained Perfectionism is a superpower. People with these skills are the ones with a vision of how things should work. For most scenarios going past diminishing returns is not worth it, but in those other rare cases, perfectionism is an art and a key differentiator.

Perfectionists may appear to be procrastinating, but they’re actually struggling internally.

If your peers are handicapped by perfectionist approaches, help them to step back, and realize how inefficient it is to optimize at inconsequential stages.

- Angus

#thoughts