Ask HN: Have any notable companies failed because of poor code?

6 points by ryandetzel ↗ HN
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?

25 comments

[ 3.6 ms ] story [ 86.3 ms ] thread
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”

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.

> 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...

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
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

> On August 1, 2012, Knight Capital Americas LLC (“Knight”) experienced a significant error in the operation of its automated routing system for equity orders, known as SMARS. [...]

> Upon deployment, the new RLP code in SMARS was intended to replace unused code in the relevant portion of the order router. This unused code previously had been used for functionality called “Power Peg,” which Knight had discontinued using many years earlier. Despite the lack of use, the Power Peg functionality remained present and callable at the time of the RLP deployment. The new RLP code also repurposed a flag that was formerly used to activate the Power Peg code. Knight intended to delete the Power Peg code so that when this flag was set to “yes,” the new RLP functionality—rather than Power Peg—would be engaged."

> [...] In 2003, Knight ceased using the Power Peg functionality. In 2005, Knight moved the tracking of cumulative shares function in the Power Peg code to an earlier point in the SMARS code sequence. Knight did not retest the Power Peg code after moving the cumulative quantity function to determine whether Power Peg would still function correctly if called.

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.

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.

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 :)

(comment deleted)
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.
https://en.wikipedia.org/wiki/Gnolia

> Ma.gnolia servers lost all data in a complete outage on January 30, 2009.On February 17, Halff announced that due to data corruption, all user data in the database was irretrievable, rendering the site essentially dead.