5 ms·
In the 1960’s and 1970’s there were many efforts to professionalize software development and bring it line with other engineering practices. This would include
by Bucephalus355 8y ago
In the 1960’s and 1970’s there were many efforts to professionalize software development and bring it line with other engineering practices. This would include things like license boards, a code of ethics, etc. Obviously at first blush this sounds ridiculous, but like Wikipedia it seems to not work in theory but when it comes to the real world work just fine (as the other engineering disciplines have shown). This is actually where the term “software engineer” dates from, it was partly a marketing / professionalization attempt.
One thing this would lead to (could be good or bad) is people being “stripped” of their license to practice software engineering. After the 1981 Hyatt Regency disaster in Kansas City, where over 200 people were killed, this is exactly what happened to the engineers involved in building the walkway. They forgot the software equivalent of a line-ending semicolon when they eliminated a single-support bolt for the catwalk accidentally during design review. It collapsed during a holiday party, killing those above and those below. Perhaps as we start seeing more “building computers”, sometimes called “architectural robotics” (a super fascinating subject if you have a chance to look it up, there are already prototypes out there), a software engineer causing a similar amount of destruction might not be so farfetched.
- organicmultiloc 8y agoWe don't live in the world of the 1970s anymore, anything that might slow down or impede corporate profits can be rejected out of hand as feasible solution. It's just not even worth the time to talk about it. At least until we have a new constitutional amendment getting money out of politics.
- 5DFractalTetris 8y agoYeah, but the things which create corporate profits change over time. Like that pedestrian bridge collapse in Florida, it was like 50 ft from a pedestrian road crossing. I dunno why anyone would pay for that particular type of uselessness. Moving slowly saves you time.
- dokem 8y agoThe Hyatt Regency disaster was not the equivalent of missing a semicolon, that makes it sound like an accident. Procedures were not followed. A load bearing component was modified without proper testing/analysis.
- slavik81 8y ago> They forgot the software equivalent of a line-ending semicolon when they eliminated a single-support bolt for the catwalk accidentally during design review. Absolutely not. Their original design supported only 60% of the minimum load specified by the Kansas City building code. However, that's not why they changed it. A supplier pointed out that the design was impractical to assemble, and suggested an alternative. The engineers in charge accepted that alternative without doing any calculations about its effect on the load-bearing capacity of the walkways. Had they done so, they would have seen that the new design could support a mere 30% of the minimum load required by the building code. Their engineering process was flawed from start to finish. If I had to make an analogy to software, it would be a company that regularly did development on the production box. Engineering is not about never making mistakes. Forgetting a semi-colon is common, and any software engineering process that depends on people never forgetting something that trivial is fatally flawed. When you make a mistake in vehicle control software, there should be many layers of failsafes to catch it, such as: the compiler, automated unit tests, automated acceptance tests, code review, manual feature testing (with a simulator), manual release testing (with a simulator), integration testing on a vehicle that has been immobilized, integration testing on a closed track, and production environment trials. Keep a few mistakes between yourself and disaster. One mistake is a very slim margin.
- djsumdog 8y agoA better analogy would be promoting a service to production with the unit tests failing (or not having an automated CI process that ran the unit tests ... or not having unit tests). There are different degrees of software engineering. If you work for a company that makes pacemakers, there are very strict software testing requirements. The same goes for the developers of real time avionics systems for air craft, ECUs for cars and autonomous train systems in places like Singapore or London. If you're writing software that tracks inventory and ships out shoes, mistakes aren't life threatening and you might have faster processes to get things into production. If you reuse that software for shipping out medical equipment for people with diabetes or sleep apnea, you could run into life treating problems if the testing process is not updated to match the seriousness of the problem you're trying to solve.
- watwut 8y agoMajority of software engineering is not equivalent of bridge building nor high stakes engineering. Most of it is closer to low risk trades - woodworking, painting, design etc.
- TaylorAlexander 8y agoSmall note, Wikipedia says 114 were killed and 216 were injured in the walkway collapse.
- carapace 8y ago> This is actually where the term “software engineer” dates from, it was partly a marketing / professionalization attempt. Nitpick: no. > [Dr.] Margaret Hamilton promoted the term "software engineering" during her work on the Apollo program. The term "engineering" was used to acknowledge that the work should be taken just as seriously as other contributions toward the advancement of technology. Hamilton details her use of the term: >> When I first came up with the term, no one had heard of it before, at least in our world. It was an ongoing joke for a long time. They liked to kid me about my radical ideas. It was a memorable day when one of the most respected hardware gurus explained to everyone in a meeting that he agreed with me that the process of building software should also be considered an engineering discipline, just like with hardware. Not because of his acceptance of the new "term" per se, but because we had earned his and the acceptance of the others in the room as being in an engineering field in its own right. https://en.wikipedia.org/wiki/Software_engineer#Origin_of_the_term https://en.wikipedia.org/wiki/Software_engineer#Origin_of_th... Emphasis added.