What is an embedded system engineer?

Responsability & skill set

Now that we have a plan, we need to define what is exactly the scope of the job.

What are the boundaries of an embedded system engineer?

In a nutshell, an engineer is a trained professional who applies scientific, mathematical, and technical knowledge to design, create, build, or improve systems, products, processes, and solutions to various challenges. Accordingly, an embedded system engineer (E.S.E) is specialized in designing, developing, and testing embedded systems. 

What is an embedded system then?

Embedded systems are self-contained computing systems integrated into larger products or devices to execute specific tasks efficiently. In simple terms they are a combination of hardware and software designed to perform specific tasks or functions within a larger system. These systems are typically dedicated to particular applications, often with real-time requirements, operating autonomously with little or no user intervention.

Responsabilities of an embedded system engineer:

From that point, we can define the primary responsibilities of an E.S.E as:

In three words it is about defining, designing and verifying an embedded product. Those actions are repeated in a loop where the errors found will feed the development process (c.f DevOps / CI). 

Embedded consequences:

In addition to those responsabilities, the fact that we work on a product integrated in a larger system with associated communication and compatibility requirements, will have consequences on the job:

Relevant industries to work for:

Embedded system engineering can be needed in different industry sectors, each tailored to specific applications with distinct knowledge and skills. Each sectors definitely share common tools and knowledge. They need to have a deep understanding of hardware and software interaction, strong programming skills, and knowledge of electronics and digital systems. But jumping from one to another can sometimes be tricky. Here some sectors with embedded system needs:

In our case we are going to mainly focus on the Automotive sector. 

Skills and tools for an automotive embedded system engineer:

Skills

Here, I am going to propose a list of necessary skills to be a successful embedded system engineer:

Softwares

Mastering the following software tools is crucial for efficient embedded system development:

To sum up:

As described, understanding hardware, mastering programming languages, grasping the interaction between code and machine, using associated specialized software tools are key factors to become a successful embedded system engineer. But more than technical skills, problem-solving, critical thinking and fast learning abilities will be the back bone of our professional development. 

This non-exhaustive list will evolve all along this learning journey, so let's start!

© Pierre Congiu Consulting - 2023