Senior Embedded Software Engineer
Job Summary:
The Senior Embedded Software Engineer will design, develop, and support the embedded software and firmware at the heart of Qnergy's products – from bare-metal microcontroller firmware to embedded Linux systems. This is a senior hands-on individual contributor role with broad ownership across the embedded stack, working closely with electrical, mechanical, and software engineers. As the company grows, this role has a path to grow into a technical leadership position for the embedded discipline.
Responsibilities:
- Design, implement, and maintain bare-metal and RTOS-based firmware (STM32 / FreeRTOS) for engine controllers, supervisory/system controllers, power electronics, and monitoring systems.
- Develop and support embedded Linux platforms, including system services, networking, and device integration.
- Own productization aspects of firmware: bootloaders, over-the-air / field firmware updates, secure boot, flash and file systems, watchdogs, and low-power operation.
- Integrate and support communication interfaces: fieldbus protocols (e.g., Modbus RTU/TCP, CAN, RS-485), remote connectivity (e.g., cellular/LTE), and cloud telemetry (e.g., MQTT, HTTP) feeding the Qnergy Dashboard.
- Debug complex cross-domain issues using lab equipment (oscilloscope, logic analyzer, debuggers) and contribute to hardware design reviews and board bring-up.
- Collaborate with electrical, mechanical, and cloud/software teams on architecture, interfaces, and design tradeoffs.
- Establish and improve engineering practices for embedded development: version control, code reviews, automated builds, CI/CD for firmware, hardware-in-the-loop testing, and effective use of modern development and AI-assisted tooling.
- Support manufacturing, field service, and customer-facing teams in diagnosing and resolving issues from returned or deployed units.
- Document designs, interfaces, and test procedures to a standard appropriate for safety and reliability-critical products.