Tech Debt
Napoleon is assumed to have said in war there is nothing more important than the sound of the cannon.
Since I live in France I am going to use his quote.
During the early stage of a startup, engineers have to take technical debt to stay competitive. This is usually to unlock growth features (such as business customers) or an adjacent second product.
No tech debt == no startup or serious loss to a competitor.
So not taking tech debt is not an option.
However the way you take the debt is what makes all the difference.
You can take a financial debt that is scoped, can be repaid versus one that will burry you in interests and will cause you to go bankrupt.
Literally the same with tech debt.
What this means is a tech debt that is isolated, scoped and is well thought that usually does not span the full stack.
Use sound engineering judgment while or even more importantly when taking tech debts.
Otherwise you could be signing on your own bankruptcy by making your repo impossible to monitor or maintain for any new features or bug fixes.
Rewrites ends up being the only option at an incredible risk and cost for your company.
Software Engineering from the Frontlines Course on Maven
If you liked this article, I will be teaching a “Software Engineering from the Frontlines” course on Maven where I will teach hard-learned lessons I acquired developing large-scale products at companies such as Uber, Airbnb, and Microsoft.