Embedded Software Engineer
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