I didn't listen to the interviews but, as a pure software person I've observed the following:
1. Most software 'engineers' are more like technicians, plugging libraries into each other
2. A very small subset of software writers are in fact doing real engineering
I'm working with a semiconductor company at the moment, with traditionally trained engineers, many of whom are 25+ year vets from industry and academia. Semiconductor design makes most software 'engineering' look like children playing with safety scissors. In silicon, the bar to ship is nothing short of literal perfection. When's the last time you shipped a software project with 0 known bugs, spent tens of thousands of hours on testing (design verification), and improved on the best-yet-achieved-by-humans performance by 2x - 5x? Never? Same.
It seems to me the reason this question gets asked is due to the massive gulf between software and other engineering disciplines in terms of the level of rigor and correctness brought as table-stakes. As others have pointed out, software has the luxury of being able to hotfix bugs (correctness, and performance) after release. This has led to most of our industry being extremely sloppy, lazy, and frankly kind of embarrassing. Software shipped today is dramatically less efficient, more buggy, and sometimes even less useful than software shipped just 10 years ago, let alone 15 or 25.
I don't have a solution for this problem, but I hope we can one day hang the big-engineering-boys-and-girls, and, ship quality software again.
I'd like to say I fully agree with you, but I don't think this "perfection" you talk about is usually reached, not even in your exceptional domain: Remember the living lists of CPU errata! And retpoline, meltdown, spectre! God only knows how many of those are out there, unknown or actively exploited.
It's true I was in a bit of a dramatic mood, but there really is truth in that statement; at tape-out (release), 0 known-bugs will exist. That's not to say 0 total bugs exist which, as you correctly point out, is obviously and demonstrably not true, but to the best knowledge of people working on the product at the time, it works perfectly.
Hardware people are not the pinnacle of engineering correctness — that would go to people who do formal verification. Unfortunately not even mathematicians think the price is right.
> 1. Most software 'engineers' are more like technicians, plugging libraries into each other
You didn't mine, smelt, and manufacture the raw material yourself? Sorry, not an 'engineer', technician only. You're using other people's stuff to do your thing.
I didn't listen to the interviews but, as a pure software person I've observed the following:
1. Most software 'engineers' are more like technicians, plugging libraries into each other
2. A very small subset of software writers are in fact doing real engineering
I'm working with a semiconductor company at the moment, with traditionally trained engineers, many of whom are 25+ year vets from industry and academia. Semiconductor design makes most software 'engineering' look like children playing with safety scissors. In silicon, the bar to ship is nothing short of literal perfection. When's the last time you shipped a software project with 0 known bugs, spent tens of thousands of hours on testing (design verification), and improved on the best-yet-achieved-by-humans performance by 2x - 5x? Never? Same.
It seems to me the reason this question gets asked is due to the massive gulf between software and other engineering disciplines in terms of the level of rigor and correctness brought as table-stakes. As others have pointed out, software has the luxury of being able to hotfix bugs (correctness, and performance) after release. This has led to most of our industry being extremely sloppy, lazy, and frankly kind of embarrassing. Software shipped today is dramatically less efficient, more buggy, and sometimes even less useful than software shipped just 10 years ago, let alone 15 or 25.
I don't have a solution for this problem, but I hope we can one day hang the big-engineering-boys-and-girls, and, ship quality software again.