Software Engineer in Test, Embedded Firmware
Software Engineer in Test II in CMT's IoT group, building and maintaining test infrastructure and automated tests that validate embedded microcontroller firmware — running tests on simulated firmware on Linux servers and real devices, using Python, some C, git, CI, and hardware test equipment. Based in Cambridge, MA.
- Compensation
- $85.7K–$107.1K / yr
- Location
- Cambridge, MA
- Work setup
- Remote
- Seniority
- Not specified
- Employment
- Not specified
- Experience
- 2+ years
- Category
- Embedded
- Posted
Skills
Must have
- 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
- Strong debugging and troubleshooting skills
- Collaborative with the ability to work with diverse teams across the globe
- Eager to learn and grow — a "leave things better than you found them" mindset
- Ability to balance speed and quality and ask for help when needed
Nice to have
- Familiarity with Docker and cloud platforms (e.g., AWS)
- 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
Full description
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.
Responsibilities:
- 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
Qualifications:
- 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