Software Engineer / Sr. Software Engineer, Planning Selection Autonomy
DiDi Labs
Applying takes a free account: you'll come right back to this job to finish with your profile.
Need a reasonable accommodation to apply or interview? Contact us.
JobMinglr uses automated technology to recommend jobs based on profile information and job preferences. Match Score does not determine eligibility for a position, prevent a user from viewing or applying to a job, or make hiring decisions on behalf of an employer.
Description
About the Company
DiDi's autonomous driving unit was established in 2016 with the mission of developing Level 4 autonomous driving (AD) technology to make transportation safer and more efficient. In August 2019, the unit became an independent company, DiDi Autonomous Driving, dedicated to advanced AD R&D, product application, and business expansion. We believe integrating AD technology into a shared-mobility fleet will generate immense social value. By leveraging DiDi's specialized technology, operational expertise, and integrated ecosystem, we are positioned to build and operate a highly efficient, user-oriented autonomous fleet.
About the Role
We are seeking a junior or skilled Software Engineer to join our team and develop the core decision-making and motion planning systems for our autonomous vehicles. In this role, you will be responsible for creating the algorithms that enable smooth, safe, and intelligent navigation in complex environments. You will tackle challenges across the full motion planning stack, from high-level behavioral reasoning to low-level trajectory optimization.
Responsibilities
- Design and implement the core Behavioral Planning logic that determines the vehicle's high-level actions (e.g., lane changes, merges, yields, and interactions with other agents).
- Develop and optimize the motion planning algorithms that execute behavioral decisions, integrating Geometry Reasoning (path) and Speed Reasoning (velocity) into a cohesive trajectory.
- Architect and enhance the geometry system for generating geometrically feasible and compliant paths.
- Architect and refine the velocity system for generating context-aware, comfortable, and safe velocity profiles.
- Model complex driving scenarios and agent interactions to create a robust world model for the behavioral planner.
- Design different costs for trajectory ranking to trade off ETAs, comfort and safety of the vehicle behaviors.
- Conduct in-depth analysis, testing, and debugging of the system's performance in various scenarios, leading root cause investigations.
- Collaborate with Prediction, Perception, and Control teams to ensure a seamless flow from environmental understanding to physical vehicle motion.
Qualifications
- B.S./M.S. in Computer Science, Robotics, or a related field.
- Experience in autonomous systems, robotics, or automotive software development.
- Strong proficiency in C++ and Python for implementing complex, real-time algorithms.
- Solid understanding of robotics fundamentals, including decision-making, motion planning, control theory, trajectory ranking, search and optimization algorithms etc.
- Related experience in one or more of the following: behavioral planning, motion planning, behavior and world environment reasoning, trajectory ranking and cost design.
Preferred Qualifications
- PhD or internship experience related to robotics planning system designs.
- Knowledge of vehicle dynamics and longitudinal/lateral control systems.
- Solid understanding of machine learning principles, reinforcement learning and related algorithms.
The base salary range for this full-time position is $129,189-$214,776 annually in addition to bonus, equity and benefits. Our salary ranges are determined by role, level, and location. Within the range, individual pay is determined by work location and additional factors, including job-related skills, experience, and relevant education or training.
I acknowledge that prior to submitting this application, I have read and accepted the Privacy Notice for California Residents which is available on https://v.didi.cn/AQnxlBa
Pay for this role
The employer didn't post a pay range for this role. That usually means pay is set in negotiation, which favors whoever arrives with numbers. Check ranges on comparable Software Engineer / Sr. Software Engineer, Planning Selection Autonomy postings in San Jose, and analyze any offer before you accept it.
Before you apply, worth reading
How JobMinglr reads this job
Every listing here is scored against your profile before you apply: skills overlap, experience level, location and work arrangement, each weighted and explained. You see the score and the reasons, not just a list. How the matching works.