Entering Embedded World

If you are interested to be an embedded engineer, this article is for you.

You are either at the beginning of your engineering career, or maybe you have spent several years in another industry and want to make a switch.

This article will show you a detailed aspects of embedded engineering, a comprehensive guide, if you want to call it.

First, you need to understand your new identity: embedded systems engineer.

What Makes You an Embedded Engineer?

To be a successful embedded engineer, you need 3 different things:

  1. Electrical Engineering skills. Like basic electronics concepts, digital and analog circuit.
  2. Computer Science skills. Like software design, design pattern, programming
  3. Third field like automotive, marine, aerospace, industrial.

Those are crucial because embedded systems is a combination of EE and CS, and That third field.

We need EE because we will interact with physical electronic circuits, especially digital circuit. Embedded systems involve lots of sensor (analog and digital), so a good understanding to electronics fundamental will help you a lot.

We need CS because we will program those electronic circuits. We will probably use a classic programming language like C or C++ (or maybe Rust), and will add many features, so knowing how to organize code, create robust and efficient program is also important.

We need Third field knowledge, because embedded systems won't be standalone. 99% of the time we will solve a field-specific problem using an embedded system. Let me give you an example.

A smart health band, as humble as it seems, packs a lot of features. This includes heart rate monitoring, pace tracking, and calories burned, etc. To properly build the system, we also need biomedical engineering knowledge: at what level the heart rate is considered too high? How to calculate burned calories based on movements? etc.

Now, if I draw the relationship between EE, CS, and Third Field, it will look like this:

Which one you should learn first?

It doesn't matter.

The goal is to have those 3 skills when you become an embedded engineer. You might already an automotive engineer and have a strong EE background, your next step is to learn software design.

Or you might have been exposed to electronic circuit as a child, and you learn programming in high school. Your next step is to learn the third field.

That last part is actually my path to embedded systems:


Explain a bit more, and bridge the discussion into roadmap, which is not linear:

Replace with my hand-drawn roadmap sequence

Difference between Topic A vs. Topic B

Replace with something that I still yet to figure out

A New, Radical Framework for Embedded Engineering Learning

Come up with an idea that can be illustrated via Iceberg diagram

The System Map

Definitely replace with my hand-drawn diagram



Whenever you're ready, there are 2 ways I can help you:

1. Professional Firmware Development Guide. If you're looking to build professional-grade firmware, I share 6+ years of expertise developing firmware. This guide shows you the exact workflow I use to build high-quality firmware for my company and my freelance clients.

2. Promote yourself to 2200+ subscribers by sponsoring my newsletter.