For novel ideas about building embedded systems (both hardware and firmware), join the 40,000+ engineers who subscribe to The Embedded Muse, a free biweekly newsletter. The Muse has no hype and no vendor PR. Click here to subscribe.

By Jack Ganssle


Published 5/17/2005

A typical techie, totally lacking in vanity, not even sure what mirrors are for, my only requirements for a haircut are cheap and fast. And so I found myself at the local Hair Cuttery, chatting with the stylist as she did her $13 magic.

License? Turns out that in Maryland all hair stylists must pass a test and be certified. Now, the peril we're talking about is legions of Marylanders walking around with bad haircuts. No one will die or be injured, though perhaps teenaged girls will court suicide.

I thought about our profession. We're the people who built nuclear power plant controllers, avionics, life-critical medical instrumentation, and systems that control every aspect of huge industrial facilities.

License? Certification? Nah. If you can spell "C", you've got a job. There's no need to understand failure mode analysis, DOD-178B certification, or FDA software requirements.

Do you need to understand software methodologies, process engineering, CMM, PSP, agile development, or complexity metrics? Nope. Just have the ability to crank some code, fast.

My car's brake pedal is merely an input to the computer. Millions of people depend on firmware-intensive pacemakers and other medical implants for each heartbeat. Supersonic planes cannot be controlled by mere humans; without the computer they'd break up in the blink of an eye.

Our systems are getting more complex and ever-more-ubiquitous. Malfunctions are on the upswing. We do know that as firmware complexity increases, errors will too. Though there are plenty of well-known ways to improve software most require spending more time and money on development. The curse of frenetic competition and our obsession with quarterly profits drives companies to focus more on shipping fast than on getting it right.

This is the only industry left where we can ship products with known defects and not get sued. That will certainly change. And when it does, I suspect insurance companies who pick up the tab for the huge jury awards will demand that developers have some sort of professional certification. Perhaps the certification will be meaningless, but it will help provide for a better defense in court. If I, with no medical credentials, operate on a patient and make a mortal mistake I'll go to jail. A doctor will probably just see a rise in the cost of his malpractice insurance.

Though I abhor the thought of certifying developers, and would probably leave the industry if this happened, is it inevitable? What do you think?