For novel ideas about building embedded systems (both hardware and firmware), join the 35,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
What's In a Name?
66% of the people picked "engineer" as their job title on last week's embedded.com (http://www.embedded.com/pollArchive/?surveyno=2359) poll. My experience is similar: better than half the developers I talk to earned BSEEs (or very similar degrees) in college.
Yet, can you integrate tan(ax)? What does the "del" operator do? What is the IUPAC name for propane?
All EE students spend an inordinate amount of time learning arcane math, chemistry and the like. But I bet most of us - including me - can't answer the three questions I posed. Despite two semesters of Electromagnetics, three of physics, and uncounted credits in math, when a professor friend recently showed me what he termed "a beautifully simple and elegant formulation of General Relativity", well, the beauty totally escaped me. Though the equation was very short and looked quite simple, the del operator left me utterly baffled. A dim memory of it surfaced, but it was unattached to any meaning.
So was there value to all that education? Many people will no doubt rally to the BSEE cause, claiming that at the very least we know how to find the answers we need. True. Others will say that a broad education gives us an important foundation in learning. Also true. though I worry that though "broad" might be a beguiling term, it's sophism considering how the typical EE curriculum is utterly devoid of philology.
One reader wrote: "I just wish that the title `engineer' be more guarded. There are many `engineers' out there who have never had to go through the hardship and long study hours of an engineering degree. I believe that the title `engineer' should not be used by anyone who does not have an engineering degree. This in no way belittles the excellent people who do great jobs and even outdo some engineers, yet have no engineering degree. Maybe we should come up with different titles to represent all possibilities."
Perhaps. I've heard this same argument for the 25+ years I've been an engineer. But who cares how hard we studied? What does the degree really mean in terms of doing our jobs?
Let's compare our profession to, say, medical doctors. MDs are licensed. Legislation dictates who may practice as a doctor, and does mandate specific degrees. Specialists must take very difficult and comprehensive board exams after completing their schooling and after time spent as an apprentice (intern and resident).
In the embedded world, no law dictates our use of titles or our ability to practice our art. Some engineers, for example those building structures, need licensure (Professional Engineers). That's mostly outside of the electronics world, despite the fact that we're now building systems every bit as dangerous as a bridge or large building.
I wager that in the next decade there will be terrible accidents stemming from flaws in the designs of embedded system. Then the public/government will demand "action", no doubt in the form of PE-like licensure. This will not be enough to solve the problems of making reliable complex products. But regulation will be seen as a solution.
The reality is that even then most of us will be continue to practice without the PE certification. In civil engineering one Professional Engineer usually supervises many engineers who have not passed the exam. So we'll still be left with the old question: "who can/should use the title `engineer'."
I've long believed that if you do the work, you should get the pay and the title. Equal rights for everyone. The day of the degree-less engineer is dying, though, as HR departments use a checklist of requirements - real and artificial - to filter applicants. That's a shame. Some of the most creative developers I've known grew from the ranks of electronics technicians.
In the same survey 18% indicated they have the title "programmer". If "engineer" is so problematic, what is a programmer?
Just a year or two ago in the boom days that will surely return, if you could spell "C" you had a job. Should the "programmer" title be limited to someone with a CS degree?