Embedded Linux software engineer job description

Embedded Linux Software Engineer

The embedded Linux software engineer / embedded Linux engineer is a software engineer specializing in Linux OS adapted to embedded systems.

Are you looking for a company specializing in embedded software to help you with your project?

Read more about our development services offer, and then do not hesitate to contact us, so that we can discuss about it together.

We have design centers in Europe (France), Eastern Europe (Serbia) and a branch in the USA (California, in the Silicon Valley).


What does an embedded Linux engineer do?

Under the responsibility of a project manager sometimes helped by an expert , the embedded Linux engineer takes care of low-level software development activities. This includes:

  • Low layer development (boot, drivers …) with strong embedded constraints, often security and sometimes real-time. It can be software bricks or complete products
  • Testing developed modules by running tests
  • Maintenance of the delivered code
  • Regular reporting of the progress to the various stakeholders involved

How to become an embedded Linux engineer?

It requires a master’s degree in the software field. Ideally, beginners must have at least a first experience in the field of embedded Linux development, which can be an internship or even personal or associative projects.

Required Skills

An embedded Linux software engineer is familiar with Linux development environments as well as architectures with several microprocessors and microcontrollers (such as PowerPC, iMX6 etc.).

He/she masters software programming in C, as well as other languages such as C ++.

In addition to these basic skills, experienced Linux engineers have the ability to analyze third-party code (software reverse engineering) and are able to comprehend a system in its entirety, beyond the development of a feature.

Linux User space / Drivers / Kernel

To summarize, embedded Linux includes 3 levels of intervention: user space, drivers and kernel.

First, the embedded software engineer can intervene at the user space level, for example to develop applications that run on embedded Linux. To do this, you just need to know how to code in C and be able to use the associated compilation tools.

Then, if you want to insert components that will communicate with the kernel, you will need to develop drivers. In addition to software development skills, one must have specific knowledge in embedded operating systems as well as in the hardware field.

Finally, you may have to intervene at the kernel level, we also speak of rebuilding the Linux kernel.

As a reminder, within an operating system, the kernel is the optimized software layer responsible for ensuring communication between hardware and software. This includes the management of software tasks (eg launching programs, scheduling) as well as hardware management (memory, processor (s), peripheral (s) etc.).

In addition, while the Linux engineer is involved at the user space and driver levels, the expert can intervene at the kernel level.
Take a look at our article for a better understanding of how to rebuild a Linux kernel.


The salary of a young graduate in this area depends on his educational background, his experience and the region where he works. In France, he can usually claim a salary between 33K€ and 36K€.

Embedded Linux Engineer Jobs

ELSYS Design is hiring embedded Linux developers in France.
The offers are to discover on our jobs board.