Most active commenters
  • ChrisMarshallNY(8)
  • herval(3)

←back to thread

449 points lemper | 25 comments | | HN request time: 0.246s | source | bottom
Show context
benrutter ◴[] No.45036836[source]
> software quality doesn't appear because you have good developers. It's the end result of a process, and that process informs both your software development practices, but also your testing. Your management. Even your sales and servicing.

If you only take one thing away from this article, it should be this one! The Therac-25 incident is a horrifying and important part of software history, it's really easy to think type-systems, unit-testing and defensive-coding can solve all software problems. They definitely can help a lot, but the real failure in the story of the Therac-25 from my understanding, is that it took far too long for incidents to be reported, investigated and fixed.

There was a great Cautionary Tales podcast about the device recently[0], one thing mentioned was that, even aside from the catasrophic accidents, Therac-25 machines were routinely seen by users to show unexplained errors, but these issues never made it to the desk of someone who might fix it.

[0] https://timharford.com/2025/07/cautionary-tales-captain-kirk...

replies(13): >>45036898 #>>45037054 #>>45037090 #>>45037874 #>>45038109 #>>45038360 #>>45038467 #>>45038827 #>>45043421 #>>45044645 #>>45046867 #>>45046969 #>>45047517 #
1. ChrisMarshallNY ◴[] No.45038827[source]
I worked for a company that manufactured some of the highest-Quality photographic and scientific equipment that you can buy. It was expensive as hell, but our customers seemed to think it was worth it.

> It's the end result of a process

In my experience, it's even more than that. It's a culture.

replies(2): >>45038936 #>>45042622 #
2. franktankbank ◴[] No.45038936[source]
A culture of high-quality engineering, no doubt. Made up of: high quality engineers!
replies(4): >>45039171 #>>45039214 #>>45040858 #>>45044538 #
3. ChrisMarshallNY ◴[] No.45039171[source]
Yes, but some of them were the most stubborn bastards I've ever worked with.
replies(2): >>45039449 #>>45042921 #
4. anonymars ◴[] No.45039214[source]
Isn't that exactly the opposite of the point being made?

> software quality doesn't appear because you have good developers

replies(1): >>45039274 #
5. ChrisMarshallNY ◴[] No.45039274{3}[source]
Not really.

Good developers are a necessary ingredient of a much larger recipe.

People think that a good process means you can toss in crap developers, or that great developers mean that you can have a bad process.

In my experience, I worked for a 100-year-old Japanese engineering company that had a decades-long culture of Quality. People stayed at that company for their entire career, and most of them were top-shelf people. They had entire business units, dedicated to process improvement and QA.

It was a combination of good talent, good process, and good culture. If any one of them sucks, so does the product.

replies(1): >>45040960 #
6. franktankbank ◴[] No.45039449{3}[source]
That's high praise I'm sure.
replies(1): >>45039581 #
7. ChrisMarshallNY ◴[] No.45039581{4}[source]
The results spoke for themselves, but it could be maddening.
8. herval ◴[] No.45040858[source]
you don't need "high quality engineers" to have high-quality outputs. And vice-versa - lots of places with very high quality engineers produce terribly low-quality software
replies(3): >>45041010 #>>45046913 #>>45049974 #
9. ChrisMarshallNY ◴[] No.45040960{4}[source]
It really is funny how any discussion of improving software quality becomes unpopular, here.
replies(1): >>45045346 #
10. ChrisMarshallNY ◴[] No.45041010{3}[source]
I guess we see things differently.

They don't need to be especially talented engineers, but, in my experience (and I actually have quite a bit of it, in this area), they need to be dedicated to a culture of Quality.

And it is entirely possible for very talented engineers to produce shite. I've seen exactly that.

replies(1): >>45047204 #
11. f1shy ◴[] No.45042622[source]
It is a culture. No doubt. And certainly not only processes. I work in a company where there are literally processes for everything. For every engineer doing actual work (requirement engineering, architecture, coding, testing) there are at least 3!doing processes. The SW we make is the ultimative piece of shit, late, expensive, and to the brim full of bugs. So process is importannt, but good engineering, and culture also.
12. snerbles ◴[] No.45042921{3}[source]
They have to be.
13. kulahan ◴[] No.45044538[source]
Unfortunately, software developers are the absolute most offensive use of the word "engineer", because 99.9% of the stuff this field makes is a competition to take the most unique approach to a solution, then getting it bandaged together with gum and paperclips.

If this industry wants to be respected, it should start trying to be actual engineers. There should be tons and tons of standards which are enforced legally, but this is not often the case. Imagine if there were no real legal guardrails in, say, bridge building!

edit: and imagine if any time you brought up this issue, bridge builders cockily responded with "well stuff seems to work fine so..."

replies(5): >>45044851 #>>45045578 #>>45048657 #>>45049963 #>>45120141 #
14. ponector ◴[] No.45045346{5}[source]
Not only here. Everyone wants to use a quality products, but no almost one is committed to deliver quality products/services.

No one is working on quality, everyone works on new features. There is usually no incentive to increase quality, to improve speed, performance, etc.

15. ChrisMarshallNY ◴[] No.45045578{3}[source]
Yeah, this is a fairly classic challenge.

When it comes to safety stuff (like bridge building), there are (and should be) strict licensing requirements. I would have no problem requiring such for work on things like medical equipment, We already require security clearance for things like defense information (unless you're a DOGE bro, I guess). That's a bit different from engineering creds, but it's an example of imposed structure.

But I think that it would be ridiculous to require it for someone that writes a fart app (unless it's a weaponized fart app).

What is in those requirements then becomes a hot potato. There are folks that would insist that any "engineer" be required to know how to use a slide rule, and would ignore modern constructs like LLMs and ML.

I'm not kidding. I know people exactly like that. If they get authority, watch out. They'll only "approve" stuff that they are good at.

On the other hand, if the requirements are LeetCode, then it's useless. A lot of very unqualified people would easily pass, and wreak havoc.

From what I can see, the IEEE seems to have a fairly good grasp on mixing classic structure and current tech. There's some very good people, there, and they are used to working in a structured manner.

But software has developed a YOLO culture. People are used to having almost no structure, and they flit between organizations so rapidly, that it's almost impossible to keep track of who is working on what.

The entire engineering culture needs to be changed. I don't see that being something that will come easily.

I'm big on Structure and Discipline. A lot of it has to do with almost 27 years at a corporation with so much structure that a lot of folks here, would be whimpering under their standing desks.

That structure was required, in order to develop equipment of the Quality they are famous for, but would be total overkill for a lot of stuff.

I do think that we need to impose structure on software supply chains, though. That's not something that will be a popular stance.

Structure is also not cheap. Someone needs to pay for it, and that's when you become a real skunk at the picnic.

16. fesenjoonior ◴[] No.45046913{3}[source]
> you don't need "high quality engineers" to have high-quality outputs.

[citation needed]

replies(1): >>45047189 #
17. herval ◴[] No.45047189{4}[source]
37signals and craigslist are two examples (and they’re open about their engineering being sub-par). If you consider FB products “high quality”, it’s another example (the average FB developer is anything but “high quality”, by most definitions). Palantir is another example, with a horde of junior engineers and famous for bad practices (yet here they are commanding the US military). And so on and so on. The inverse is also true - plenty of stellar teams producing irrelevant or low impact products.
replies(1): >>45048619 #
18. herval ◴[] No.45047204{4}[source]
A culture of quality doesn’t require particularly skilled individuals to function.

That’s in fact the thesis for the entire Deming management philosophy, and in line with what I’m saying (you can produce high quality with a good process or a good culture, you don’t necessarily need high caliber individuals)

replies(1): >>45048112 #
19. ChrisMarshallNY ◴[] No.45048112{5}[source]
Japan used a lot of Deming’s theories, to significant success. I worked for a Japanese company.

In my case, the company produced absolutely top-shelf stuff, but even relatively mediocre companies did well, using Deming’s techniques. It required that everyone be on board, wrt the culture, though.

But I have found that a “good” engineer is one that takes their vocation seriously. They may not be that accomplished or skilled, but they have self-discipline, humility, and structure.

I’ve met quite a few highly-skilled “not-good” engineers, in my day. I’m embarrassed to say that I’ve hired some of them.

20. jeltz ◴[] No.45048619{5}[source]
FB products are low quality as is 37 signals. I don't think you necessarily need geniuses to build good products but your examples are bad.
21. waste_monk ◴[] No.45048657{3}[source]
My university offered (not sure if it still exists) a software engineer degree that was part of the school of engineering, had a mix of courses from the school of engineering and school of math and IT, and at the end of it you would be eligible to take the local equivalent of the PE exam and become a Real Engineer (I think technically you would be in the field of mechatronics).

IMO this should be the standard - software engineer should be a protected title, and everyone else would be titled some flavour of software developer or similar.

replies(1): >>45071172 #
22. Cthulhu_ ◴[] No.45049963{3}[source]
There are tons and tons of standards, some of which are enforced legally - you can't just supply software for the government, the military, banks, companies etc without certain certifications like ISO 9001, ISO/IEC 27001, etc

Now I'm not an engineer nor at all aware of what these standards actually mean, I'm sure they're pretty common sense and nowhere near as detailed as bridge building standards.

23. Cthulhu_ ◴[] No.45049974{3}[source]
The article and GP mentions this as well in a roundabout fashion; a high-quality engineer is a waste if the organization around it fails. It's better to have mediocre developers in a mature organization than a hero developer working in the shadows. I've seen a few.
24. kulahan ◴[] No.45071172{4}[source]
This is absolutely my belief as well. I think it currently detracts from the title of other, Real Engineers.
25. I_dream_of_Geni ◴[] No.45120141{3}[source]
"Software developers are the absolute most offensive use of the word "engineer".

This, exactly this! I am a retired Aerospace engineer. 8 years of engineering studies at college and 2 years of work study before I was hired.

My son considers himself a "software engineer" and I have told him many times that he is NOT an engineer. He was homeschooled (so, pat my back there), never went to college, never studied programming at all. Yet he makes between $200K-$250K per year, 5 TIMES what I made as a Senior Engineer at Boeing. smh