Of molasses and software engineering - Embedded.com

Of molasses and software engineering

We all know the amazing successes of software engineering, and of its attendant challenges. I recently pointed out that civil engineers had their own problems; according to Rising Tide by John Barry, in the 1800s one out of four new bridges collapsed and one of three tunnels flooded.

Rick Schrenker replied, asking “So if software engineering continues to be practiced as it currently is until it’s an older profession, will that address defect complaints? 

He then referenced the famous Boston Molasses Disaster: http://ethics.wikia.com/wiki/The_Great_Boston_Molasses_Flood

Rick went on: “As for the history of engineering in general and bridges in particular, Henry Petroski has put a lot out there.

“My son is a civil engineer and holds a PE.  It’s virtually a necessity in his field.  I got my EIT right out of school but didn’t finish the process.  Had it been required, I certainly would have.  Back when my job was more directly involved with support of patient care equipment, perhaps I should have anyway.  So what should be the minimum professional practice requirements for software engineers who work on projects and/or products that impact public safety?”

My first thought was: “There was a molasses disaster?”

The Great Boston Molasses Disaster, from Ethics Wiki

Who would have thought? But in 1919 a 2.3 million gallon tank full of the sugary concoction failed, killing 21 and injuring 150. According to the article, the failure was due to the use of thinner-than-specified steel plates, which sounds more like a manufacturing problem than due to faulty engineering. But one result was that all drawings on these projects now had to be signed and sealed by an engineer. Licensure was also initiated.

So far as I know, no software failure has led to a molasses flood. But we’ve had our own disasters. Should software engineers either have a PE or be required to work under a PE who signs off on their designs?

I’ve often advocated for developers to put their names in the code. To sign the product. My thinking is that we take more pride and accountability when we sign off on something, so work harder to ensure its correctness. Obviously, that’s obscured a bit since many people may modify Joe’s creation, but I do think anonymity can lead to carelessness.

I have always signed my code and my drawings.

But should the state require licensure for us?

Thankfully, this is a tenth amendment issue and not (at least now!) at the Federal level. But if Maryland, my home state, instituted a PE requirement for my work I’d retire. I’m too old to take the test and too curmudgeonly to submit to more state control. My dad was a PE till he let his license lapse as he felt it was so valueless for his work in designing spacecraft it wasn’t worth the cost of renewing.

PEs are de rigor in civil engineering. Structures are very reliable today; we rarely hear about the kinds of failures that were common in the 19th century. Is this because a PE signs off on the drawings, or is it because we’ve learned how to design these things well? Or could it be we’ve become so litigious that the companies hiring engineers are very conservative? I really don’t know.

Is it possible that we developed a better body of knowledge in civil engineering due to licensure in the early days? Who knows?

Would having a PE license improve software? Perhaps, if a PE who was independent of the company producing a product were required to certify the code and design products would improve. Certainly the DER role in DO-178C has been that independent authority, and avionics is the best software around. But the costs are huge and probably unsustainable for most products.

In the United States part of the PE process requires passing a Fundamentals in Engineering test. Generally it’s recommended that a prospective PE holder take this exam while still in college, as fail rates skyrocket for those who have graduated and are actually working as engineers. That statistic tells me that at least this part of the PE process is bogus, for if practicing engineers can’t pass it, it would seem that the material is irrelevant for real-world work.

As with so many things mediated by the government, common sense is optional. But one thing is certain: at some point there will be an enormous software disaster, and the populace will rise up demanding a governmental solution. Licensure is likely to be seen as a component of that.

What’s your take? Should PEs be required for software engineering? Why or why not?

Jack G. Ganssle is a lecturer and consultant on embedded development issues. He conducts seminars on embedded systems and helps companies with their embedded challenges, and works as an expert witness on embedded issues. Contact him at . His website is .

12 thoughts on “Of molasses and software engineering

  1. “A friend and I were discussing the idea of software and product quality. The discussion was about the Toyota fiasco and how much it cost the company.nWe worked on instrumentation years ago. To sell into a factory you have to get an FM stamp from Factory

    Log in to Reply
  2. “Yes, there needs to be a recognition that software can be critically important, and needs proper design and testing.nnBut I'm skeptical about licensing, specifically PE licensing. Questions include:n1) Is creating software like building roads? I say

    Log in to Reply
  3. “Microcontrollers are going into all kinds of devices these days. Perhaps someday soon we will have “smart bridges” with sensors and maybe even actuators controlled by firmware. Perhaps the boundary between civil engineering and embedded software enginee

    Log in to Reply
  4. “I, too, took the EIT exam before I graduated with my BSEE. Though I, also, never saw a need to complete the process as I got into software soon after graduating.nnBack in the '80's there was the idea that Ada would be the de facto language used to desig

    Log in to Reply
  5. “nFunny, the part of being able to pass the Fundamentals test best while in college. I've got a different twist: Before I had much experience on a street motorcycle (dirt bike kiddie), I took the written exam for a motorcycle endorsement, and passed with

    Log in to Reply
  6. “I'm sure it depends on the market, but many products have serious competition from countries without such requirements. Without the requirement we face competition from companies with cheap labor. With the requirement, for both local and imported products

    Log in to Reply
  7. “I am a PE and I write code. I don't think software engineers should be licensed. There is a fundamental difference between a bridge and a software. We can always patch a software. Oh well, we can actually patch a bridge too. :)”

    Log in to Reply
  8. “There HAVE already been software disasters of sorts. Dougwithau has already cited the Toyota one. Aircraft software – think the Air France pacific crash that was due to software not being able to cope with an iced pitot tube, as I remember. And how man

    Log in to Reply
  9. “I couldn't wait any longer so looked up what PE and EIT are (Professional Engineer and Engineer in Training). These terms are not familiar to me in Australia. Here, once you get your degree, you're basically an engineer. nnShouldn't your university take

    Log in to Reply
  10. “I've spent my entire career developing software for medical devices. And although I am 55 years old, I would very much like to take the Software PE Exam and earn my license. However, my state and most other states do not offer the test.”

    Log in to Reply

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.