Senior Embedded Software Engineer
Listed on 2026-02-28
-
Software Development
Embedded Software Engineer, Software Engineer
This job is brought to you by Jobs/Redefined, the UK's leading over-50s age inclusive jobs board.
£65-80k / Hybrid - London
IONATE is a deep tech scale-up building the hardware and software backbone for smart grids. Our mission is to transform power systems - from grids and microgrids to renewables and data centres - unlocking the massive potential in this under-innovated sector that touches every aspect of our modern lives.
We are looking for a Senior Embedded Software Engineer to join our team. You'll work with our hardware and systems team to design and implement production C/C++ firmware, spanning embedded software architecture, control algorithm implementation, hardware-firmware integration, and active participation in verification, validation, and live product testing.
You will bring a practical, evidence-based approach to engineering decisions and contribute to advancing our HIT technology for grid-connected systems.
What you will do
Development
- Develop embedded software for grid-connected inverters.
- Design and implement real-time firmware from scratch for ARM Cortex-M microcontrollers; manage memory, peripherals, interrupts, and debug low-level issues
- Develop bare-metal and RTOS-based applications; reason about latency budgets, interrupt priorities, and timing edge cases in real-world deployments.
- Implement real-time platforms where to deploy control algorithms and closed-loop firmware that operate within hard timing constraints and safety requirements for grid-connected applications.
- Bring up new hardware platforms: configure peripherals, integrate sensors and actuators, validate functionality, and document the integration process.
- Troubleshoot firmware-hardware faults in test rigs and in the field; reproduce issues, analyse logs, and deliver robust fixes without disrupting future deployed systems.
Quality and Collaboration
- Work closely with hardware engineers, power electronics specialists, control engineers, and systems teams to define interfaces, timing budgets, and validation strategies.
- Participate actively in code reviews, design discussions, technical analyses and help raise the standard of the codebase.
- Contribute to safety and quality processes: able to identify regulatory standard compliance and ensure firmware aligns accordingly, maintain traceability, and document design decisions and test evidence.
- Create and maintain technical documentation including requirements, design specifications, test reports, and architecture notes.
- Work within clear timescales to deliver projects on time with ambitious product goals.
Requirements
What you will need
- A degree in electronics, embedded systems, software engineering, or related discipline, with demonstrated industrial experience.
- You will have industrial experience building real-time embedded systems - developing, shipping and supporting firmware in complex products, from prototype through to deployment.
- Solid understanding of real-time and deterministic embedded software design principles.
- Demonstrable experience of working on embedded software projects using C/C++.
- Mastery of C language and its underlying implementation cost function.
- You can write efficient, predictable and maintainable code under strict constraints.
- Proven experience developing bare-metal and RTOS applications, managing interrupt priorities and latency budgets, and debugging race conditions and timing issues in deployed real-time systems.
- A firm grasp of interrupt handling, inter processor communications and synchronisation mechanisms.
- Good knowledge of performance optimisation techniques and hardware/software interaction.
- You can diagnose firmware-hardware faults using oscilloscopes, logic analysers, JTAG debuggers, and low-level inspection.
- Strong communication and written skills.
- Willingness to travel nationally and internationally for testing/commissioning when required.
It would be useful to have:
- Understanding of power electronics, grid interconnection, or motor control firmware.
- Demonstrable track record of developing for ARM-Cortex-M/R/A processors.
- Proficiency in a scripting language (e.g. Python, TCL, Bash) for test automation, tooling or data analysis.
- Experience architecting real-time Linux drivers or kernel modules; you understand device trees, OS-level interrupt handling, and the trade-offs between RTOS and embedded Linux.
- Working knowledge of with MPSoC platforms (Xilinx Zynq); you have experience knowledge of FPGA languages such as VHDL or Verilog.
- Experience with communication protocols such as UART, SPI, I2C, Ethernet and USB.
- Ability to read PCB schematics and datasheets; experience testing/debugging PCBs.
- Previously set up or maintained CI/CD for embedded code, written unit tests for firmware, or used static analysis tools to catch defects early.
- Knowledge of digital closed-loop control applications.
- You have written or reviewed firmware against safety standards.
Benefits
- Employee Option Plan: You get equity in IONATE, so as we succeed so do you.
- Private Medical & Dental Insurance: From day one, we…
To Search, View & Apply for jobs on this site that accept applications from your location or country, tap here to make a Search: