Senior Embedded Software Engineer
Posted 17 hours 35 minutes ago by Computer Futures / SThree Group
£100,000 - £125,000 Annual
Permanent
Full Time
I.T. & Communications Jobs
Sussex, Burgess Hill, United Kingdom, RH150
Job Description
Overview 
We are looking for an experienced Senior Embedded Software Engineer to design, develop, and enhance embedded software for advanced electro mechanical products used in global industrial applications. This role is hands on and technical, contributing to firmware development across the full product lifecycle while collaborating closely with hardware, electronics, and systems teams.
This is an ideal position for an engineer who enjoys solving real time, hardware integrated problems and delivering high quality embedded code in a structured engineering environment.
Key Responsibilities Embedded Software Development- Design and develop embedded firmware in C/C++ for ARM-based microcontrollers (e.g., STM32).
- Work with real time environments - RTOS or bare metal.
- Implement drivers, peripherals, communication buses, sensor interfaces, motor control, timers, and control loops.
- Write reliable, maintainable, well structured embedded code.
- Collaborate with electrical and systems engineering teams to define requirements and interface specifications.
- Use oscilloscopes, logic analysers, debuggers (e.g., JTAG/SWD) to diagnose and resolve issues.
- Support integration, bring up, and testing of new hardware and prototypes.
- Contribute to code reviews, unit testing, and documentation.
- Use version control systems (Git) and structured SDLC processes.
- Follow embedded software best practices (MISRA or similar desirable).
- Mentor less experienced engineers where appropriate.
- Work closely with cross functional teams to deliver features, diagnose field issues, and improve existing firmware.
- Participate in technical discussions and contribute to continuous improvement of tools and processes.
- Strong professional experience developing embedded systems in C/C++.
- Experience with ARM Cortex M microcontrollers (e.g., STM32).
- Good understanding of embedded hardware: peripherals, ADCs, interrupts, timers, PWM, bootloaders.
- Experience in real time systems (RTOS or bare metal).
- Strong debugging skills using both software tools and physical lab equipment.
- Communication protocols: SPI, I C, UART, CAN (at least two).
- Experience in full lifecycle firmware development within a structured engineering environment.
- Experience with industrial products, robotics, machinery, pumps, sensors, or motor control.
- Control algorithms or DSP understanding.
- Experience with Python or scripting for tooling/test automation.
- Familiarity with safety, reliability, or IEC/ISO engineering standards.
- Experience with continuous integration and automated test frameworks for embedded systems.