Hacker News new | ask | show | jobs
by solatic 2920 days ago
Is this really so surprising?

Nobody (well, theoretically someone, I'd like to be proven wrong) has a self-driving algorithm which is formally proven. If we can't get, to use your example, web engineers to formally prove their web applications, when they have all these structural advantages, then how can we expect something unproven (har, har) to be formally proven? So there needs to be an extensive QA test suite.

And for all of these other relatively-mature engineering sectors like web engineering, how many of these companies are really investing in QA? In strong and comprehensive test suites, in security reviews, in performance testing and UX scoring before release? Almost nobody, right? I mean, the only reason why society can get civil and biomedical engineers to submit to strict quality control is through regulation, but no regulatory body has any real idea of how to apply that to software. And autonomous driving systems are supposed to be different?

Mythical Man-Month came out 38 years ago. The Pareto Principle, not so much as being explicitly a 80/20 split but about how the vast majority of the effort is needed to achieve actual completion rather than just a proof of concept, was originally coined in 1896. Suddenly it doesn't apply to Uber?

Is it really so surprising that it's so difficult to find senior practioners in these areas when few companies are committed to that level of quality, and the companies which are tend to be so successful that they can afford to pay compensation at rates so far above the rest of the market so as to ensure that few of their senior engineers ever leave?

2 comments

The reason why there isn't perfect QA for things like webapps is a cost reason, not a knowledge reason.

Society usually doesn't need a formally proven cat pics sharing app, and most web apps, including facebook, are that level of application. They would rather pay a cheaper price than to have a perfect expensive thing.

You'll also notice that as organizations get bigger, they do invest more in testing, QA and regression detection.

A counter example is in the aerospace industry. Most software has to be d-179b certified, which requires not only testing with complete code coverage, but also complete branch coverage. Every possible outcome in every “if” statement must be tested.

Needless to say, this is expensive. I’ve heard estimates that it costs roughly $1000/line of code.

The point is that there are methods to increase reliability, but there isn’t the financial incentive to do so.

Separate point, I’d argue that small organizations also have quite a bit to gain from a solid testing program.

If there is only a single developer working on a project, that developer can manage much much more code if there are solid tests behind it than if she was just winging it with every commit.

At some point the developer starts to forget the code they write and starts relying on the tests they built long ago.

Agreed. AV regulation is early and we're involved in that conversation. We (and I think many in this business) deeply care about safety and believe better technical understanding among lawmakers around software safety will result in better laws. Re: mythical man-month and pareto - 100% true for all AV makers but theory and practice is different. I imagine both their investors and their perception of market forces drive decisions to some degree. This is where you see some gaps (not always) between traditional software lineage companies and traditional OEMs.