Senior Embedded 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 provide you with full, comprehensive private medical and dental cover through Bupa. You also have the option to add any dependents to your cover. Please ask us for more details.
- Company pension: a flexible, and sustainable pension product to help you plan for your future.
- Career Development: It's important to us that you have the opportunity for ongoing professional development and career growth. You will receive an annual budget for professional development and work with your team to set and reach goals every year.
- Flexible working schedules: You will have the flexibility for work-from-home arrangements. Talk to us at the application stage about this.
- Cycle to Work Scheme: Low carbon travel is important for everyone, so we have in place a cycle scheme to help you purchase a bicycle.
- Slow travel: We believe in a low carbon future, so if you wish to travel by a lower carbon method - but it takes much longer than flying - we will give you an extra 2 slow travel days per year.