The author uses plenty of words to convince the reader that softwareis important. That's novel thinking. She then suggests that poorsoftware is a “public safety” issue.
Sure, that's true in some cases, though hundreds of millions ofWindows users manage just fine despite lockups and other anomalies thatmay be frustrating, but are hardly life threatening.
“Public safety” is important but it's also a code phrase sometimesbandied about by those who advocating regulation. In this piece theauthor states that $60 billion of the $275 billion spent in the US onsoftware each year goes into failed projects. That's an 80% successrate, a B grade, which hardly seems a crisis. And a financial loss isnot a public safety issue.
As I understand the facts in the article a group oforganizations have come together to both advocate for a ProfessionalEngineer license, and to create an exam to obtain such licensure. Butthe author makes more than a few sly allusions to suggest that softwaredevelopers should be required to hold a PE license.
An apparently-sanctioned NSPE article that conflates facts withtheir policy goals serves no one and too much resembles the brokenstate of national politics we're enduring now in this election season.
Public safety is a valid concern, but it has been addressed insoftware engineering via a number of standards and certifications likeDO-178B, IEC 61508 and more. The standards are imperfect as are allhuman endeavors, so it's important that we continue to refine theseover time. But beware of arguments that suggest licensure willeliminate software problems.
I think a software engineering PE license is a great idea. Itparallels the PEs available for many engineering disciplines. We doneed to make software more engineering and less art.
The PE certification gives a lofty goal that some software folks canand will aspire to, always a good thing for those wishing to advancetheir professional skills and status. So it's reasonable that theprofessional organizations to start working towards an appropriateexam.
But mandating a PE for software engineers is a huge mistake. Afterall, most software projects are pretty benign; failure might beannoying but is hardly a problem.
A civil engineer can use well-understood analysis to prove that astructure will be safe. As yet there are no analogous techniques forsoftware. Standards help mitigate software's problems, but theessential complexity of a 10m LOC project defies the current state ofour tools and understanding.
A civil engineering PE is only part of an entire infrastructure ofregulations, expectations and conventions aimed at making structuressafe. A century of litigation helps thwart would-be cheats. But insoftware engineering litigation scares few of us, as yet, andmanagement will rarely justify additional development costs.
In civil engineering the PE comes into play after the award of acontract ” that is, once the competitive bidding process is over. Mostsoftware is created in the dynamic race of getting a product to marketbefore the competition. Schedule uber alles; shortcuts are rewarded.
In Texas it's illegal to use the word “engineer” in your titleunless you've got a PE. Sanctionscan be up to $3000 per day . Thankfully I live in Maryland,otherwise I could be out $3000 * 365 days/yr * 30 years, or some $33million.
What do you think?
Jack G. Ganssle is a lecturer and consultant on embeddeddevelopment issues. He conducts seminars on embedded systems and helpscompanies with their embedded challenges. Contact him at . His website is .