Senior Embedded Software Engineer developing production C/C++ firmware for grid-connected systems. Collaborating with engineering teams to tackle complex embedded software challenges in a hybrid work environment.
Responsibilities
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.
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
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.
Business Analyst in Data & Analytics at LUXASIA transforming transaction, marketing, and operational data into strategic decisions. Partnering with stakeholders to unlock insights and guide business impact.
Data engineer responsible for data pipelines and customer - facing analytics at AI - driven content platform. Collaborate with product and engineering to enhance data features in a fast - growing startup.
National Property Technical Lead responsible for managing property claims and providing technical assistance at Marsh. Collaborating with internal stakeholders to ensure optimal client advocacy and claim resolutions.
Senior Software Engineer responsible for client/server software development in Omaha, NE or Lehi, UT. Collaborating and supporting design, development, and implementation of applications.
Software Engineer II developing and maintaining proprietary applications for business lines at SouthState. Collaborating with analysts and engineers in a fully remote environment with occasional travel to Atlanta.
Embedded Firmware Engineer developing BIOS/UEFI for hardware systems at HP. Leading design and debugging of embedded software and firmware, collaborating with cross - functional teams.
Principal Engineer shaping future datacenter and cloud software at Intel. Engaging with customers and leading architectural optimization in cloud and on - premise environments.
(Senior) Software Architect at Maurer Electronics leading software architecture and development teams. Focusing on secure digital solutions and innovative technologies in IT security and identity protection.
Software Engineering Intern at Cortina developing and maintaining R&D software systems. Involves Python applications, API design, and collaborative tasks in a hybrid setup.
GTM Engineer shaping go - to - market strategies within technology sector at ComplyAdvantage. Collaborating with teams to design effective strategies and enhance customer engagement.