feature article
Subscribe Now

I Are An Embedded Engineer

“So… what is it you do, again?”

How many times have you been asked that question? How many times explaining your career choice to family and friends? To impress your date with your mad job skills? To fill out a simple form, straining for words that will fit in the box labeled “profession?”

About halfway into the conversation do most people hear, “computer engineer” and ask you to fix their PC? This must be what it’s like being a doctor at a cocktail party. Every casual conversation quickly devolves into a plea for free technical support. “It does this funny thing when I click the thing.” Either that or they ask you for investment advice on Intel stock, Microsoft, or Google. You must know everyone at Google, right? Can you get them to fix image search? It sucks now.

In reality, we’re embedded engineers. Developers of things that aren’t PCs. Users of operating systems they don’t stock at Best Buy; creators of applications you can’t download from the App Store for $0.99. And no, I can’t fix your frickin’ PC.

Statistically speaking, virtually all electronics engineering is embedded engineering. After all, how many people really design PCs and Macs? Maybe ten companies, and maybe 20-40 guys in each of those companies? That’s a pretty small job pool, and besides, what do those guys have to think about, anyway? You just plug in the latest Intel or AMD processor, the latest core-logic chipset, and the latest graphics controller. How hard can it be? To paraphrase Truman Capote, that’s not designing, that’s typing. If you can put Tab A in Slot B you can design a PC.

No, real engineers develop embedded systems. So why don’t people at large—and our in-laws in particular—understand that? They hear “electronics” and instantly think “PC.”

Even amongst ourselves, there’s disagreement over what constitutes an embedded system. Personally, I’ve always defined it as anything that isn’t a computer. I know, that’s an inherently exclusionary definition; it’s a bit like defining the population of the world as “people who aren’t astronauts.” It’s also intrinsically vague: what constitutes a computer, so we know what not to include? Well, let’s see… a Windows PC is a computer, a Mac is a computer, a Linux box might be a computer, and, uh, after that I don’t know…

Like the judicial definition of pornography, we know it when we see it.

Which doesn’t leave us with much to talk about with our friends. “I don’t make PCs” isn’t much of a job description. “I don’t make porn” or “I’m not an astronaut” would be as useful.

Is an iPhone a computer or an embedded system? How about a PlayStation 3 or the navigation system in your car? These all seem like embedded systems (to me, at least), yet they’ve all got more CPU horsepower, RAM, and nonvolatile storage than the first dozen “real computers” I worked on. They even have keyboards, high-resolution displays, and network interfaces, the razor blade by which one could formerly separate the computers from the embedded systems.

They all have operating systems, too, and run multiple applications at once. And they crash—surely a sign of computer-hood.

So what does separate embedded systems from PCs? Performance level? Resources? Consumer acceptance (if it’s awkward to use, it’s a computer; otherwise it’s an embedded system)?

A colleague of mine once defined embedded systems as “closed” boxes that didn’t accept third-party software. Embedded systems, he felt, always shipped with all the software they’d ever have. There might be the occasional factory upgrade of the firmware, but nobody would install apps or run programs.

Another coworker sniffed that embedded systems were reliable, as opposed to computers, which require constant maintenance. Naturally, any time his prototypes failed in the lab we dealt him the ultimate insult by calling them PCs.

Finally, some insist that embedded systems are always hidden and usually invisible. They’re “embedded,” after all; implanted inside some other product. That makes sense and it’s even lexicographically correct, but what happens when there is no outer-wrapper product and the embedded technology is all there is? The electronics inside a missile is clearly embedded; the electronics in a PlayStation is the whole product.

So in the end we wind up describing our current projects. “I’m working on a new network router” or “I work for Cisco” is about as accurate as it gets. Never mind that two years ago you were designing robot controllers, and two years before that writing firmware for animated toys. In short, you’re an embedded designer.

What do you think is the definition of an embedded system, and how do you describe your career to the unwashed? Fill up our forum pages. I’d be interested in what works (and what doesn’t) in getting the point across.

In the meantime, I gotta go backup my phone’s applications before the next OS upgrade. 

Leave a Reply

featured blogs
Oct 21, 2020
We'€™re concluding the Online Training Deep Dive blog series, which has been taking the top 15 Online Training courses among students and professors and breaking them down into their different... [[ Click on the title to access the full blog on the Cadence Community site. ...
Oct 20, 2020
In 2020, mobile traffic has skyrocketed everywhere as our planet battles a pandemic. Samtec.com saw nearly double the mobile traffic in the first two quarters than it normally sees. While these levels have dropped off from their peaks in the spring, they have not returned to ...
Oct 19, 2020
Have you ever wondered if there may another world hidden behind the facade of the one we know and love? If so, would you like to go there for a visit?...
Oct 16, 2020
[From the last episode: We put together many of the ideas we'€™ve been describing to show the basics of how in-memory compute works.] I'€™m going to take a sec for some commentary before we continue with the last few steps of in-memory compute. The whole point of this web...

featured video

Demo: Inuitive NU4000 SoC with ARC EV Processor Running SLAM and CNN

Sponsored by Synopsys

Autonomous vehicles, robotics, augmented and virtual reality all require simultaneous localization and mapping (SLAM) to build a map of the surroundings. Combining SLAM with a neural network engine adds intelligence, allowing the system to identify objects and make decisions. In this demo, Synopsys ARC EV processor’s vision engine (VPU) accelerates KudanSLAM algorithms by up to 40% while running object detection on its CNN engine.

Click here for more information about DesignWare ARC EV Processors for Embedded Vision

Featured Paper

The Cryptography Handbook

Sponsored by Maxim Integrated

The Cryptography Handbook is designed to be a quick study guide for a product development engineer, taking an engineering rather than theoretical approach. In this series, we start with a general overview and then define the characteristics of a secure cryptographic system. We then describe various cryptographic concepts and provide an implementation-centric explanation of physically unclonable function (PUF) technology. We hope that this approach will give the busy engineer a quick understanding of the basic concepts of cryptography and provide a relatively fast way to integrate security in his/her design.

Click here to download the whitepaper

Featured Chalk Talk

SLX FPGA: Accelerate the Journey from C/C++ to FPGA

Sponsored by Silexica

High-level synthesis (HLS) brings incredible power to FPGA design. But harnessing the full power of HLS with FPGAs can be difficult even for the most experienced engineering teams. In this episode of Chalk Talk, Amelia Dalton chats with Jordon Inkeles of Silexica about using the SLX FPGA tool to truly harness the power of HLS with FPGAs, getting better results faster - regardless of whether you are approaching from the hardware or software domain.

More information about SLX FPGA