Embedded Linux Developer
Role details
Job location
Tech stack
Job description
You'll be responsible for: Developing embedded Linux solutions for ARM-based SoCs Working across Linux user space, kernel space and device trees Supporting system bring-up, board integration and hardware debugging Developing real-time software using C and C++ Working with RTOS and bare-metal systems across different MCU platforms Building and maintaining custom Linux images using Yocto Diagnosing complex software, hardware and system-level issues Collaborating closely with electronics, FPGA and wider engineering teams Contributing to technical documentation, project planning and engineering standards Working directly with customers to understand and solve challenging technical problems
Requirements
Commercial embedded Linux development Strong C or C++ programming skills Experience with ARM-based SoCs or embedded MCU platforms Knowledge of device trees, Linux user space and kernel space Experience integrating software with hardware An adaptable mindset and an interest in working across varied technologies Experience with some of the following would be highly beneficial: Yocto or custom Linux image development Linux device drivers RTOS or bare-metal development Python, C# or another scripting language for tooling and test automation Board bring-up and reading electronic schematics DSP, algorithms, communication protocols or state machines OpenCPI, STICS or SOSA Industrial, medical, communications or defence projects This position would suit a well-rounded embedded engineer who enjoys variety, wants exposure to the complete product lifecycle and is comfortable working at the boundary between software and electronics. You'll receive a strong overall package, ongoing technical development and the opportunity to work on genuinely varied engineering challenges within a friendly and highly capable team.