The pathway
How you actually get there, here
How you become one varies far more by country than what one does. This is the UK route. Most people take one of these ways in; the right one depends on where you're starting from.
- 1
Embedded Software Engineer (Mid-Level)
2-3 yearsSkills to master
- Independent driver development, basic board bring-up tasks, proficiency with a build system like Yocto, solid C programming and debugging skills.
You're ready to move on when
- Consistently delivers complex features independently.
- Proactively identifies and resolves issues within their scope.
- Provides informal guidance to new team members.
- Demonstrates a deep understanding of one or two key kernel subsystems.
- 2
Firmware Engineer (Non-Linux background)
3-4 years (with focused Linux learning)Skills to master
- Transitioning from RTOS/bare-metal to Linux kernel development, understanding Linux device model, userspace interaction, and open-source development workflows. Requires a steep learning curve in Linux specifics.
You're ready to move on when
- Has successfully ported a bare-metal driver to a Linux kernel module.
- Understands the differences and trade-offs between RTOS and embedded Linux.
- Has completed personal projects involving embedded Linux on development boards.
- 3
Software Developer (Systems/Kernel Focus)
2-3 yearsSkills to master
- Applying strong systems programming skills (C/C++, low-level OS knowledge) to the unique constraints of embedded hardware, learning hardware interaction, and debugging techniques specific to embedded systems.
You're ready to move on when
- Has experience with operating system internals or kernel development (e.g., desktop Linux, BSD).
- Demonstrates an interest in hardware and low-level programming.
- Has worked on projects involving resource-constrained environments.