5 ms·
Why don’t we require software engineers who work on self driving car software to go through licensing and certification. And then, if their code results in a d
by matte_black 9y ago
Why don’t we require software engineers who work on self driving car software to go through licensing and certification.
And then, if their code results in a death, they are liable and can have their license completely revoked, and they would be unable to work on self driving cars again.
- lhorie 9y agoMy guess is that it's because the field is so new that there aren't really any experts that can define what are reasonable rules for said licensing and certifications
- ghaff 9y agoThey exist. They're required for some roles: https://insight.ieeeusa.org/articles/professional-licensure-for-computer-engineers-and-software-engineers/ https://insight.ieeeusa.org/articles/professional-licensure-...
- Silhouette 9y agoBut what qualifies the people administering those examinations to judge how good someone is at writing reliable software in safety-critical environments?
- slavik81 9y agoThe examiners don't judge that. They just check that you meet the educational requirements, that you did an apprenticeship under supervisors who have a good safety record, and that those supervisors think you are qualified. Then you get your license. If there's a safety incident relating to your work and you were acting recklessly, you may lose your license. That's the whole process. Repeat that over a long enough period of time and you tend to select for a more competent, safety-conscious group of engineers. Over the long term, its survival of the fittest. Reckless engineers have safety incidents and get barred from both working and from supervising new engineers. So, it tends to be the safer engineers who get to pass on their work culture to the next generation of engineers.
- wsh 9y agoThe software engineering P.E. exam is being discontinued after the April 2019 administration, due to low turnout: only 81 candidates since 2013. https://ncees.org/ncees-discontinuing-pe-software-engineering-exam/ https://ncees.org/ncees-discontinuing-pe-software-engineerin...
- SamReidHughes 9y agoThen we would never have self-driving cars.
- PinguTS 9y agoWe have this requirement, at least in Europe. There are even ISO standards to follow. The one related is ISO26262. But it seems, this does not apply to those permits issued for these cars by Uber.
- harshbutfair 9y agoFrom many years developing safety critical software, I reckon culture and processes are more important than certification. There are various standards for developing safety systems in other industries (defence, aviation, etc) and these standards exist for a reason. Have Uber applied any standard for their automation software? Or equivalent development processes? "Move fast and break things" is fine for an app, but not fine for controlling a vehicle.
- superfrank 9y ago- Expecting engineers to always write perfect code is insane. Mistakes happen. - If bad code makes it into production, that is a systemic failure not an individual one (Why didn't the bug get caught in code review, QA, etc.) - No one is going to want to work on a project where a single failure can taint their career. - What if I use a 3rd party lib and that is where the bug is. Who is at fault then? What if the code isn't buggy, but I'm using it in an unexpected way because of a miscommunication? If I am only allowed use code that I (or someone certified has written) development is going to move at a snails pace. - What if I consult with an engineer who doesn't have a certification on a design decision and the failure is there, who is at fault? - What if the best engineer on the project makes a mistake and ends up banned? Does he/she leave the project and take all their tribal knowledge with them, or are they still allowed to consult? If they can consult, what stops them from developing by proxy by telling other engineers what to write? Not to be a dick, but this is an awful idea that would basically kill the self driving car.
- PinguTS 9y agoThere is ISO26262 for automotive about safety. Yes, there are reviews, QA, and all of that. So, yes, there is no single person responsible (exceptions apply). But there is no excuse for using 3rd party libs. Just don't use it. If you not know: do not use it. That is the reason, why certifications are for. The same rules apply for medical and other areas.
- colatkinson 9y ago> But there is no excuse for using 3rd party libs. Just don't use it. If you not know: do not use it. Wait, what? That goes against one of the core benefits of open source software--that having many eyes on a problem decreases the risk of bugs. I'm willing to bet that if Uber had to implement their own machine learning/vision libraries from the ground up, there would be significantly more issues.
- henrikeh 9y agoIs there any evidence that this is the case? That simply putting more eyes on a system will reveal its problems? Certification etc is about process. Open source code can be used in a safety critical product, but it must audited and confirmed against the system requirements.
- ubernostrum 9y agoUber will relocate the engineering team to a jurisdiction without those regulations. Just like it relocated its testing to get a more "business friendly regulatory environment".
- davidgay 9y agoThat's trivially fixed by requiring the engineering to be certified in the jurisdiction in which its output operates. For a mostly topical example of such rules: https://www.dmv.ca.gov/portal/dmv/detail/vr/checklists/outofstate https://www.dmv.ca.gov/portal/dmv/detail/vr/checklists/outof...
- mr_toad 9y agoEngineers aren’t in charge. Unlike lawyers, surgeons, even dental hygienists, they aren’t making the calls.
- ilaksh 9y agoIt may have been an executive that just said to turn off LIDAR for testing. Then the engineer probably mentioned it wasn't ready for live testing, was overruled, did it knowing it wasn't ready, because if he refused he may have been fired.
- bigger_cheese 9y agoOne of the things I was taught whilst studying engineering (in Australia) was if you, whilst acting in capacity as a professional engineer certify something knowing it is unsafe then you can be found personally liable. Likewise if you knowingly observe anyone else in your company breaching safety/regulatory guidelines then as a professionally certified engineer you have a legal responsibility around ethical disclosure. See: http://www.professionalengineers.org.au/rpeng/ethical-commitment/ http://www.professionalengineers.org.au/rpeng/ethical-commit... I do not know how things work in the US but in Australia these rights are protected by law. The company legally can not fire an engineer in this situation.
- tonysdg 9y agoProfessional Engineers (note the capital 'E') are protected in the U.S. by such laws. Professional engineers (note the lowercase 'e') are usually not protected in the U.S. -- they're regular employees whose profession happens to be engineering.
- namelost 9y agoObligatory: https://www.fastcompany.com/28121/they-write-right-stuff https://www.fastcompany.com/28121/they-write-right-stuff If you want error-free software you need a blameless culture based around process, not individual ownership of code. It should not even be possible for an error to be one individual's mistake, because by the time it hits the road it should have gone through endless code review and testing cycles.
- KKKKkkkk1 9y agoThere are existing laws on the books for this. Please google negligent homicide. Licensing and certification serve a different purpose.