Software Engineer in Test, Embedded Firmware
Listed on 2026-10-24
-
Software Development
Python, Embedded Systems/ Firmware/ IoT, Software Engineer, Software Testing
We are looking for a Software Engineer in Test with an interest in embedded firmware to join our IoT (Internet of Things) group. The group develops software for the microcontroller-based sensor hardware designed and manufactured in-house. Our products offer an interesting engineering challenge: microcontrollers with just a few hundred kilobytes of RAM and code space must collect data from sensors such as accelerometers and GPS, communicate with back-end systems over the Internet and nearby devices with Bluetooth, perform over-the-air upgrades with new firmware, and manage cryptographically-secured storage — all while using so little power that they can run for years on a battery.
CMT is looking for a Software Engineer in Test II, Embedded Firmware to help us change the world. CMT has helped protect over 65 million drivers and prevent over 126,000 crashes worldwide. We build AI to solve some of the most difficult challenges in mobility — understanding and reducing risk, detecting crashes, and getting people life-saving help. The problems are hard.
The impact is real. No matter your role, your work will matter at CMT.
- Use independent judgment and responsibility to contribute to the development and maintenance of test infrastructure for firmware validation under the guidance of senior engineers
- Execute and monitor firmware test runs across simulated firmware on Linux servers and real firmware on device
- Write and maintain automated tests to improve coverage and enhance failure visibility
- Use Python for test harnesses and scripting, with exposure to C for understanding firmware under test
- Use Linux for development and git for source code management
- Learn and apply knowledge of embedded microcontroller systems as it relates to firmware testing
- Assist with test systems attached to equipment capable of measuring parameters like power usage Gain familiarity with microcontroller circuit boards (e.g., Arduino-like devices), multimeters, benchtop power supplies, and electronic schematics
- Support web services for test coordination and result display, leveraging knowledge of REST APIs and web application development
- Triage and investigate test failures, distinguishing between firmware regressions and infrastructure issues
- Complete any additional tasks as they arise
- Bachelor’s degree or equivalent years of experience and/or certification in Computer Science, Electrical Engineering, or a related field
- 2+ years of relevant working experience
- Proficiency in Python programming; willingness to read and understand C
- Comfortable working on the Linux command-line and performing basic system administration tasks
- Experience writing and running automated tests, ideally in a CI environment
- Familiarity with git and standard development workflows
- Familiarity with Docker and cloud platforms (e.g., AWS) is a plus
- Strong debugging and troubleshooting skills
- Collaborative with the ability to work with diverse teams across the globe
- "leave things better than you found them" mindset
- Ability to balance speed and quality and ask for help when needed
- Exposure to embedded systems, microcontrollers, or low-level programming
- Experience with hardware test setups — oscilloscopes, multimeters, or reading basic schematics
- Experience with SQL
- Interest in performance measurement and instrumentation
- Knowledge of QA engineering practices such as test planning, defect lifecycle management, and requirements traceability
- Experience with build systems or release processes
- Fair and competitive salary based on skills and experience, and annual performance bonus
- Equity may be awarded in the form of Restricted Stock Units (RSUs)
- Medical, Dental, Vision and Life Insurance, matching 401k,…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).