Career, So You Want My Job?

Career Profile: Embedded Systems Engineers

August 11, 2014

Embedded systems are becoming an increasingly important part of engineering design – relevant to almost any product that has a software component, from manufacturing to smartphones. It’s a complex role involving research, design, and manufacturing.

Experienced embedded systems engineer Adam Katzmann* describes his career.

“I started out making demo units for a major consumer electronics company involving getting a CPU to interface with a sensor.

These demo projects are important not only because that’s how you sell parts to customers, but also because you end up learning a lot about what to make next in your product line and also how to better use the part in a real project. From there, I ended up designing evaluation kits and migrating to a 100% software design role, mostly because I was one of the few people in our group that knew enough of both worlds to work as a sort of systems designer.

Other people I’ve worked with have ended up writing drivers for parts or CPUs that are designed to work on various operating systems (usually Windows or Android since iOS is sort of locked down), developing reference code that goes into microcontrollers, porting algorithms (e.g. audio codecs) into efficient C code, or working with hardware engineers to design boards.”

What does it take?

pcb design engineering

Openbiosprog-spi PCB in Kicad

Adam sums up the challenge facing the aspiring entrant to the field.

“A good embedded engineer should have a well-rounded set of software, firmware, and hardware skills. I’d say the latter two are slightly more important, but a good firmware engineer should know how to program well regardless. You can’t really separate hardware from the picture at the level where you’d work, so it’s important to understand how the underlying circuits work – that doesn’t just mean the CPU or micro, but also the peripherals you interface with. In short, you need to be a jack of all trades.”

He’s not kidding. The list of necessary skills is alarming and diverse.

“A good engineer should know a bit about each of the following:

  • PCB design and layout
  • basic circuit design
  • C and Assembly
  • at least one scripting language (probably Python or Perl)
  • Verilog or VHDL (if working with FPGAs).
  • C++ or Java knowledge would be a major plus, depending on the job.

You’ll also need soldering and basic “shop skills”, unless you want to be the technicians’ slave driver, and they’ll hate that.  Oh and, of course, you’d better be a good communicator. Nobody wants to read undocumented code or talk to an engineer who either can’t speak English at all or writes like a fifth grader who’s been held back twice.”

The nature of embedded engineering means that it’s a rapidly evolving field. You have to be able to take advantage of every improvement in both hardware and software, and to be fully cognizant of both the costs of manufacturing and quality control issues. “Stay sharp,” counsels Adam. “The best software engineers never stop learning. Ideally, you should also be doing some of your own projects on the side.

And make sure your passport is up to date. Adam is quick to point out that travel is an essential part of the job. “If you work in hardware at all, be prepared for trips to China, Taiwan, or Korea to support manufacturing.”

What will you make?

San Francisco embedded systems engineering salaryHowever, if you’ve got the raw talent to make it, the financial rewards can be immense. Although the starting pay will vary wildly, depending on where you’re working and your chosen industry, it’s a lucrative profession.

“Here’s what I’d anticipate in the SF Bay Area,” says Adam. “You can expect about 85k starting, perhaps 75-80k if in semiconductors, higher if at a major brand or at a well-funded startup. Later on, this will easily hit the six figure range, with salaries reaching 120k to 150k. This doesn’t include stock compensation, which is common around here.”

The demand is huge, and growing. “In the SF Bay Area, you can look at just about any company working on hardware, really,” Adam comments.

“Semiconductors, consumer electronics, startups, medical, and so on. Software companies sometimes have these roles too: Oracle and Google both look for such people. Then there are the oil, biomedical, and automotive companies.”

* The interviewee requested anonymity for this article. His name has been changed. 

Photo Credit: Uwe Hermann cc
One Comment

Seems like reliability calculation knowledge/software should also be added to that list of skills, at least a strong willingness to learn.