Ask HN: Have any notable companies failed because of poor code?
I assume that most companies fail because they fail to find product-market fit before running out of money, but are there good examples of companies that have failed because their code was horribly written? What about a lack of tests, or bad coding standards? How about poor architecture or infrastructure decisions?
Comments
Very hard to quantify this. I personally believe many companies fail to find product market fit due to poor execution (bad code being a common culprit) but we don’t say they failed due to bad code. We say they failed to find product market fit.
More broadly there is this idea in tech startup internet bubble land that you just need a novel idea to get you to product market fit. In reality you need to execute. Starting a car company isn’t a bad idea simply because many competitors exist. But you better build great cars. If you don’t, you might be inclined to say “we couldn’t find product market fit”
I think this is close but not quite right. There are many "great" products that nobody wanted to buy. Sure building a great product gives you a chance to succeed, but building a product people want to buy is the real goal.
"Great" is also just too vague to be useful. Is a great car one that's cheaper than the rest? Better mileage? More dependable? More beautiful? More luxurious? Safer for kids to ride in? More fun to drive?
I've always liked the Donald Miller Storybrand framework for figuring out these kinds of puzzles:
https://www.amazon.com/Building-StoryBrand-Clarify-Message-C...
Yeah, but did they fail to build the right things...or did they just write bad code that didn't work? I would assume the former, but you're right, it's hard to quantify. My CEO said something the other day at an all-hands, someone asked what concerns him and he said velocity and then followed it up with not that we're moving slowly but rather he's worried we're building fast just in the wrong direction. I think this happens a lot. I can't think of a single company that failed because they didn't have unit tests, or they chose the wrong DB. I'm sure they're out there, maybe, but it's more common you're going to fail because you built the wrong thing vs the code wasn't tested, no?
I worked at a SaaS company which was just complete shit. They handled a lot of critical B2B data. They frequently went down, together with prod. They had an incompetent lead programmer who would disappear often and take a long time to fix things. They had no processes, they'd store source code in email.
But they have product market fit, in that they operate in a huge market with plenty of suckers. They were good at sales. They could only keep a handful of customers at any one time. Plenty of sales stuff were straight lies - they'd make up clients, used an intern for testimonials, etc.
They're bootstrapped and still around. A VC commented that they were resilient, cockroach like, all the sexy words you use during a recession.
But it's likely they just never grew into a unicorn level because they kept bleeding customers.
Digg had some poor product decisions along with a buggy rewrite that coincided with Reddit's surge in popularity. These along with other factors contributed to its decline (though it still exists but one could deem it a business failure). But for poor code alone, hard to think of any notable cases.
Yeah, I would put that under poor management since they decided a rewrite was necessary when it probably wasn't
Southwest Airlines, just this past winter. Multiple factors were involved, but chief among these appears to have been a series of deficiencies in its "outdated" scheduling system (which upper management was well aware of, but it didn't want to foot the bill for a proper fix).
https://www.npr.org/2022/12/27/1145616523/southwest-airlines...
And from the WSJ: https://archive.is/3ujIL
What about a lack of tests, or bad coding standards?
We don't know the particulars, but one can reasonably infer that the root causes were broader and more systemic than that (i.e. a mix of technical and organizational issues).
SWA hasn't exactly "failed"
It didn't collapse entirely - but by all accounts, it was a major failure.
They're still going pretty strong, from what I see and hear ... IOW, they handled that failure relatively well
You can spin it that way if you want.
It was a good chunk of money out the door for them, in any case.
it's not "spin" :)
they're haven't gone out of business, and show no signs of doing so for the foreseeable future :)
You keep dialing back the definition of "fail" to mean "to go out of business."
In common usage its meaning is far broader -- it can also mean e.g. "to screw up spectacularly" (in a way that cost the company very significantly, even if it isn't forced out of business as a result).
OP asked about a "company failing"
You're the one twisting that into a "a failure which may or may not have been recovered from" :)
You can read it however you want.
But in that context, the meaning was clearly open-ended.
I read it the way it's written: "have any notable companies failed"
Not "have any notable companies had a failure"
Big difference there, friend :)
Knight Capital comes to mind.
Interesting, never heard of that, good story. While I think you're technically right, this isn't quite what I had in mind. :-) This was not really a coding error or lack of quality as more just a mistake from what I gathered from the wikipedia entry
It's hard to know if "their code was horribly written" without privileged knowledge about their code, but we can infer some things or at least formulate some reasonable assumptions based on what factual information is publicly available:
https://www.sec.gov/litigation/admin/2013/34-70694.pdf
A system that can, in a catastrophic failure, single-handedly put your entire company out of business, is what I'd consider mission-critical.
Mission-critical systems should, by definition, be held to a higher standard of quality than non-critical systems.
A mission-critical system that has dead code still in production for 9 years, untested, and allowing the "repurpos[ing of] a flag," suggests the level of quality that may be at play.
Your guess is as good as mine, but this smells like a pretty grievous coding error, lack of quality around deployment processes, and insufficient testing and validation.
For a system that is so mission-critical, that a simple "mistake" put the entire company out of business in one single event, this seems pretty "horrible" to me.
YMMV.
Therac-25 (https://en.wikipedia.org/wiki/Therac-25).
It didn't actually kill the company, just the product line.
Ashton-Tate. They were one of the three largest software companies in the world (together with Microsoft and Lotus) in their time. Then they shipped Dbase IV v1.0, that was full of bugs. Instead of focusing on fixing them and shipping a v1.1, they focused on other products while their customers stopped buying v1.0 and waited for v1.1 with the expected bug fixes. They ended up selling themselves to Borland.
Fun fact: Ashton was actually George Tate's parrot, living in a large cage in the L.A. office.
https://en.wikipedia.org/wiki/Gnolia
I don't think bad code and failing to find product market for are mutually exclusive. A lack of tests, an inconsistent code base, or a shaky architecture can make it hard to make changes, which can freeze software in place. In a sector where product market fit is a moving target, a product that can't evolve is dead.
The successor game to Duke Nukem 3d sunk the company 3d Realms.
https://en.wikipedia.org/wiki/Duke_Nukem_Forever