4 ms·
Do what they do for all other engineering fields: require a certified engineer sign off on a product delivered to a regulated entity, and be able to hold that e
by diafygi 10y ago
Do what they do for all other engineering fields: require a certified engineer sign off on a product delivered to a regulated entity, and be able to hold that engineer criminally liable if someone comes to harm from the product they signed off on.
The quality of software for lolzcat apps could remain shitty, but the quality of firmware for FCC approval would go way up.
In order for quality to increase for infrastructure software, engineers need to risk going to prison. It worked for civil, chemical, mechanical, etc. engineers. A lot of people died on shitty bridges before they started locking shitty engineers up. Software engineering will be no different.
- quanticle 10y agoDo what they do for all other engineering fields: require a certified engineer sign off on a product delivered to a regulated entity, and be able to hold that engineer criminally liable if someone comes to harm from the product they signed off on. Right, but that's not what OP asked. OP is already assuming that we're in a situation where we recognize the need for certification for software engineers. Let's say, for example, that a plane crashed because of a software bug, and now people are saying that there should be a certification program to ensure that certified engineers have to sign off on software delivered for the aviation industry. The only problem is that no certified engineers currently exist, since this is the first year of the certification program. How would you proceed? Requiring certified engineers to sign off on code is great, assuming you already have a pool of certified engineers available to train up new certified engineers. It doesn't answer the question of how you get that initial pool.
- johan_larson 10y agoI don't see any other way than to grandfather in all or most current practitioners. Take, say, everyone with five years of documented experience and a relevant degree. Congratulations, they are now certified engineers. Provide ways for workers who don't quite meet those standards to get themselves in compliance. But enforce requirements for all incoming graduates from then on. And there might be requirements for ongoing training for everyone, too, the way there are for lawyers and doctors. As to who would do this, there are organizations like the IEEE and the ACM that would be only to happy to help.
- WorldMaker 10y agoThe NCEES which maintains Professional Engineering certification in the US does support Software PEs already. The question would indeed be one of bootstrapping: processes to convert on the job experience into more certifications and conversely to add appreciable demand for the certifications into the job market.
- rafiki6 10y agoSame way every other engineering profession did it. Grandfathering + an initial ramp up period.
- walshemj 10y agoThe contractor gets sued these days its not always the designer that is at fault - I have worked on a project where we had a problem with a bridge collapse I built a special tool to reanalyse some of the survey work to try and prove it wasn't down to us.
- gsam 10y agoThere's the benefit/detriment of scale to consider. One guy who contributes to a widely used piece of software stands to affect millions if not almost billions. How do you mediate the difference in impact and infinite liability on a single person? One method is to stop relying on only a single person, but we neither have the manpower to do so, nor would it mitigate the damage per person significantly. Software is also far more complex to inspect, with an explosion of execution paths for every line of code. We do need software engineering. But we simply cannot treat it like every other discipline. We need better techniques, we need formal methods. We're still in the dark ages, and every other discipline has sacrificed many to get where they are. But we're simply not there yet, despite the fact that we've protected many already thanks to the likes of Parnas and Boehme etc.
- antaviana 10y agoThat's an excellent way for software to be 100x more expensive and controlled by a cartel of incumbents. We could also send to jail those users who don't RTFM.
- diafygi 10y agoIf your software could potentially kill people, it should absolutely cost significantly more, and require criminal liability risk for the maker. If your software couldn't ever kill people, you have no liability.
- rafiki6 10y agoThe cost of developing the software should include the inherent risk it poses if it fails.
- spacemanmatt 10y agoCriminally liable? There do not exist schedules or tools or processes that would allow me to put my freedom on the line for my work. I'm a solid developer, too, but I am pretty open-eyed at the challenge of zero-defects. I think the premise, "engineers need to risk going to prison." is facially ridiculous. I'm down with prosecuting actual fraud but you can't legislate quality. You can only protect diligence.
- throwaway2016a 10y agoThis is one of the reasons why a lot of electrical/mechanical/civil engineers don't get their certification. Same reason. No amount of money would make them take that risk.
- user5994461 10y ago> Do what they do for all other engineering fields: require a certified engineer sign off on a product delivered to a regulated entity, and be able to hold that engineer criminally liable if someone comes to harm from the product they signed off on. Dunno about the USA but the aerospace companies I've worked for in Europe already require multiple sign-off from engineers. "Engineers" meaning people who got an engineering degree (typically 5-6 years for a master) from an accredited university.
- jpindar 10y agoThat is NOT what they do for all other engineering fields. PEs are required for civil engineering, but not for many other types such as electronics and much of mechanical engineering.