Mission Summary
The Infrastructure team designs and develops high quality software to leverage embedded compute platforms for autonomy stack development. Most of the software we write will affect safety critical applications on the Motional vehicle platforms. We are a team of engineers who bring a broad experience in software development and leverage this to develop software which pushes the boundaries of what has been achieved in the autonomous vehicle safety space.
We are looking for engineers who are motivated to solve hard problems and can lead development of complex safety-critical software components on embedded platforms. This is a Hybrid position.
The Motional Pittsburgh office is located in the Hazelwood Green development, a culmination of the city’s goal of restoring an economic driver to the neighborhood in a thoughtful, inclusive, and sustainable way. With views along the Monongahela river, the Pittsburgh office is in the heart of this state of the art development.
What You'll Be Doing:
- Designing and developing infrastructure software on various hardware platforms for applications such as Vision Processing, Radar systems, Safety monitoring etc., to be run on self-driving vehicles
- Designing firmware components such as device drivers and kernel libraries
- Designing test harnesses for embedded software components as well as full systems
- Providing technical mentorship to engineers
- Proactively supports the team with engineering support in their product area.
What We're Looking For:
- Experience with creating detailed requirements from use cases.
- Ability to lead a technical initiative, including breaking down work and guiding other engineers through execution.
- Experience writing software for embedded platforms in C and C++.
- Experience with TDD - unit tests and integration tests.
- Experience working on embedded Linux / RTOSs.
- Experience working with networks (Ethernet, CAN etc.) and the common networking protocols.
- Experience with debugging on embedded platforms.
- Experience writing software in Python and experience doing automation with shell scripting.
- Experience working with ARM Cortex MCUs or Microprocessors
Bonus Points (not required):
- Experience working with large data pipelines, and platforms that require deterministic execution.
- Experience using inter-system communication protocols such as I2C and SPI
- Experience deploying Machine Learning models.
- Experience working with FGPAs and GPUs.
- Experience working directly with the Linux kernel or Device Drivers.
- Experience working with RTOSs such as FreeRTOS, ThreadX or PreemptRT.
- Experience with Simulation and Code Generation, and knowing when their use is appropriate.