Embedded Software Engineer
Role details
Job location
Tech stack
Job description
You'll be responsible for designing, developing and testing embedded software solutions used within complex hardware products. Working closely with hardware engineers, systems engineers and product teams, you'll contribute to the full software development life-cycle, from initial design through to integration and deployment., * Design, develop and maintain embedded software applications using C/C++
- Develop software for embedded systems and micro-controller-based platforms
- Work closely with hardware and systems engineers to integrate software and electronics
- Debug and troubleshoot software and hardware issues
- Develop, test and maintain firmware throughout the product life-cycle
- Write clean, efficient and reliable embedded code
- Perform code reviews and contribute to engineering best practices
- Support software testing, validation and release processes
- Produce technical documentation and contribute to design discussions
- Assist with continuous improvement of development processes and tooling
Requirements
-
Commercial experience developing embedded software
-
Strong programming experience in C/C++
-
Experience working with micro-controllers and embedded systems
-
Understanding of embedded software development principles
-
Experience debugging embedded applications
-
Knowledge of communication protocols such as:
-
UART
-
SPI
-
I2C
-
CAN
Experience working with hardware interfaces and debugging tools
Familiarity with version control systems such as Git
Ability to work collaboratively within a multidisciplinary engineering team
Desirable Skills:
- Experience with RTOS environments (FreeRTOS, Zephyr, ThreadX)
- ARM Cortex-M experience
- Embedded Linux
- Python scripting for automation/testing
- Experience with STM32, NXP, Nordic or similar micro-controllers
- CI/CD within embedded environments
- Safety-critical software development
- Automotive, aerospace, medical device or defence experience
- Knowledge of electronics and PCB design principles, * Robotics
- Automotive
- Defence
- Aerospace
- Medical Devices
- Industrial Automation
- Scientific Technology
- IoT / Connected Devices
Skills
- C++
- C
Benefits & conditions
- £55k+ salary package
- Hybrid working model
- Opportunity to work on innovative technology products
- Pension scheme
- Private healthcare
- Flexible working arrangements
- Training and professional development opportunities
- Collaborative engineering environment
- Clear technical progression opportunities