Embedded Software Engineer, Platform
Voyage is delivering on the promise of self-driving cars.
Voyage has built the technology and services to bring autonomous transportation to those who need it most, beginning in retirement communities. Whether residents face mobility restrictions or just want to take a ride, Voyage takes pride in getting all our passengers to their destination safely, efficiently, and affordably. Our journey begins in calmer communities, but we won't stop until anyone, anywhere can summon a Voyage.
As an Embedded Software Engineer in the platform team, you will be owning both system design and implementation of safety-critical functions. This role requires programming for realtime environments such as microcontrollers and embedded Linux.
Responsibilities:
- Contribute to all phases of the software development cycle including prototyping, requirements capture, design, implementation, and validation
- Design, develop, and test embedded safety-critical algorithms and software for the Voyage vehicle
- Create software requirements, design documentation, test plans, and other supporting documentation
- Champion code-coverage and test-driven development as it relates to the embedded software context
- Work cross-functionally with the Autonomy and Perception team to ensure the safety algorithms and software meet the high assurance requirements needed for autonomous driving
- Contribute to failure and hazard analyses and implement safety mitigations in the control software
- Contribute to Hardware-in-the-Loop software improvements for Continuous Integration and development
Requirements:
- 3+ years of experience developing embedded software
- Embedded C/C++ programming experience
- Familiarity with microcontroller development including both low-level driver development and user application
- Experience with high assurance development practices and tools (ISO-26262, MISRA C/C++, etc.)
- Familiarity with modern software development methodologies and tools (Agile, Git, unit testing, CI, etc.)
- Experience with CAN and/or similar low-level protocols
Nice to Have:
- Experience with existing ADAS technologies, including adaptive cruise control, automatic emergency braking, lane-following, automated lane changing
- Experience with automotive microcontrollers such as Infineon Aurix TC3xx or TCxx family
- Familiarity with Hazard and Risk Assessment (HARA) and/or Failure Mode and Effects Analysis (FMEA)
- Experience developing in an embedded Linux environment
- Familiarity with AUTOSAR
- Experience interfacing with Matlab and Simulink as code generation tools
- Experience with ROS 2 and/or DDS
We are an equal opportunity employer and value diversity at our company. Women, people of color, members of the LGBTQ community, individuals with disabilities, and veterans are strongly encouraged to apply.