Find Jobs
Find Jobs Near You – Available Work in Your Location
Skip to job details
QI
Qnergy Inc
Senior Embedded Software Engineer
Career Insights for Embedded Software Engineer
See where this job fits in the broader career landscape. Knowing your career path helps you see what's possible from here.
Scorecard
Based on Utah data
Review key factors to help you decide if this role fits your goals. How is this calculated?
What they do
An Embedded Software Engineer designs or improves the embedded computer software that supports specialized hardware for certain products, devices or systems. Oversees the entire software development process. Analyzes customer or user needs, designs programs, writes code or instructs computer programmers, tests design, and documents programs. May assist with upgrades or maintenance.
$127,078 / year median in Utah
+16% projected growth
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., ModbusRTU/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.Benefits
- Dental Insurance