Mission Summary
The Infrastructure organization designs and develops high quality embedded software running on various compute platforms enabling robust autonomy stack execution. Our embedded software components conform to state of the art automotive safety standards. We are a highly skilled engineering team deploying complex software architectures that redefine autonomous vehicle technology performance.
We are looking for embedded software engineers ready to solve hard problems and lead the development of complex safety-critical embedded software solutions.
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:
- Your expertise will help the team in designing and developing complex safety critical embedded software components supporting a diverse set of autonomous self-driving applications.
- You will contribute directly to key technical areas such as hardware safety monitoring, drive-by-wire, vision processing, and/or radar processing systems.
- You will have the opportunity to learn and advance your technical skills through designing and developing robust firmware device drivers and related operating system kernel libraries.
- You will achieve best in class software quality by leveraging HIL benches and designing clever embedded software component test harnesses proving system requirements are met.
- You will grow your leadership skills further by providing technical mentorship to software team members.
- You will ensure robust software component performance by proactively supporting the extended Motional team post software delivery.
What We're Looking For:
BS or MS in Computer Engineering, Electrical Engineering, Computer Science or equivalent knowledge and related work experience. 5-7+ years experience (10+ preferred) working with:
- A diverse set of microcontrollers or microprocessors (e.g. Aurix Tricore, ARM).
- Embedded network protocols like Ethernet, CAN, CAN-FD, and LIN.
- Serial communication protocols such as UART, I2C, and SPI.
- Writing software for embedded platforms in C and/or C++.
- A test driven development (TDD) environment, writing unit and integration tests.
- Automotive embedded RTOS software.
- Software build systems like Bazel, CMake, and/or Make.
- Real-time task execution and scheduling principles.
- Debugging approaches, methods, and tools for embedded systems.
- Static analysis (e.g. cppcheck, Klocwork, Coverity, PCLint) and dynamic analysis (e.g. clang sanitizers, valgrind) tools to ensure code quality and MISRA compliance.
- Software development life cycle and the V development model.
- Creating detailed safety critical software requirements.
- Creating high level and detailed software architectures and designs.
Along with 5+ years embedded software product leadership experience:
- With a proven track record of delivering high quality embedded software releases.
- Developing software work breakdown structures meeting project deadlines.
- Ability to mentor and guide more junior software engineers through the development phases.
Bonus Points (not required) for experience working with:
- Embedded Linux kernel and/or Linux device drivers.
- Embedded RTOSs such as AUTOSAR, FreeRTOS, VxWorks,ThreadX or PreemptRT.
- Embedded security hardware such as trusted platform modules, hardware security modules and the like.
- Writing Python software supporting HIL automation testing via shell scripting.
- Safety certification standards (i.e. ISO 26262, IEC 61508, EN 5012X, DO-178B/C).
- FGPA and GPU embedded hardware and software.
- Developing and deploying machine learning models.
- Simulation and autocode generation, with knowledge on proper usage.
- Large data pipelines requiring deterministic execution.
Why you should join us:
It wasn’t that long ago that autonomous driving was merely a dream. Today the technology behind autonomous vehicles has shown great promise to revolutionize personal transportation. To advance the technology from what we have today to what is needed for mass deployment, reductions in hardware and software costs are paramount. This is where you come in. As a member of the Infrastructure organization, you will design and develop high quality software bringing these cost competitive embedded compute platforms to market. Our mission is to facilitate robust autonomous vehicle driving, meeting the safety critical requirements needed for use in Motional vehicles. We want you to join our highly skilled team,