· Jonathan Cutrer · Life · 4 min read
On the Virtue of Quitting Things
Not finishing something you started isn't a character flaw. Sometimes it's the most efficient thing you can do.
I’ve quit a lot of things. Arch Linux. A half-finished SaaS idea. A cycling event I’d trained four months for. A job I was good at. An open-source project that had twelve stars and one contributor, who was me.
For a long time I carried each one as a small failure, proof of some character inconsistency. The framing was entirely wrong.
The Sunk Cost Problem
“The sunk cost fallacy is the tendency to continue an endeavor in which you have already invested resources, even when the expected outcome no longer justifies continuing.”
Every developer I respect has a graveyard of abandoned projects. The ones I’ve talked to openly are better engineers for it — they learned to read the difference between “this is hard and worth pushing through” and “this has stopped returning value.” Those are not the same signal.
The cycling event I dropped out of, fifty miles short of the finish, was the right call. The temperature was 104°F, I’d cramped twice, and I had a work deadline the next morning I’d somehow forgot to account for when registering. Finishing would have been stubbornness dressed up as toughness.
“Quitting when things get hard is different from quitting when the calculus changes.”
The calculus changed on that ride around mile 50. I stopped because continuing would have cost me three days of recovery and a missed deadline for about fifteen minutes of satisfaction at the finish line. That’s not a trade I want.
On Side Projects Specifically
Most side projects should die. This is not cynicism — it’s how the math works. You start with an idea that seems generative, you invest a weekend or two, and then you learn something new: the market doesn’t care, the technical approach was wrong, someone shipped it better, or you just don’t want to spend your evenings on it anymore.
“If you finish every side project you start, you’re not starting enough of them.”
I don’t know who told me that first, but it stuck. The point isn’t to be flaky. The point is that exploration necessarily involves dead ends, and treating every dead end as a failure makes you risk-averse in a domain where risk tolerance is the whole game.
The Stuff Worth Finishing
The distinction I’ve landed on: quit when your reason for continuing is inertia, not conviction. Keep going when the resistance is the point — when the hard part is the part that teaches you something, or produces something, or gets you somewhere real.
The SaaS I abandoned three months in? The reason I kept working on it past the first week was “I already told people about it.” That’s inertia. The PostgreSQL query tuning I spent three weeks on at work? That was conviction — there was a real performance problem with a real business impact and I wanted to solve it correctly.
The difference felt like this: one of them, I dreaded working on. The other, I kept thinking about at the gym.
Dread is data. When the work feels like something you’re enduring rather than doing, that’s worth paying attention to.
What I’ve Stopped Apologizing For
Neovim. Not because it’s better for everyone, but because it’s right for me and I don’t need to relitigate it every six months. CoffeeScript — which I was briefly very into in 2013 and which I abandoned completely and correctly. The cycling event. The SaaS. Emacs, twice.
None of these left any lasting damage. Several of them taught me something I still use. The ones that would have damaged me are the ones I would have kept grinding on past the point where they made sense.
Knowing when to quit is a skill. I’m still working on it. But I’m getting better at not apologizing when I use it.