
Staff Software Engineer, Autonomy Actions
Job description
About the role
This position focuses on developing and refining the decision-making logic for our self-driving vehicles. You will contribute to the core systems that enable the vehicle to understand its environment and choose appropriate actions. Your work will directly impact the safety and performance of our autonomous driving technology. You will be responsible for architecting the software components that translate sensor data into reliable driving decisions. The role requires a deep understanding of how autonomy logic handles complex urban and dynamic scenarios. You will play a key part in ensuring the vehicle reacts correctly and predictably in real-world conditions. Your contributions will be visible in the core pipelines that govern vehicle behavior and motion. This is an opportunity to build the foundational logic that powers next-generation autonomous mobility.
Team
You will be part of the Autonomy Actions team, a critical group responsible for the vehicle's ability to navigate and interact safely within dynamic environments.
Key facts
What you'll do
- Design, build, and maintain software components for autonomous vehicle decision-making.
- Implement and test algorithms for path planning, behavior prediction, and motion control.
- Collaborate with research scientists and other engineering teams to integrate new capabilities.
- Analyze system performance and identify areas for improvement in autonomy logic.
- Develop and validate the logic that governs how the vehicle navigates intersections and handles merges.
- Create robust software modules that manage vehicle responses to unpredictable actors in the environment.
- Write high-quality C++ and Python code that adheres to strict safety and reliability standards.
- Participate in the full software development lifecycle from conception through deployment and iteration.
- Troubleshoot complex issues in simulation and on-road testing to refine autonomy actions.
- Document technical designs and implementation details to ensure clarity and maintainability.
- Optimize algorithms for performance to meet real-time constraints and operational requirements.
- Support the integration of machine learning models into the decision-making framework where applicable.
- Work closely with hardware teams to ensure software aligns with sensor and actuator capabilities.
- Drive technical discussions and propose solutions for challenging autonomy problems.
- Conduct rigorous code reviews to maintain high standards of safety and reliability across the codebase.
- Implement monitoring tools to assess the health and performance of autonomy actions in real time.
- Collaborate with product managers to align technical solutions with functional requirements and user needs.
- Explore emerging techniques in decision-making research and evaluate their applicability to production systems.
- Ensure compliance with functional safety standards relevant to autonomous vehicle software.
- Provide technical leadership in defining best practices for autonomy action development across the organization.
Requirements
- Bachelor's degree in Computer Science, Robotics, Electrical Engineering, or a related field.
- 5+ years of professional software development experience.
- Proven experience with C++ and Python.
- Familiarity with robotics software development, including ROS or similar frameworks.
- Experience with real-time systems and embedded software development.
- Strong understanding of software architecture and design patterns.
- Ability to write clean, efficient, and well-tested code under tight deadlines.
- Willingness to work within a structured engineering process to ensure safety and reliability.
- Solid understanding of control theory and its application to motion planning and execution.
- Experience with data-driven decision-making and probabilistic modeling in autonomy contexts.
- Knowledge of safety-critical systems and associated development methodologies.
- Familiarity with simulation frameworks used for validating autonomy behaviors.
- Demonstrated ability to debug complex, multi-threaded systems in a real-time environment.
Nice to have
- Master's or PhD in a relevant technical field.
- Experience with machine learning applied to robotics.
- Contributions to open-source robotics projects.
Skills & tools
- C++
- Python
- ROS
- Real-time systems
- Embedded software
Practical notes
Motional is an equal opportunity employer. We celebrate diversity and are committed to creating an inclusive environment for all employees.