Senior Software Engineer
Summary
Onsite Senior Software Engineer at ThermoWorks (American Fork, UT) building and maintaining embedded firmware plus supporting backend services for connected temperature devices and gateways, using ESP32, C/C++, Wi-Fi, BLE, MQTT, sensors, and OTA updates, working with hardware, mobile, and cloud teams.
Location: Onsite at ThermoWorks in American Fork, Utah. Remote/hybrid schedule NOT available.
ThermoWorks is looking for a hands-on Senior Software Engineer to join our Product Development team. You’ll build and improve the software that brings our connected products to life, with a focus on embedded firmware and some backend programming to support our devices.
You’ll contribute to multiple projects, taking software from requirements and prototypes through integration, validation, and delivery. Our connected temperature devices and gateways use technologies such as ESP32, C/C++, Wi-Fi, Bluetooth Low Energy, MQTT, sensors, displays, and over-the-air firmware updates. You’ll work across device firmware and supporting backend services, collaborating with hardware, mobile, and cloud teammates to deliver reliable end-to-end products.
We’re looking for a self-starter who loves building products, can move work forward with limited day-to-day direction, and is comfortable solving open-ended engineering problems. Familiarity with managing and leveraging multiple AI agents to accelerate software development workflows is expected. This is a firmware-focused role, not a circuit-design or PCB-layout position. Occasional travel, including international travel, may be required.
Essential Responsibilities
- Develop and maintain embedded firmware for connected products, including sensor interfaces, connectivity, diagnostics, power management, and OTA updates.
- Develop and maintain backend software and integrations that support connected devices, their data, and device-facing features.
- Take software features from requirements and implementation through unit, integration, and product testing; maintain clear technical documentation.
- Integrate device software with sensors, displays, wireless networks, mobile applications, and cloud services in collaboration with the teams responsible for those systems.
- Debug prototypes and field issues across firmware, connectivity, and hardware boundaries; improve product reliability and performance.
- Contribute to multiple projects, communicating progress and risks, managing priorities, and working with product, hardware, cloud, mobile, and manufacturing teammates.
- Support product releases, manufacturing readiness, and sustaining engineering.
- Travel occasionally, including internationally, as project needs require.
- Perform other duties as assigned.