Lead Autonomy Behavior Engineer

Application page

Candidacy Status

No response.

From Application Page

Essential Responsibilities

Design, implement, and test-state-of-the-art robotics software in C/C++ to enable comfortable and safe behavior and control for Autonomous Vehicles Lead and participate in team code quality activities including design and code reviews Provide technical guidance to Technical Support Team on issue diagnosis and resolution Coordinate with cross functional teams to develop software and system requirements for Autonomous Vehicle behavior and controls subsystems Collaborate with data science team members to design and implement metrics capturing key performance indicators of Autonomous Vehicle subsystems Develop unit and simulation tests to validate vehicle performance across target operational domains Coordinate and execute on-vehicle tests to validate performance of Autonomous Vehicle software in real-world scenarios Diagnose and root-cause issues reported by commercial operations through the May Field Response process Develop tools and visualizations to enable support engineers to analyze performance of behavior and control subsystems from field data

Skills and Abilities

Success in this role typically requires the following competencies:

Expert understanding of one or more of the following: behavior planning, decision making under uncertainty, path planning, probabilistic reasoning, prediction, machine learning, trajectory generation, controls or localization Awareness of the state of the art in the field, and be able to translate novel ideas into relevant solutions at May Ability to understand complex code bases and define architecture as a framework enabling others to solve problems. Ability to provide technical leadership for complex projects, including individual and team mentorship Ability to collaborate cross functionally with adjacent teams such as perception and controls as well as stakeholders outside of autonomy Communicates technical direction effectively at all organizational and technical levels. Defines measurable success metrics for May’s technical roadmap to ensure delivery and health of the system.

Qualifications and Experience

Candidates most successful in this role typically hold the following qualifications or comparable knowledge or experience:

Required

Bachelor’s degree in Robotics, Computer Science, Computer Engineering, or a field that requires a strong mathematical and/or engineering foundation (e.g. physics, aerospace engineering) 7+ years of industry experience working on real-world robot systems including implementing at least two commercial projects working at a systems-level, delivering critical functions that make a robot work successfully in the field. Experience developing and deploying capabilities for robot behavior planning, decision making under uncertainty, path planning, probabilistic reasoning, prediction, machine learning, trajectory generation, controls and/or localization Familiarity with multiple non-linear control methodologies appropriate to mobile robots or autonomous vehicles, such as MPC, LQR, PID, optimal control, stochastic control, adaptive control, and robust control Strong programming skills in C/C++ Expertise with software development in a Linux environment Familiarity with standard development tools such as git, valgrind, and gdb

Desirable

Masters or PhD in Robotics, Computer Science, or Electrical and Computer Engineering, Mechanical Engineering, or a field that requires a strong mathematical and/or engineering foundation (e.g. physics, aerospace engineering) Strong background in one of the robotics areas discussed above as demonstrated by developing and delivering to fielded robots multiple capabilities that solve critical problems in controls and motion planning Familiarity with optimization techniques that are appropriate to mobile robots or autonomous vehicles, such as QP, control theoretic splines, and dynamics-aware approaches Demonstrated ability to mentor and support more junior engineers in learning and contributing to robotics development and testing Strong programming skills in C, software development in a Linux environment