Let’s face it. You have debt, I have debt, the entire tech world is built on technical debt. What’s the worse thing that can happen when all of our software is built off a pile of technical debt? Well, would you drive on an overpass built with the modeling clay that was used to green light that project? Yeah, didn’t think so. In the beginning stages of building a product, it’s easier to cut corners and make quick decisions. No one sits there and says to their investors, "We understand you want a quick return on the nice big check you wrote, but we are trying to figure out if the platform should be made using blockchain or Rails 5." (Yes, I know those are VASTLY different things, work with me here).
CAST Software found the average per-line cost of technical debt to be $3.61, and for Java code, a staggering $5.42. Interesting Forbes Article
You want to build a platform, go to market quickly and get that sweet, sweet validation that users actually want what you built. I’m not here to kill your dreams or to tell you to move slowly. After all the tech industry is famous for "fail fast." What I want to suggest is that as soon as you go to market with viable product, start thinking through those long-term consequences. That time you choose X, when you really knew Y would have been a better long-term solution. Do you have time to clean up that 53 line function in your Android app? Can that unit test use a few more, obvious, edge cases? You and I both know the resounding answer is: "YES!"