3 ms·
When I've seen companies sink for technology reasons, it's usually been because of the cumulative effect of tech debt accumulating over a couple years. Enginee
by nostrademons 5y ago
When I've seen companies sink for technology reasons, it's usually been because of the cumulative effect of tech debt accumulating over a couple years. Engineers need to hit a launch deadline, so they throw in some global variables or make a few private APIs public in the interest of expediency, figuring that they'll clean it up later. Later comes, and the engineers move onto new projects instead of cleaning up the previous mess. New code gets written that depends on the previous hacks. Eventually you end up with a big ball of mud that breaks whenever anybody touches it, and nobody can launch any new features. Now the company is forced into the position of rewriting everything from scratch, but can't do so strategically, they just need to do it now because they don't have any other options.
Companies failing for "big" single decisions - like rewriting their code from scratch, or a poor tech stack choice, or a poor initial architecture - are much more rare, for the simple reason that most experienced technical leadership knows that these are risky decisions and tends to put a lot of thought into them, and then there's a lot more organizational commitment to following through on the decision once it's been made. Also, if done from a position of market leadership, you can usually recover from them - many startups start with a poor tech stack and poor architecture, and just assume that they'll rewrite everything once they get lots of funding and a suitable lead over competitors. The insidiousness of the "creeping tech debt" scenario is that you often don't realize you're screwed until you've fallen behind the competitors, which means you enter the "rewrite and tech switch" scenario from the position of being market laggards, which can kill you.