Computers are everywhere these days — not just on your cluttered desk or kitchen table.
Tiny, powerful microprocessors are embedded into nearly every imaginable system or product, and embedded software is driving innovations across what’s known as the Internet of Things.
For instance, at home, a refrigerator with a built-in computer can track what’s inside and automatically send you a grocery shopping list. In health care, pills embedded with ingestible sensors can let caregivers and doctors know whether a patient has taken their medication. And in transportation, smart traffic lights can adjust to real-time traffic conditions.
“Embedded systems are in everything, and there’s no end to what’s possible,” said Lawrence Lo, an instructor for UW Professional & Continuing Education’s Certificate in Embedded & Real-Time Systems Programming.
What Embedded Software Engineers Do
Embedded software engineers design and code the programs that run these embedded systems. But unlike, say, application software developers, embedded software engineers need to understand the mechanics of the hardware and how the software and hardware should interact.
“The system we build usually runs in the background,” said Lo, who has 20 years of experience in the field. “Our job is to map the requirements from marketing or project management into a design, then map the design into code.”
Day to day, embedded software engineers work in an agile environment. With faster iterations, applying proven design methods is more important than ever. Engineers should spend at least a third of their time on design, Lo said.
“When you deal with hardware, it’s difficult to change it,” said Lo. “That means the software design has to be well thought-out.”
And in embedded systems like medical devices, the reliability of the code is paramount, Lo said. If it glitches or fails, it’s a safety issue.
“If you don’t do it right, you might hurt someone.”
projected job growth
Washington state: 34%
median annual salary
Washington state: $117,280
Sources: Bureau of Labor Statistics, O*NET
Demand for Embedded Software Engineers
The ubiquity of devices with built-in microprocessors means businesses everywhere are hiring software engineers who can work on embedded systems. Jobs for software developers are expected to keep growing in Washington state by 11 percent over the next 10 years.
In Seattle, positions for software developers with embedded skills have more than tripled since 2016, according to EMSI. And, based on a recent search of Indeed.com, it’s not just major tech firms like Amazon and Google that are hiring, but newer companies like Sonos, a smart speakers company, and Zonar Systems, a smart transportation fleet company.
“A lot of companies are making these devices,” Lo said. “Working in startup companies can be exciting because you have more freedom to try out some new ideas.”
How to Get an Edge in the Job Market
Lo said embedded software engineers typically have a degree in computer science, computer engineering or electrical engineering. While there’s sometimes opportunity to learn about hardware and software on the job, the Certificate in Embedded & Real-Time Systems Programming gives students hands-on experience with both.
On the technical side, embedded software engineers must know the programming language C and preferably C++; some also use Python, according to Lo. He said candidates with a master’s in electrical engineering and advanced skills, like cryptography, could stand out in the job market.
When it comes to soft skills, it’s critical that embedded software engineers are self-disciplined, logical and dedicated to design and reliability.
“The ultimate goal is to build a safer system and a safer world,” Lo said.
Explore Our Programs
Interested in the embedded systems field? Check out the Certificate in Embedded & Real-Time Systems Programming and other relevant programs: