|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
A typical techie, totally lacking in vanity, not even sure what mirrors are for, my only requirements for a hair cut are cheap and fast. And so, once again I found myself at the local Hair Cuttery, chatting with the stylist as she did her $11 magic.
I'm fascinated with people, so asked about her life and her job. A single mom, she was more or less abandoned by hubbie. The court-awarded child support arrived for a while, but petered out. Sometimes a check comes, more often not. She's had to raise two kids entirely on her own. Little education limited her prospects, but through heroics I can barely imagine she managed a short stint at the local Vo-tech and obtained her cosmetology license.
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.
Can you crank some code, fast? If yes, your resume floats to the top of the pile.
Do you need to understand software methodologies, process engineering, CMM, PSP, agile development, or complexity metrics? Nope. Crank some code, fast.
I despise government regulation, but do think they're appropriate in some situations. Libertarians will claim that the market is the only true test of a product's worthiness. But wouldn't looser FDA guidance result in more dangerous medicines? The FAA's stringent requirements surely have led to safer aircraft. Automotive products are cleaner and safer now only because the car companies were dragged kicking and screaming into compliance with various laws.
The embedded world is largely unregulated, but our systems are getting more complex and 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.
More regulation might make firmware like drugs: longer time to market, better quality, and a wider belief in the stability of the products.
Though I abhor the thought of certifying developers, and would probably leave the industry if this happened, is it inevitable?
I feel safe knowing that Maryland is the land of the elegant haircut. but flinch every time a plane flies overhead.