Computers are everywhere these days — not just on your cluttered desk or kitchen table.
Software is now embedded into nearly every imaginable system or product, is driving innovations across what’s known as the Internet of Things, or IoT.
“Embedded systems are generally small and specialized, often based on microprocessors, and tailored for a very specific purpose," says Mikhail Skobov, an instructor for the Specialization in IoT Embedded Systems Design. “In the case of IoT devices, it's all internet-connected applications."
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.
“Over the past 10 or so years I've been in the software and firmware field in the Seattle area, I've shipped numerous hardware products, including e-bikes, stations and wearables," says Skobov, who’s now a staff software engineer for Lyft. “The field is always progressing, and there are always things to learn, including techniques that may differ from anything you've seen in the past."
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,” says Lawrence Lo, an advisory board member for the Certificate in Embedded & Real-Time Systems Programming. “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 says.
Especially for embedded systems like security or medical devices, Lo says the reliability of the code is paramount. If it glitches or fails, it’s a safety issue.
“When you deal with hardware, it’s difficult to change it,” Lo says. “That means the software design has to be well thought-out. If you don’t do it right, you might hurt someone.”
U.S. (2021-31): 26%
Washington state (2020-30): 37%
Median Annual salary
U.S. (2022): $127,260
Washington state (2022): $151,930
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 37% through 2030.
In Seattle, positions for embedded software engineers have doubled since 2018, according to Lightcast. And, based on a recent search of Indeed.com, it’s not just major tech firms like Amazon, Facebook and Google that are hiring, but newer companies like TikTok and Blue Origin.
“A lot of companies are making these devices,” Lo says. “Working in startup companies can be exciting because you have more freedom to try out some new ideas.”
Hands-On Experience May Give You an Edge in the Job Market
Lo says 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, many employers will expect embedded software engineers to know the programming language C and preferably C++; some also use Python, according to Lo.
But to fully understand the process of building even a very simple device with embedded software, it can be helpful for aspiring engineers and hobbyists to practice building IoT applications from scratch, Skobov says.
“The Specialization in IoT Embedded Systems Design covers all of the bits and pieces that actually go into taking a product from nothing to production,” Skobov says. “Over-the-air updates, building the bootloader, implementing the networking stack and things of that kind — we’re going to go into all of those in detail.”
Explore Our Programs
Interested in the embedded systems field? Check out the Certificate in Embedded & Real-Time Systems Programming, the Specialization in IoT Embedded Systems Design and other relevant programs:
Source: Lightcast – lightcast.io