‹ BackHN Continuity

Thread

Systems that no one will test

154 points · 84 comments · perone

  1. teiferer · · focus · HN ↗
    > I honestly don’t blame them: [...] software is software

    That attitude is the problem. Why does our industry have that attitude towards quality? Every bike shop in my little town is better with quality than the average software shop in the world. Yes, software is more complex than bicycle. But a software engineer also gets paid 10x and has the luxury of spending substantial time on their product, compared to the 10 minutes it takes the bike guy down the street to diagnose and then fix an issue with my bike which I then trust my life with once they are done and I bike through traffic.

    We need to treat software differently. "Oh well, it's just software shrug" does not cut it anymore, if it even ever did.

    1. ngruhn · · focus · HN ↗
      Probably because software can be adjusted at any time on the fly. Especially web applications. Little incentive to get it right from the start and big incentives to keep meddling with what's already working. The bike shop's quality might also deteriorate if it could instantly rollout patches to all customers after the purchase.
      1. aeonfox · · focus · HN ↗
        The incentives change if there's legal repercussions to leaking data. Data breaches can lead to impacts on personal safety and finances, but I think some crisis or serious incident needs to happen before the average person realises this and makes this a big enough political issue.
      2. NichoPaolucci · · focus · HN ↗
        Man - what I wouldn’t give to be a part of the “software on disk” period. When something was shipped it was… complete. There was no “we’ll fix it later”. I bet there were some real standards floating around.
    2. maeln · · focus · HN ↗
      > Why does our industry have that attitude towards quality? Every bike shop in my little town is better with quality than the average software shop in the world.

      Personally, I find that we have been flooded with poorly designed, poorly QA'd, break-after-you-use-it-thrice product. I really don't think we have better quality standard in other industry. Quality, testing, design, etc has a cost and most company rather pull out a new version of their product every quarter than actually make a good product. The exception, which goes for software as well, is life critical applications (most public transit, defense, etc).

      1. TheCapn · · focus · HN ↗
        I have, off and on, for years written diatribes about how if people in our industry want to run around with the "Engineer" moniker at some point they should start acting like it. That means respecting all aspects of what it means to be an Engineer and holding public well-being paramount is part of that. Licensure is part of that. Accountability and Responsibility is part of that.

        I'm usually downvoted. The move fast and break things group seems to be blind (or willfully ignorant) to the harm that software systems can carry on a person's life. I don't know if its fear of regulation, or self-serving interests or some sort of disdain for the idea that we need to slow down and be more accountable to the public or what. At times the people I've engaged with lament on how they're capable but would be barred for lack of formal education or some such and its a distraction from the overall point: we need to be doing better and if we can't self-regulate then at some point we're going to be forced to act in a way that probably cuffs us more than necessary.

        And yes, I understand how Software doesn't exactly fit into the mold of other engineering disciplines cleanly. But I think the idea that if we're going to have systems that can ruin a person's life in a second for a bug or oversight we need to start considering that accountability for those releasing software to the public matters. We lament about the difficulty of holding corporations to account for their harm, but it would be far more difficult for a company's negligence to hurt people if those turning the knobs were held to a higher standard.

        I think that reckoning is coming soon. AI is going to create "an event" that we can't ignore and we're going to be pointing fingers in a lot of directions asking "how" we could prevent this from happening again. I'd argue "the event" has already occurred a few times over but we're purposely ignoring the severity of it to keep a diseased economy running roughshod. There's parallels with many historic events forcing regulation and the path forward won't be clean and easy.

    3. graemep · · focus · HN ↗
      The customers care about the quality of a bike repair. They will pay more for a better repair, and will not return to someone who does a shoddy repair.

      The owner, and probably user, of a bike is the person paying for the repair. It is to their advantage to ensure it is a good repair.

      People expect a repair will be good, and will blame the person who repaired it if not. With software people often blame themselves for issues, and they have no expectation of quality. They also cannot tell quality until after they are committed to using it. Bike shops do not benefit from vendor lock-in.

    4. [deleted] · · focus · HN ↗

      [deleted]

    5. codingdave · · focus · HN ↗
      You just explained why it is not taken seriously, though - your life does not depend on it. Most software is not critical to life. Once you cut out the software that exists purely to streamline capitalism, then cut out entertainment... you've eliminated most software from the picture. The stuff that remains, that drives our infrastructure, cars, anything where a failure could harm someone... that is the stuff where quality matters.

      When I worked in IT at a hospital, we even had that as an explicit line drawn between 2 departments - IT supported everything that had zero impact on patient health, there was an entirely different department for anything that could impact a patient. And yes, their work was often simple mechanical fixes to health care equipment, while our projects were multi-year reinventions of patient record systems and upgrades to the physical infrastructure of the network, etc. But we never got confused as to which department was actually more important to the patients.

      I'm not saying the attitude is OK. It would be lovely if everyone cared about quality. I'm just saying there is a somewhat legit reason for it.

    6. vjk800 · · focus · HN ↗
      Quality does pay off, however.

      You could say that the entire selling point of Apple is that it's better quality than the competitors (even though it's still pretty bad if you compare it to a bicycle).

      I guess it's more difficult to spot quality when it comes to software. I would definitely pay for high quality software. It's just that usually the crap quality of a software I'm using only shows slowly over time in little bugs and bad usability and there's no way for me to check for it beforehand.

    7. frereubu · · focus · HN ↗
      > Yes, software is more complex than bicycle.

      In ethical terms I agree that software quality should be better, but I think this line is too dismissive. Software is a few orders of magnitude more complicated than a bicycle, to the point where I would say it's an entirely fruitless comparison.

    8. structural · · focus · HN ↗
      The equivalent bike repair to software would be if the bike shop had to fabricate a new part for each repair, down to inventing the metallurgy itself. Would you trust your life to it immediately after that? Or would you make sure it was strong enough first?

      In the simple case, the shop isn't really repairing your bike, it's deploying a fix (a new part) that has already been designed and manufactured. This is a much different and easier thing to do.

      In the case of new features, let's say you wanted your bike to also attach a kite, so it went faster on a windy day. The bike shop proposes to do this by attaching the kite to a bolt that they want to put in the frame by drilling a hole all the way through this frame. Is this acceptable to do? Maybe, but who knows, really? How much testing do you want to happen before you trust your life that the frame won't collapse?

      There's a lot of effort put into engineering things we take for granted every day. The upside to software is we think we can change it to easily do anything. The downside is if you care about reliability then that ten minute / one line change has hundreds to thousands of hours of test program behind it that we collectively pretend doesn't exist.

    9. Jean-Papoulos · · focus · HN ↗
      Software is more than 10x more complicated than a bicycle though. Like, this is orders of magnitude off ; we're talking about comparing something purely mechanical to Turing machines inside Turing machines.
Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.