Lack of Embedded System Jobs?
I recently wrote a couple of think pieces for IEEE and Embedded Intel Magazine discussing the sad state of affairs regarding the dwindling pool of embedded systems developers. Basically, my thesis was that many institutes of higher learning are no longer teaching CS majors what computers are all about from a low-level perspective (CPUs, caches, data busses and the like) and this is causing a shortage of embedded systems developers. This thesis has been backed up by folks like Jack Ganssle and the many of email responses that I have received from all over the world. Evidently, it's not just a U.S. problem, but a world-wide phenomena.Nonetheless, I've also received a few emails stating that if there were jobs, then there'd be more demand and therefore more "bare-metal" engineers to fill the positions. That thought got me wondering. I believe that the reason that there are apparently no jobs is because the embedded systems development space is a stealth industry.
We inherently know that embedded systems are almost everywhere. However, as seen at ESC San Jose in the keynote presentation, not a one of the "man on the street" interviewees could identify just what an embedded system was, let alone identify one. The same applies to determining the size of the embedded job market. If you don't know what and embedded system is, how do you know what the jobs are?
The stealthiness of embedded systems is both good and bad. On the plus side, it means that embedded developers are doing their job correctly. On the minus side, no one can identify just what the job was -- let alone what skills it required and how to train/educate for it.
Now, I define an embedded system as one wherein you inherently know there must be a computer in the device someplace, but you're just not sure where. By being a well-designed embedded system, the user is oblivious to its existence. This makes it extremely difficult to define the scope of the embedded systems market precisely because we're doing such a good job at hiding computers everywhere.
As to whether or not there are jobs in embedded systems here in the U.S., I went to Monster and had a look. A quick search showed about 300 job openings for RTOS developers. Close to 1000 for firmware developers. 2,500 for embedded developers. Over 5,000 for systems engineers. 678 for embedded Linux developers, etc. Now, admittedly, there will no doubt be some overlap where there may be duplicate hits for the same opening. But, to say that there are no embedded systems jobs here in the U.S. is just plain wrong.
However, the problem is that in order to understand the scope of the job openings, you need to understand where embedded systems are used. This is one of the fundamental failings of the university system when it comes to designing their curricula. Since the academic community is seemingly no better at identifying embedded systems than the "man on the street", they woefully underestimate the demand for "close to the metal" understanding of computers.
And, as for those who say that all of the embedded jobs have moved to India and China, I'd say that that's a load of crap. Yes, there is a lot of embedded development going on in India and China. But, to say that there's no development left here in the U.S. is just ignorant of the real situation. If that was the case, then there wouldn't be representatives from large high-tech firms lobbying Congress for 195,000 H1B visas for "highly-skilled technical positions" for 2008. Now clearly, most of those H1Bs are not targeted for embedded developers. But, some of them are. And, those openings could represent several thousand jobs going unfilled.
Now, I *do* believe that there's a problem with the salaries that those companies are willing to pay. And, I feel that the proliferation of H1B visas helps depress the salary levels of developers which precludes otherwise promising students from pursuing careers in embedded development. That will be the topic of a future post though.
As Al Gore said at the 2007 ESC keynote, the future of the world and our ability to address the issues of global warming and energy conservation rests in the hands of the embedded developers of the world. Without embedded systems, none of the fancy technology in things like hybrid cars would ever work. So, we need more clever people now than ever before. And, we need to get the educators and the legislators involved to help address the misconceptions about the death of our industry.
So, to those of you who may be thinking of a career in embedded systems development, whether you're a CS, CE, EE or just someone who likes to make things work, don't be discouraged when the naysayers tell you there is no future in computers here in the U.S. The U.S. used to be the technical innovators in the world. We may have lost our edge, but the work is still there and we're still doing innovative stuff. But, we need you to participate.
But, that's just my opinion. What's yours?

