Let’s define two terms:
- Technical debt: what you accrue when you make concessions and shortcuts, when you leave defects or imperfections in your code.
- Runway: A fixed amount of time after which your organization runs out of money.
And here are two axioms:
- The only way to get rid of technical debt, is to get rid of runways.
- The only way to get rid of runways is to keep your ambitions modest.
There’s no technical debt if your code mostly works and your ambitions are low.
There are only a few ways to put yourself in a position to feel you’re accruing technical debt. You’re either in a hurry when you’re writing code because of a runway and you’re under pressure, or you generally have anxiety about the code you’ve written, how you feel it’s always incomplete.
But there are a lot of ways to write code that is modest, small in scope, will last a long time, and serves a real purpose. Just like there are lots of ways to build a business. Just like there are lots of ways to build code for a smaller, non-commercial purpose.
If you’re okay with writing code that isn’t optimized to the brim, and you’re okay keeping your ambitions modest, then you’ve already won the optimization race. No need to optimize any further.
Besides, there are other things to optimize for around your idea, like building your audience, investing in relationships, and optimizing for happiness.