Senior Software Engineer - Motion Planning
Zipline · South San Francisco, CA
About Zipline
About You and The Role
You care deeply about code quality, and know how to validate the performance of an autonomous system in the real world. You have the judgment to see where a project can be improved, to design a solution, and to see it through to release. You keep the end user and customer in mind in your work. You look for simple solutions to complex problems. You are comfortable communicating across a diverse engineering team, picking up new skills and sharing your knowledge.
Among our current challenges:
- Scale our autonomy software to allow 10,000 deliveries a day
- Prototype, test, and refine autonomy software for next-generation delivery platforms, working alongside other software and hardware teams
- Develop Detect and Avoid solutions that allow us to operate in any real world environment
- Achieve safety and reliability goals beyond the current state of the art
- Ground-up design of planning algorithms for tightly negotiating terrestrial obstacles
What You'll Do
- Develop onboard motion planning and decision-making software for our fleet of delivery drones
- Enable the next level of scale for our life-saving service via fleet-wide coordination and deconfliction algorithms
- Build and use simulation tools to determine the impact of new features before deploying them to the field
- Analyze real data from thousands of flights to ensure the system is operating safely and efficiently
- Architect new components of our autonomy stack as we extend the capability of our software to meet the challenges of new products and platforms
- Mentor junior engineers and influence technical direction for the team
- Work alongside the perception team to drive their subsystem requirements
What You'll Bring
Technical:
- 5+ years of professional experience developing software for hardware products in a safety-critical field, e.g. aerospace, robotics, medical devices, autonomous vehicles
- Expertise in writing safety critical code in one or more of: Rust, C++, C
- Demonstrated technical leadership in a production environment, writing software that runs on complex autonomous systems that operate in the real world
- Knowledge of planning and search algorithms with industry experience in robotics, manipulation, or autonomous driving
- Ability to build and use simulation and data analysis tools for evaluating system performance
- Experience building real-world robotics systems and handling the long-tail corner cases to ensure high uptime systems