The Software Industry needs to fully implement "The Grand Unified Programming Theory: The Pure Function Pipeline Data Flow with Principle-based Warehouse/Workshop Model".
Because it is an IT version of the best practice in the manufacturing industry. It has the advantages of simplicity, consistency, high performance, stability, reliability, observability, repeatability, easy combination, easy maintenance, etc.
> As I write this on an early July morning, 200-plus corporations, including many retail chains, have inoperative IT because extortionists found a hole in some niche, third-party software product most of us have never heard of. As I write this, millions of cars have gotten stolen due to vulnerable lock mechanism. A thief can with simple toools just open the door, start the car and drive away. Do we sue the engineer d…
You can't really steal a modern car, at least with simple tools. Everything is now digitally interlocked by a password contained within the key and keyfob itself.
The other types of engineering the author refers to that are subject to certification involve the physical safety of other people. But still, plenty of software development roles are subject to professional liability, particularly where the work is linked to people’s physical safety. As a contractor or director of a company providing software services, I’ve been required to have professional indemnity and public liab…
"This is a rant about a non-problem." Every time I buy a 'smart' version of a product, whether its a light or coffee machine, it becomes 10x less reliable. When your coffee machine is mining bitcoins because it's software is written in javascript and someone paid the author of left pad, that funny. When half the city comes to a hault becauae the same thing happened to traffic lights..
For consumer products like coffee machines and light bulbs there are consumer protection laws, electronic device safety certifications, product review sites, brand reputation and word of mouth recommendations. It’s hard to imagine what kind of regulations would further improve things. (Consider also that many of these products are designed and produced in other countries, so we need to figure out how to force all those other countries to enforce the certifications that we demand).
I’ve not heard of a traffic light failure due to the control system mining Bitcoin, and any software engineer who did that or allowed it to happen would find their career over pretty quickly.
> As I write this on an early July morning, 200-plus corporations, including many retail chains, have inoperative IT because extortionists found a hole in some niche, third-party software product most of us have never heard of. As I write this, millions of cars have gotten stolen due to vulnerable lock mechanism. A thief can with simple toools just open the door, start the car and drive away. Do we sue the engineer d…
You having your car stolen, and software used across a company having a vulnerability are different in terms of scale though. If a whole shipment of cars was stolen due to a lock flaw (which is admittedly contrived), then I'd imagine whoever owned the cars would have a problem with the maker of the cars.
In Quebec/Canada there is this huge company called Trigone. They build all kind of big buildings here and their modus operandi was to create shell companies around Trigone. So the shell company would build the building and instantly bankrupt after. The people who bought part of the new building were stuck with all kind of problems and no way to fight back. The RBQ which is the agency in charge of making sure the rule…
The construction industry in Quebec has been synonymous with organized crime for many decades. Olympic stadiums falling down. Bridges over freeways collapsing and crushing commuters. Cutting one limb off a rotten tree does not stop the rot if it goes all the way to the roots.
> As I write this on an early July morning, 200-plus corporations, including many retail chains, have inoperative IT because extortionists found a hole in some niche, third-party software product most of us have never heard of. As I write this, millions of cars have gotten stolen due to vulnerable lock mechanism. A thief can with simple toools just open the door, start the car and drive away. Do we sue the engineer d…
It's not exactly the same though. Stolen cars does not have the potential to affect your daily day life as broken software can.
I agree that the blame does not lie on the engineers that created the cars or software though. In the end it's a problem of cost, you could write better software, but it would cost you time, money and shifted focus in the education of software developers and so on. Users are not willing to pay for that cost, they are very upset when reality bites them in the rear though...
The other types of engineering the author refers to that are subject to certification involve the physical safety of other people. But still, plenty of software development roles are subject to professional liability, particularly where the work is linked to people’s physical safety. As a contractor or director of a company providing software services, I’ve been required to have professional indemnity and public liab…
> It’s absurd that the same standards of liability would apply to an aviation software job vs the part time IT guy While I agree, the reality is that the part time IT guy is generally far more certified than the high paid software developer, which I find far more absurd.
> generally far more certified
Hardly. Any software developer working on systems that risk people’s safety - eg avionics, automotive systems, medical devices, traffic control systems - would be required to have advanced university qualifications. Google at least used to require all its software engineers to have masters degrees. Do they still? People I’ve know to work in software dev jobs at Microsoft and even mid-level companies like TripAdvisor and SurveyMonkey have PhDs. Other tech companies like IBM and Accenture sure would require at least bachelor degrees.
But sure, plenty of software developers have no formal qualifications or liability. And they’re not working on stuff that directly risks people’s physical safety.
I think rather than broadly comparing software engineering to other engineering professions in general, it would be more apt to compare it to plumbing specifically. Building bridges, planning houses and roads, etc often comes with strings attached because lives are at stake. Focusing on this distinction and then dismissing the argument as it's not applicable to software short of a few specific areas is easy, but missing the forest for the trees. Plumbing is a better comparison. Most of the time, there's no life-threatening danger involved (although there are exceptions). In general though, failures are simply both very unpleasant and get expensive fast. If you need to replace an old tap you may be able to do get it done on the cheap or even do it yourself, but if you want to run water for a whole building, you will most certainly want someone who comes with certifications, liability insurance, etc. In the long run, as a society we would benefit greatly from introducing varying kinds and levels of certification in the software industry, and for similar reasons. Like plumbing, there's no problem if you do smaller things around your own house. But if you want to build software that sits at the heart of say nationally important systems you should be tested before you're let at the wheel.