10 skills embedded engineers need now

From getting familiar with open source software to developing apps, industry professionals are urging embedded engineers to get out of their comfort zone and acquire new skills to stay relevant.

Back in the early days of embedded in the 1980s, the guy (and it was mostly guys then) who designed the mixed signal circuits, the guy who connected the microcontroller, the guy who wrote a bunch of low-level assembly code, and the guy who got the prototype out the door—well, it was all the same guy.

One engineer pretty much did it all.

Then, as embedded systems became bigger and more complex—millions of lines of code now ship with devices–embedded skill sets became partitioned by discipline: hardware developer, firmware developer, software developer.

In many big companies that is still the case. But the pendulum appears to be swinging back, as more and more companies are consolidating engineering roles, looking for developers who are fluent in both hardware and software, and trying to accomplish more with less. Certainly a bigger percent of engineers say they work on both hardware software, as compared to the group that only does one or the other.

Given that it’s not possible to keep up with everything embedded, how do you make sure that the new skills you acquire are the most relevant?

EE Times turned to nine embedded professionals and a recruiter and asked them to tell us what they think are the most important things engineers should learn now.

Though opinions differed on the specific skills that are most important, they all agreed on one thing all engineers should do: Never stop learning.


Join over 2,000 technical professionals and embedded systems hardware, software, and firmware developers at ESC Boston May 6-7, 2015 and learn about the latest techniques and tips for reducing time, cost, and complexity in the embedded development process.

Passes for the ESC Boston 2015 Technical Conference are available at the conference’s official site with discounted advance pricing until May 1, 2015. Make sure to follow updates about ESC Boston’s other talks, programs, and announcements via the Destination ESC blog on embedded.com and social media accounts Twitter, Facebook, LinkedIn, and Google+.

The Embedded Systems Conference and EE Times are owned by UBM Canon.

 1. Learn thetechnologies that make the Internet possible.

By and large, if you can do mixed signal design and code in C orC++, you are pretty much good to go in the embedded world. Infact, just knowing how to write code in C or C++ may be enough inmany cases.

But I would advocate that learning the technologies that make theInternet possible is a big plus for an engineer’s career. As amatter of fact, I am currently working on several initiatives thatinvolve embedding a “virtual” XML into embedded systems. We areusing this technology to allow for autonomous meta-datatransaction processing with disparate devices communicating–usingdifferent low-level standard and proprietary protocols to affect anetwork abstraction layer.

I suppose that one can think of this as the “Plug and Play” modelfor small devices on the Internet.


Source : Ken Wada

Title & Company : President, AuriumTechnologies, an independent product design and consulting firm

What I do: I have 30 years experience in thefield. Now I architect and design products and systems for varioushigh-tech industries. I am unique in that I’m split between beinga generalist and a hardcore theoretical type.

2. You've got a searchengine.  Know how to use it. 

Don’t waste your time reinventing the wheel, take advantage ofall of the open source stuff that is out there. I suspect thatsomeone else has already written just about any piece of code youcould ever want. 

There are exceptions, of course, when you're doing things likebleeding-edge research. But most of us work to solve everydayproblems. So take advantage of all of the code and all thebrilliant folks available via the Internet.

Don't sit in your cubbyhole trying to puzzle through the issue(unless that's your “thing”).  You should become a member ofthe community.  Help folks out when you can, and they'lllikely do the same.  Open source is a wonderfully powerfultool that only works if people cooperate.


Source : Michael Anderson:

Title & Company : Chief Scientist, The PTRGroup

What I do : I’ve been an engineer for 35 years. Idescribe myself as a software guy who can read schematics. Iwork on low-level development primarily–porting operatingsystems, device drivers, kernel-level work, etc. Thatunderstanding now helps me as a systems architect who can see howa whole project fits together.

3. Learn somethingnew outside of your comfort zone.

Although spending some time chasing the latest fad is useful andfun, the biggest benefits come from either deepening or expandingyour domain of expertise. Challenge yourself to learnsomething outside your comfort zone such as hardware, yourcompany's or customers' domain expertise, or project management.

At the same time, focus on improving your fundamental skills andinherent strengths. Work hard to develop a political sense thatwill help you understand the motivations of the people around you.Engineering is fundamentally a human endeavor, and the key is tomaintain that balance.  Too many young engineers focus tooheavily on people or too heavily on engineering. I know that it isnot easy, but you really benefit by working on both sets ofskills.


Source: Matt Liberty

Title & Company : Founder of Jetperch LLC, acompany that provides DSP and embedded software consultingservices

What I do : I’ve been an engineer for 18 years. Ithink of myself as a generalist who understands the business ofengineering and systems engineering while still being skilled atembedded software and DSP algorithm development.

4. Becomeexperienced with a real time operating system.

Engineers who learn a formal structured development processeswhile working with a real time operating system (RTOS) are in highdemand today and command bigger salaries. That’s because they haveacquired the necessary discipline to develop any kind of safetycritical product and they also understand the idea of concurrency:Given that at any given point the CPU can be called to run adifferent task, they know how to make sure that the resource theyare currently using is not going to be trampled on. In short, theyknow how to protect resources from other tasks using the serviceunexpectedly, while maintaining performance.

So I would encourage engineers who are working with smallerdevices who had not worked with an RTOS to get some hands-ondevelopment experience–whether it’s VxWorks or Green HillsINTEGRITYor Micrium’s μC/OS. I am also starting to see a call fora lot of embedded Linux. That’s because Linux (in general) is avery scalable operating system. You can strip it down to the bareoperation for timing and scheduling and then load it on towhatever hardware you want and do kernel development for greateroptimization and control.


Source : Henry Wintz

Title & Company : Solutions Manager for theEmbedded Industry Practice at Randstad Technologies, anengineering and employment hiring services firm

What I do: Simply put, I’m in the business ofmaking things happen.


5. Diversify yourskills and move up the stack.

If you are still working barebones or on smaller MCUs, I advisetaking a Linux driver class. It will make it easier to move toAndroid later. And—although there is possibly less value–if youare used to working on large systems, try working barebones.

Move up the stack: Make a mobile app or learn some back-endserver stuff. It will give you a new vocabulary and perspective.

And become familiar with open source hardware. The projects I did8 years ago required me to spin my own HW and so on, so I couldnot focus on the algorithm development. Today, there are plenty ofoff-the-shelf boards that allow me to focus on the hard, uniquestuff.

Sure, it can make me feel like my whole existence of firmware hasbeen nullified and in many ways the fun of board bring up has beentaken away from me, but sometimes, we have to focus on the endgame. Unfortunately, this means I meet fewer and fewer people withthose particular skills, and those who do are literally a dyingbreed.


Source : Jen Costillo

Title & Company : Consultant, Rebelbot

What I do : I’ve been an engineer for almost 20years. I consider myself a jack-of-all-trades, in that I haveexperience in so many different areas. I’ve worked as low as acircuit designer and as high as making apps on Android or Windows.I’ve also worked in broad tech support and as an R&Dengineer.

6. Know your softwarewell but always tinker with the newest processors.

It is good to know a few languages, some people recommendlearning one new language a year. However, while pure softwareengineers need to learn languages to fit specific needs, embeddedengineers need to learn chips. A deep understanding of C or C++ iscritical but the newest trendy language is not as important as thenewest, trendy processor technology.

It’s important to know about processors, that’s just the natureof embedded. Because we have resource-limited systems, we need tounderstand those resources we have available. A new and niftylanguage like Go might be incredibly powerful, but it’s verylikely that it doesn’t run in our resource-limited environment.

In the end, you should acquire lots of shallow breadth and a fewareas of deep depth. Keeping current is important but learning allyou can about a few areas makes you an expert.


Source : Elecia White

Title & Company : Embedded Software Engineer,Embedded.fm

What I do : I have been an embedded softwareengineer for over 15 years. I did normal (server) software before.I've done some management over the years but I enjoy the hands-ontechnical aspects more.

7. Get comfortable withopen source software.

There are literally thousands of software packages that customerswant integrated into their systems, so this is an area where allembedded engineers need to feel comfortable.

I would also stress that you should avoid pigeonholing yourselfinto one area, as the skills you have will almost inevitablybecome obsolete and/or prevent growth.

And make sure that you understand both hardware and software;engineers who know both are the most valuable.  


Source : Rob Oshana

Title & Company : Distinguished Member ofTechnical Staff and Director of Global Software R&D forDigital Networking, Freescale Semiconductor

What I do : I have been an engineer for 31 years.I was educated as a EE, but I have been doing software engineeringmost of my career.

8. Develop a systemsengineering mindset.

It’s critical for embedded engineers to have a systemsorientation. I have seen a number of projects suffer becausethings like a clear defined requirement baseline, verificationstrategy and a plan for demonstrating compliance was notconsidered these early enough in the project. And every engineershould acquire good project management skills as you will be askedto commit to achieving deadlines. Having the ability to sensiblyexplain the risk in terms of technical and project risk will serveyou well in your career.


Source : Adam Taylor

Title & Company : Chief Engineer ElectricalSystems, E2V

What I do : I have been an engineer for 15 years.If I had to pigeonhole myself I would say that I am ahigh-reliability embedded system specialist. However, I have beenvery lucky in my career and have had the opportunity to design fora number of applications.

9. Become skilled atexpressing yourself (both in words and graphics).

Engineers of all types need to be able to effectively expressthoughts and ideas and often the best way to do that isgraphically. Too often I have asked junior engineers to explain aconcept, only to cringe as they ramble on without being able tofocus on exactly what it is that they are trying to explain.

We used to use flow charts to explain concepts. Maybe those aresomewhat obsolete today, but every engineer should have as afundamental skill the ability to use block diagrams, state machinediagrams, pictures or clouds or light boxes or whatever tool canaid in conveying concepts. Particularly if they are trying toexplain how something works.

Can you imagine trying to explain to a developer who is writingthe software for a controller how the machine works using atext-based document?

Mindmapping is one of myfavorite techniques for capturing and visually organizing my ideaand thoughts. I useiThoughts, a mindmapping app for the iPad, almost every day.


Source : Jean LaBrosse

Title & Company : President, Micrum

What I do : I am an EE by training and I have amasters in computer science. As an engineer, I like to look atthings that are complicated and simplify them.


10. Learn wirelessconnectivity.

The one thing I would recommend embedded engineers learn in thenext 1-3 years is wireless connectivity, specifically wifi and/orBluetooth low energy (BLE).

The primary (and sometimes only) way to interact with embeddeddevices is moving to the end user's smart phones, at least inconsumer electronics. Consumer electronics companies know that asmart phone is a much better user experience than most embeddedsystems can hope to provide on their own. And other industries andproduct categories are figuring it out too.

Our embedded systems are going to need to to talk to an app on asmart phone or an internet-based service in order to do anything -communicate with the user, get firmware updates, troubleshootproblems, etc.

It might be going a bit too far to say that wifi and BLE willsoon be as common as the UART is today, but it's not too farfetched, and it's a good tool to have in your toolbox.


Source : Chris Svec

Title & Company : Senior Principal SoftwareEngineer, iRobot

What I do : I’ve been an engineer for 13 years. Ithink of myself as a “low level” embedded engineer. I like livingat the hardware/software interface. But I’m also a “big picture”kind of guy, which means that I need to understand the fullcontext of the product I’m working on to really enjoy my work.

Join over 2,000 technical professionals and embedded systemshardware, software, and firmware developers at ESCBoston May 6-7, 2015 and learn about the latesttechniques and tips for reducing time, cost, and complexity in theembedded development process.

Passes for the ESCBoston 2015 Technical Conference are available at theconference’s official site with discounted advance pricing. Makesure to follow updates about ESC Boston’s other talks, programs,and announcements via the DestinationESC blog on embedded.com and social mediaaccounts TwitterFacebookLinkedIn,and Google+.

Embedded.com , the Embedded Systems Conference, and EE Times areowned by UBMCanon.

12 thoughts on “10 skills embedded engineers need now

  1. “What a narrow selection of embedded engineers you chose. They all seem to be talking about embedded systems based on an application processor and a full size OS. nI work pretty much full time in embedded systems and I do hardware (uP and FPGA) and very l

    Log in to Reply
  2. “Hello Michael,nnI wonder if you can assist, I need a good embedded systems engineer to work on a small ultrasonic sensor project. Can you assist?nnThanksnncharles.haden@hotmail.com”

    Log in to Reply
  3. “I may be optimistic. But… I thought the definition of an Embedded Systems Engineer implicitly (or even explicitly) meant knowing and applying hardware knowledge (well, at least since the 80's).”

    Log in to Reply
  4. “Yep, I tend to agree Michael. I've only been doing embedded systems for a few decades. When I interview candidates they had better have experience in handling some hardware problems. Understanding signal integrity challenges are also requirements. I w

    Log in to Reply
  5. “Hi Michael,nWe are looking for embedded developer to assist with IOS App developer, using BLE to connect smart phone to separate electronic device with mechanical locking system…would this be of interest to you?”

    Log in to Reply
  6. “Hi. My experience as embedded SW & HW engineer is more than 15 years and I didn't need any programming language except of C and ASM. Even C++ is used quite rarely. It is because of too small amount of memory in microcontrollers. Now I'm working on project

    Log in to Reply
  7. “hi i have recently completed a degree in electronic design engineering and I am now looking for some experience in the field. if anyone knows of any opportunities please let me know. I have happy with internship type employment for as little and long as p

    Log in to Reply
  8. “As I am Electrical Engineer, and now I want to study in Electronics and Embedded Development System as a Post-Graduate Diploma. So, what are the pre-requisite as any language(C, C++) for this course?”

    Log in to Reply
  9. “Thank you for the informaive articel its very helpful, and there is company for best Embedded System Software Engineering Development which We help businesses develop smart, integrated solutions that combine sleek hardware and user interfaces with powerfu

    Log in to Reply

Leave a Reply

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