cover image
IONATE

Senior Embedded Software Engineer

Hybrid

London, United kingdom

£ 80,000 /year

Senior

Full Time

08-12-2025

Share this job:

Skills

Communication Python C/C++ Bash Data Analysis CI/CD Test Test Automation Document design Architecture Software Architecture Linux C++ Embedded Systems VHDL

Job Specifications

£65-80K - Full-time - London/Hybrid

IONATE is a deep technology start-up building the technology backbone for smart grids. We are looking for a Senior Embedded Software Engineer to join our team and take ownership of real-time firmware development—from concept through to commercial deployment in the field.

You'll work with our hardware and systems team to design and implement production C/C++ firmware. Your role will span 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 around 5+ years of 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++.
Solid understanding of C 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.
Solid understanding 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.

Soft Skills

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.
Proven 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

Flexible working schedules: You will be based in our modern West London offices but will have the flexibility for hybrid work-from-home arrangements. Talk to us at the application stage about any scheduling prefere

About the Company

IONATE is a deep-tech innovator building the technology backbone for smart electricity grids. Its Hybrid Intelligent Transformers equip key electricity players with the data and power flow control they need in an ever-evolving system. This all-in-one device brings comprehensive sensing & monitoring, dynamic voltage-, reactive power - and harmonics control capabilities. But a network of them, coordinated by our digital platform, can transform power systems together with the energy transition. Know more