Tech Now Pay Later
Technical debt is a metaphorical term used in software development that refers to the cost of delaying necessary software maintenance, updates, or improvements to prioritize other tasks, such as meeting deadlines or delivering new features. Just as financial debt incurs interest, technical debt also accrues interest in increased complexity, decreased productivity, and increased risk of errors or failures.
We always think tech debt is terrible. But as Soojin Ro pointed out, we learn a thing in Finance 101.
Businesses intentionally create debts to boost liquidity. Similarly, you get a functional code right away by incurring a tech debt right now. This significantly reduces the Time to Market, which is more important than brilliant engineering. Alas, your service must first serve someone for that elegant code to run!
The Engine Equation comes handy here. An engine takes time (a type of resource) and assets to create utility. Interestingly, this engine equation is a function that takes time. If you want to put in less value (help or time) right now, you need to pay it later. Therefore, incurring technical debt is an optimizing technique for the engine function equation by prioritizing time over other resources in the short term.
This approach is similar but different from Service Shimmings; faking a service until you make it. But what is the same is creating market value (liquidity of the service) before the tech is ready. In that sense, Tech Now Pay Later might be better terminology.
- bad vibes word
- implies bad things
- tainted by its capitalist counterpart
code now pay later
— clip studio pain (@freezydorito) January 29, 2023
The initial version of https://t.co/7lv0YYHdVO used TXT files as its "database".
Instead of worrying about which DB to use for your project and/or if it scales – sometimes you just gotta ship it and iterate later.
"Avoid premature optimization" – wise words by @Levelsfyi 👏 https://t.co/QTT9qIoVHS
— Steven Tey (@steventey) February 19, 2023