Job Description
As an Embedded Software Engineer, you will be responsible for designing, developing, and testing low-level software and device drivers that interface directly with hardware.
You will work across a range of embedded platforms and operating systems, contributing to the development of high-performance communication products used worldwide.
Key Responsibilities
* Design and develop low-level embedded software and device drivers
* Work across platforms including Embedded Linux, FreeRTOS, and bare-metal systems
* Produce technical documentation including design and test specifications
* Participate in technical reviews and project planning
* Conduct integration testing, debugging, and issue resolution
* Collaborate closely with hardware and software engineering teams
What We’re Looking For
* Strong experience with C programming in real-time embedded systems
* Proven background in low-level or device driver development
* Experience working on commercially released embedded products
* Strong debugging and problem-solving skills
* Experience with Embedded Linux driver architecture and ARM-based platforms
* Familiarity with multi-threaded, event-driven systems
Desirable Skills
* Experience working closely with hardware, including debugging tools such as oscilloscopes and logic analysers
* Knowledge of code profiling, memory analysis, or automated testing tools
* Experience within telecoms, mobile, or similar embedded environments