About this role
About the Role The Embedded Software Engineer will develop firmware for Linux-based embedded systems using modern C++. You’ll work on architecture, coding, unit testing, system-level test definition, testability, maintenance, and code reusability for devices such as in-car video systems and body cameras. What You'll Do
- Develop firmware for embedded systems running Linux using C++.
- Architect, implement, and test software; improve testability and code reusability.
- Write and refine stories, and execute tests in an Agile embedded development environment.
- Work with vendor-provided APIs and SDKs; define software APIs and implementation details.
- Utilize a multi-stage CI build process to produce embedded software loads.
- Debug system-level issues running on production hardware. What We're Looking For
- Strong understanding of object-oriented programming in C++ and experience developing Linux-based embedded systems.
- Bachelor’s degree in Computer Science or related field; Master’s degree considered (additional considerations).
- Legal authorization to work in the U.S. indefinitely; visa sponsorship not available.
- Travel under 10%.
- Additional technical experience: Bare Metal development in C, Linux kernel experience with device drivers, device trees, kernel modules, Yocto, UI development on Linux, Android development, Open Source Software, network implementation, CI pipeline management, real-time system considerations, neural networks, and relevant academic projects. Nice to Have
- Master’s degree in Computer Science or related field.
- Yocto implementation expertise; UI development on Linux; Android development; Open Source Software exposure; neural networks experience. Compensation & Benefits
- Target base salary range: $75,000 - $95,000 USD.
- Benefits include Incentive Bonus Plans, Medical, Dental, Vision, 401K with Company Match, 10 Paid Holidays, Generous Paid Time Off, Employee Stock Purchase Plan, Paid Parental & Family Leave, and more.