7 ms·
A lot of comments so far are complaining about the software quality in cars now. But what did you expect? This is what happens when you hire the same kinds of p
by TheRealDunkirk 4y ago
A lot of comments so far are complaining about the software quality in cars now. But what did you expect? This is what happens when you hire the same kinds of people to write the software for your car that you've hired for 25 years to write the terrible internal applications inside the company that everyone hates, and in the same terrible way. The end result is going to be exactly the same.
Over the years, I've seen various discussions brush up against the issue of professional certification. Professional Engineer, in civil engineering, is a serious credential, which can hold people professionally liable for bridges that fail, or buildings that fall over. Making cars a network of computers that all talk to each other, operated entirely "by wire," and giving up any consideration of mechanical backups (like with a plane) is going to very quickly drive the point home that the programming profession needs a similar credential. As a mechanical engineer who has made a living writing software for 30 years, I understand the difference, but the legal externalities are not going to care that software is VASTLY more complicated than, say, designing a plane wing with a factor of safety.
Now, I have to go figure out why my Rails application can no longer restart the delayed_job process on deploy. Is the problem in Rails, Ruby, my gems, Capistrano, permissions, SSH, or some updated package on my Linux VM? Designing a bridge, frankly, is easier, because it's "concrete" and closed-form. Sure, I'll figure out my deployment problem, but next month some obscure thing in the 24 layers that make up a simple web app these days is going to get updated, and break something else. At least once a bridge is built, it's done.
- uup 4y agoI actually find it ridiculous that engineers can be held personally liable for work performed for a company. It's not a model I would support moving towards, at all.
- bb611 4y agoAgreed. We know issues at the design stage can be avoided by improving systems, making that the personal problem of someone with a PE is a bandaid solution. Improve regulation, fund regulators, incentivize companies to fund quality processes.
- TheRealDunkirk 4y agoIf the world starts coming after corporations for these kinds of very-real safety issues caused by software, they're going to "do a pro move," and come after the programming profession.
- ydlr 4y agoMaybe we need professional certification for CEOs.
- throwawaymaths 4y agoFor better or worse, we do, and It's called an MBA
- oneplane 4y agoSomehow it seems that an MBA doesn't certify someone a whole lot more than a sociopath certification would...
- throwawaymaths 4y agoHence the "for worse" option
- deleted 4y ago[deleted]
- DoingIsLearning 4y ago'going'? The first person to get jail time during the 'DieselGate' scandal was James Liang, surprise surprise an Enginnering Head at VW. An army of Execs and C-levels were in the know but the first guy to go is a low-rank Engineer.
- throwaway2037 4y agoI'm confused by this post. First you wrote: <<Enginnering Head at VW>>, then you wrote: <<low-rank Engineer>>. Which one is it? Engineering Head at VW probably makes huge money has has 10,000 well-paid staff under them.
- kazinator 4y agoIn actual engineering, that is the entrenched model. In civil engineering and other, individual engineers can face consequences for disasters like collapses. And other disciplines; a surgeon can face consequences for a surgery that was done by a team, and so on.
- wyager 4y agoThe idea that the best solution to computer complexity is more bureaucracy and a professional cartel is absurd. We know how to solve the problem of software reliability. We have a rich body of formal methods that allow us to build perfectly reliable computer systems, up to the failure envelope of the hardware itself (from thermal, radiative, mechanical, etc. stress). The reason we only use these techniques on certain critical systems is that the cost is somewhat higher than normal "unsafe" development and the incentives are not there yet. Instead of turning our industry into a horrific morass of red tape, with questionable upside and unquestionable downside, let's just incentivize the use of correctness technology where appropriate.
- AlotOfReading 4y agoThe use of formal methods in safety critical code is already well-established. MBD is a very common method to write ECU software, for example. It's not universal though and proofs of the more complicated system requirements are challenging at best.
- TheRealDunkirk 4y agoWell, to be fair, I'm not saying that certifying software developers is reasonable. As a practical matter, the industry moves too fast anyway. A PE license is for life. Even if there were a software engineering license, I wouldn't necessarily trust someone who was licensed back in the COBOL days to know anything about modern web development. I'm just saying that if there's enough LEGAL pressure, this is almost inevitable. A Fortune 1000 company is not going to just absorb the costs of failed products (like self-driving cars killing people), and do nothing about it to cover their asses.
- FpUser 4y ago>"A Fortune 1000 company is not going to just absorb the costs of failed products (like self-driving cars killing people), and do nothing about it to cover their asses." And introducing certification is not going to to stop the killing and will not "cover their asses" either. Out tech currently is simply not adequate to solving this problem in the way acceptable to corporations and the end customers.
- AnAnonyCowherd 4y ago> This is what happens when you hire the same kinds of people to write the software for your car that you've hired for 25 years to write the terrible internal applications inside the company that everyone hates, and in the same terrible way. I work in "automotive," and my company created an internal textbook on waterfall development 25 years ago. I know, because I was part of an external consultancy to review it. And it was great! At waterfall! And they're still using it! Now we're getting into alternate power, and we've lifted the same software process we've been using since we had to break our firmware into 8 pieces BECAUSE THAT'S WHAT FIT ON A FLOPPY to send to the plant to upload into the ECM, and started using it with completely new build systems and processes. We've hobbled what could be a completely fresh start with 25-40 years of technical debt before even getting started. I would posit that heading off this train wreck was the place of the CIO or CTO, but they just made the CIO the CEO, so ¯\_(ツ)_/¯.
- Gravityloss 4y agoSounds like a burning platform. The problem will solve itself, the company will go bankrupt.
- antegamisou 4y agoYour comment will come off as elitist/condescending but you're 100% spot on. People without actual engineering background (should) have no place in safety critical systems design.
- throwawaymaths 4y ago> the programming profession needs a similar credential I don't think it needs the credentials, it just needs (language?) to distinguish between roles where you can sign off on a product and be held legally liable if the product is found to fail its specification. This, in my mind, is the difference between a software engineer and a software developer (I consider myself a software developer).
- ddulaney 4y agoI worry that this won’t have the effect you want. Some of the worst software I’ve ever used met all aspects of its specification because “be pleasant to use” could not be meaningfully captured in a formal spec. I’m not sure what the solution to bad software is, but I don’t think it’s making the spec higher stakes.
- xyzzyz 4y agoWhen professional certifications are required to write car software, you won’t have top tier people writing it. Instead, you’ll get mediocrities who will jump on the certification as a way to secure a sinecure at a company requiring it. Consider existing professional certifications, like, for example, Cisco certification. How many top tier people have it? Some do, but in my experience, not many. Instead, they are overwhelmingly held by low-to-mid skill people, who see it as a ticket to a better job. Top tier people can easily get top tier job, and have no need to waste time on some certifications.
- tomrod 4y ago(I am not disagreeing with your claim): This assertion is a bit at odds with the notion of certifications, but only when considered without other factors. Economic theory suggests then the achievement of the certification is not costly enough to cause a separating equilibrium of talent versus not.
- VyseofArcadia 4y agoI think you've missed the point. A professional engineer isn't just a certification. It also grants the power and indeed the duty to say "no" to things that are unsafe. If a cost-cutting change is proposed that means the bridge might collapse, you say no. But in software? If management says you need to cut corners to get something out by an arbitrary deadline, well, you cut the corners or they'll find someone who will.
- criddell 4y agoWell said. And if you fail to say no to something that is unsafe, you can be sued for malpractice. The fact that management pressured you is of no consequence.
- throwaway2037 4y agoIn theory, yes. In practice, probably not. Most stuff that "falls over" after being built is due to poor maintenance or skipped checks. I never read any news about "PEs" (people seem to be drooling over that title) being sued.
- deleted 4y ago[deleted]
- unity1001 4y ago> the programming profession needs a similar credential And who will handle the distribution of that credential... The moment it is required to have one, thousands of private universities of questionable quality will be dispensing such credentials just like how they have been dispensing engineering titles. Totally legal. What difference will it make compared to the existing situation... Or is it so that these credentials should be distributed by a few elite institutions to make it safer. What difference does this make from the current situation in which top corporations hire top people for top tier work? So everyone will have to hire MIT, Pekin U, Tokyo U or Berlin U graduates? And what happens when centers like San Francisco suck all of those graduates away from the rest of the market and cram them into the expansive tech business? Leaving the Automotive industry as scarce of such top talent as it is now? Will the auto companies pay more money than Google et al to attract that top talent? Something which they could easily do now, but arent? ... So basically your proposition will not change anything, but it will just introduce more bureaucracy into software.
- TheRealDunkirk 4y agoRead my comment above. A PE is a license, a credential approved by the state, not a certification given by a company. As with other licenses, it's FAR more comprehensive than just passing a test, and requires working experience. My wife required 2500! hours of work to qualify for taking the second test in her mental health counseling licensing. We're talking about 2 different things.
- unity1001 4y ago> A PE is a license, a credential approved by the state, not a certification given by a company And state, that is behind in everything related to technology, is going to be the arbiter of the 'best practices' in a field that progresses faster than what even the top universities of the world can cope up with... So basically this would force software into a profession lagging from ~100 years behind like other engineering fields...
- jamincan 4y ago
- deleted 4y ago[deleted]
- deleted 4y ago[deleted]
- rthomas6 4y agoThere are already design standards for avionics software. DO-178 and DO-254, namely. Some car manufacturers follow something similar voluntarily. Maybe requiring something like this standard and having something like the FAA to enforce it is what we need?
- bonzini 4y agoASIL is the automotive equivalent of DO-178. The standards for say the software in the ECU are not the same as those for infotainment.
- geethree 4y agoNCEES has a software PE certification that was discontinued. https://ncees.org/ncees-discontinuing-pe-software-engineering-exam/ https://ncees.org/ncees-discontinuing-pe-software-engineerin...
- davidrm 4y agoI don't know where you get your information, but you've completely missed what automotive software development looks like. The amount of verification and validation, and the number of standards (most of them are self-imposed, not a legal or homologation requirement) is absurdly high. Here's a scenario. You're nominated to be an ECU supplier or a software sub-supplier for a VW brand, first thing they hit you with is requirements which span 1000 pages for a simple system (door, seat, HVAC), or 10x more for a more complex one (infotainment, engine ECU, "main" vehicle ECU etc.). 1 of those requirements is "SW shall comply with VW 8xxxxx norm" which is one of many VW norms that they deliver to you. The other requirement is "SW shall comply with KGAS", KGAS stands for "Konzerngrundanforderungen Software" which translates to "Group Basic Software Requirements", (group is VW), and both, you guessed it, are thousands upon thousands of requirements. Then there's Functional Safety, or FUSA, which is a reference to ISO26262 (based on IEC 61508). Then there's also ASPICE (ISO/IEC 15504). New thing is UNECE R155 (cybersecurity). These three prescribe a very detailed development process commonly known as the "V model" for system and software development, which means you need to elicit requirements, define system requirements, system architecture, software requirements, software architecture and software detailed design. After that, you get to coding. For each of those there's a validation method: unit tests, software integration, software qualification, system integration and system qualification. ASPICE 4.0 has expanded to cover Embedded Hardware and Mechanical design as well. Other than the engineering processes they also cover other areas such as project management, configuration management, supplier monitoring, problem & change management etc. Then come the external and internal audits, pardon, assessments. Your internal Quality department needs to monitor all engineering activities and report them to the customer, customer's Quality dept. will do their own audits, you and them will also hire an independent company to audit/assess you so that there's no bias. BUT guess what - almost none of this is required for non mission critical software, so your infotainment is actually the only thing developed in a way you've described it. Brakes, ABS, ESP, Engine ECU or the EV powertrain (BMS, inverter etc.) are all written according to what I described above. There's no need for more bureaucracy, the automotive industry (especially German one) is very good at self-regulating and would make an average web developer throw up on his first day. Failures of the UX/UI in modern vehicles is just a business problem - guys who spent decades building and selling options like leather seats, and checking spreadsheets at the end of a fiscal period are still at the helm or their business processes still live on in those companies.
- amelius 4y ago> A lot of comments so far are complaining about the software quality in cars now. But what did you expect? This is what happens when you hire the same kinds of people ... I think the main problem is that there is no competition since you are buying the car not for the software (at least most people don't). Make car software an open marketplace, and you will see improvements in quality.
- DoingIsLearning 4y ago> Make car software an open marketplace, and you will see improvements in quality. For infotainment inside the cockpit sure knock yourself out. But I absolutely do not want to be on the road or at crossing as a pedestrian with cars running modded ABS or ESP units.
- amelius 4y agoYes, I'm talking about infotainment software. I don't think any car manufacturer combines the functionalities you mention in a single software system so it would be easy to separate them.
- YZF 4y agoThe certification exists, at least in Canada. You can be a software PE. It's [snip] generally not required for anything. The other side of it is that some safety critical work does require a PE to sign off on it, and that work may include software, and that PE is going to be held responsible. He may be a EE in his training but he'd be responsible for the software engineers/developers doing the work properly.
- mbrodersen 4y agoCertificates is paperwork BS. Just look at ISO 9001. What a joke. You can be ISO 9001 “quality” certified and deliver absolute crap.