Qnergy Careers logo

Senior Embedded Software Engineer

Qnergy Careers

On-siteOgden, UTseniorPosted 1h ago

Job description

Description

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.

Requirements

Education & Experience:

  • 7+ years of professional experience in embedded systems, firmware, or embedded software development.

  • Bachelorโ€™s degree in Electrical Engineering, Computer Engineering, Computer Science, or a related field โ€“ or equivalent practical experience.

  • Experience shipping embedded products that operate in the field (industrial, IoT, energy, automotive, aerospace, or similar).

  • Experience taking products from development through certification, manufacturing, and field deployment is a strong plus.

Skills & Abilities:

Must-have:

  • Strong proficiency in C (and/or C++) for resource-constrained, bare-metal and RTOS environments.

  • Hands-on experience with STM32 (or similar ARM Cortex-M) microcontrollers and FreeRTOS (or a comparable RTOS).

  • Working experience with embedded Linux (e.g., OpenWrt, Yocto, or Buildroot-based systems), including device configuration, networking, and cross-compilation.

  • Experience with bootloaders, OTA/firmware update mechanisms, secure boot, and flash/file system design.

  • Proficiency with common communication buses and protocols: UART, SPI, I2C, CAN, Ethernet.

  • Able to read and interpret schematics and datasheets.

  • Comfortable debugging with lab equipment: oscilloscope, logic analyzer, JTAG/SWD debuggers, and multimeters.

  • Solid understanding of embedded system fundamentals: interrupts, DMA, timers, ADCs, power management, and memory-constrained design.

  • Disciplined engineering habits: version control (Git), code reviews, and structured testing of embedded code.

Nice-to-have:

  • Ability to contribute to hardware design: schematic review, component selection, and board bring-up.

  • Experience with PCB design tools (e.g., Altium, KiCad).

  • Experience with industrial fieldbus protocols (Modbus RTU/TCP, CANopen) and RS-485 networks.

  • Experience with cellular/LTE or other remote connectivity modules, and with IoT telemetry protocols (MQTT, HTTP/REST).

  • Familiarity with firmware security practices: secure boot chains, encrypted updates, and key storage.

  • Experience with CI/CD for firmware, automated testing, or hardware-in-the-loop test rigs.

  • Familiarity with safety or reliability-critical development practices (e.g., functional safety standards).

  • Exposure to cloud-side integration (device management, provisioning, dashboards).

Work Environment:

  • This is an on-site role based at our Ogden, Utah facility, with regular access to hardware, lab equipment, and test fixtures.

  • Regular use of a computer keyboard is required.

  • Regularly sits for several hours per shift; occasional standing work at lab benches.

  • Ability to read and interpret schematics, datasheets, and technical documents.

  • Performs detailed work on multiple concurrent projects.