Odin in contemplation with laptop
All posts

The Best Ideas Don’t Happen While You’re Coding

Lessons from building Vaulthalla, a self-hosted encrypted cloud in C++: the pause while the compiler runs is where bad abstractions finally stand out.

Cooper Larson1 min read

Every developer knows the moment. You hit compile, and time slows down.


For a few seconds, or a few minutes, you’re in limbo. You aren’t typing, you aren’t debugging, and you aren’t forcing progress. You’re waiting.

That’s exactly when the good ideas show up.


If you work on real systems, you’ve probably lived this pattern more than once:

  • You grind for hours on a problem.
  • Nothing quite clicks.
    • You’re lost in the weeds.
    • You can’t see the forest for the trees.
  • You hit compile.
  • Out of nowhere, the answer is obvious.
  • You slam ctrl + c like your life depends on it.

The breakthrough didn’t come from pushing harder. It came from finally stopping.


Why This Happens

While you’re actively coding, you’re in the middle of the work. You’re:

  • juggling syntax
  • tracking state
  • holding half-formed ideas in your head
  • trying not to break everything

That’s building, and building leaves very little room for clear thinking.


Then you hit compile, everything pauses, and the problem starts to look simple again.


The Limbo State

There’s a very specific window here:

  • The program is compiling.
  • You don’t want to interrupt it.
  • You haven’t distracted yourself yet.
  • You’re not trying to force progress.

You’re just sitting with the problem, and that’s the sweet spot. It’s where:

  • bad abstractions stand out
  • missing pieces become obvious
  • the things that “felt off” finally make sense

The Mistake Most People Make

Most people kill that window immediately. They check their phone, open a new tab, or start on something else, and the thought never gets a chance to finish.


The Move

Let the compile run. Don’t touch anything. Sit there and think.


Some of the best decisions I’ve made on Vaulthalla came while I was waiting for the build, not while I was writing the code.


Final Thought

Compile time is thinking time. Use it.