Logo
Motional

Principal Software Engineer - Motion Planning Architecture C+

Motional, Milpitas, California, United States, 95035


The team:Your expertise writing robust software can make a key contribution to one of our core robotics teams, motion planning & controls. The software you’ll write will go directly on production ready autonomous vehicles and impact how they decide to drive.Our Motion Planning teams receive inputs on the many things going on around the vehicle (perception, localization, mapping) and then decides precisely what is the best plan and decisions to make in real time. An example of motion planning includes building routes, navigating traffic, braking, acceleration, turning, lane-change among other actions, all while trying to optimize safety & comfort.You’ll have the opportunity to grow in robotics, including:Learning how full end-to-end robotics systems workResearch and apply Motion Planning and Controls concepts in production-level softwareTest code for autonomous vehicles in real-time environmentsBuild next generation software architecture for Motion Planner including how planner communicates with infrastructure layer/car.Advise algorithmic domain experts on their software designOur software developers practice clean and scalable code, which includes:Problem solving:Large groups of developers working on a shared codebase, documentation, and testingComplex software projects with multiple processes and modules interactionDesign patternsCodebase refactoringRealizing cutting edge robotics algorithms with limited compute resources in real-time/soft real-time environmentSoftware development practices:Unit testingCI/CDVersion controlFamiliarity with modern C++ featuresProviding/receiving code reviewsLanguages/tools:C++PythonBazel/GitThe experience we are looking for / our interview process will evaluate:C++ software design, algorithm implementation, debuggingBackground in software development environment(s) that include some of the aspects mentioned above (Our software developers…section)Python (bonus)Background in Robotics/Automation (optional)Education:Bachelors, Masters, or PhD degree in Computer Science, Computer Engineering, Mechanical Engineering, Robotics, Applied Math, or related fieldStrong fundamentals in Computer Sciences data structure and algorithms. Familiarity with graph search based concepts and basic geometry.

#J-18808-Ljbffr