What are the responsibilities and job description for the Lead Autonomy Engineer - Planning position at May Mobility?
Job Summary
May Mobility is entering an exciting phase of growth as we expand our first-of-its-kind autonomous shuttle and mobility services across the nation. Launched in 2017 with a strong team of experienced roboticists and software engineers with decades of experience fielding robotic systems in the wild, May Mobility is looking to expand its team of robotics engineers with a background in robotics or autonomous vehicles.
Essential Responsibilities
You will have an opportunity to independently impact our approach to solving the most interesting problems facing AV’s today, while operating live in the wild.
- 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:
- In-depth 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 identify long term architectural improvements
- Ability to provide individual and team mentorship, including technical leadership for complex projects
- Ability to collaborate cross functionally with adjacent teams such as perception and controls
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)
- 10 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
- 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
- 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
Physical Requirements
- Standard office working conditions which includes but is not limited to:
- Prolonged sitting
- Prolonged standing
- Prolonged computer use
Travel required? - Moderate: 11%-25%