ZipLine
Staff Software Engineer
ZipLine, San Francisco, California, United States, 94199
About Zipline
Do you want to change the world? Zipline uses drones to deliver critical and lifesaving medicine to thousands of hospitals serving millions of people in multiple countries. Our mission is to provide every human on Earth with instant access to vital medical supplies. Join Zipline and help us make this a reality for billions of people.
About You and The Role
If you enjoy dissecting the raw measurements from your GNSS receiver, fusing them with IMU, camera, and ground-station data, and feeding everything into a highly robust state estimator, this role would be a perfect opportunity for you to experiment and show your talent.
Our vehicles operate all around the globe, and must be able to complete their missions reliably in the face of all weather conditions, and even in the event of sensor failures. We need to build a system that handles a wide variety of geographic environments and operates without high-definition maps. We strive to continuously improve our systems so that we never encounter the same problem twice.
You will be expected to stretch your skills and to experiment with new approaches to filtering and measurement. You will design systems to gather data from every mission, so that you can confirm things are working as expected–or so that we can reproduce and fix the problem if not.
What You'll Do
Extract the maximum value from the observations of our GNSS hardware: integrating all the data available from our ground station network when available, but also building robust systems which handle extended communications outages without a large amount of drift.
Design systems which deal with intermittent GNSS availability, ensuring our vehicle can make use of both GNSS and vision data, while handling failures in either one at any time.
Perform trade studies to understand the value of new sensors or processing approaches to vehicle performance and reliability.
Analyze the performance of systems both in simulation and using data from vehicles operating in the field to find under-performing facets of the system, and devise solutions which bring them up to speed.
Participate in code review with a strong and capable team of engineers building highly reliable software in the Rust programming language.
What You'll Bring
A degree in physics or an engineering discipline.
Experience with state estimation, probabilistic filtering, GNSS RTK and raw measurements, IMU data, sensor modeling and simulation.
Understanding of calculus, linear algebra, non-linear optimization, and computational numerical methods.
Experience in building high performance software systems using compiled languages (C/C++/Rust/Ada/etc.).
The capability to solve complex problems with little supervision as part of an integrated team.
Excellent communication skills, both written and verbal.
What Else You Need to Know The starting cash range for this role is $180,000 - $225,000. Please note that this is a target, starting cash range for a candidate who meets the minimum qualifications for this role. The final cash pay for this role will depend on a variety of factors, including a specific candidate's experience, qualifications, skills, working location, and projected impact. The total compensation package for this role may also include: equity compensation; discretionary annual or performance bonuses; sales incentives; benefits such as medical, dental and vision insurance; paid time off; and more.
Zipline is an equal opportunity employer and prohibits discrimination and harassment of any type without regard to race, color, ancestry, national origin, religion or religious creed, mental or physical disability, medical condition, genetic information, sex (including pregnancy, childbirth, and related medical conditions), sexual orientation, gender identity, gender expression, age, marital status, military or veteran status, citizenship, or other characteristics protected by state, federal or local law or our other policies.
We value diversity at Zipline and welcome applications from those who are traditionally underrepresented in tech. If you like the sound of this position but are not sure if you are the perfect fit, please apply!
About You and The Role
If you enjoy dissecting the raw measurements from your GNSS receiver, fusing them with IMU, camera, and ground-station data, and feeding everything into a highly robust state estimator, this role would be a perfect opportunity for you to experiment and show your talent.
Our vehicles operate all around the globe, and must be able to complete their missions reliably in the face of all weather conditions, and even in the event of sensor failures. We need to build a system that handles a wide variety of geographic environments and operates without high-definition maps. We strive to continuously improve our systems so that we never encounter the same problem twice.
You will be expected to stretch your skills and to experiment with new approaches to filtering and measurement. You will design systems to gather data from every mission, so that you can confirm things are working as expected–or so that we can reproduce and fix the problem if not.
What You'll Do
Extract the maximum value from the observations of our GNSS hardware: integrating all the data available from our ground station network when available, but also building robust systems which handle extended communications outages without a large amount of drift.
Design systems which deal with intermittent GNSS availability, ensuring our vehicle can make use of both GNSS and vision data, while handling failures in either one at any time.
Perform trade studies to understand the value of new sensors or processing approaches to vehicle performance and reliability.
Analyze the performance of systems both in simulation and using data from vehicles operating in the field to find under-performing facets of the system, and devise solutions which bring them up to speed.
Participate in code review with a strong and capable team of engineers building highly reliable software in the Rust programming language.
What You'll Bring
A degree in physics or an engineering discipline.
Experience with state estimation, probabilistic filtering, GNSS RTK and raw measurements, IMU data, sensor modeling and simulation.
Understanding of calculus, linear algebra, non-linear optimization, and computational numerical methods.
Experience in building high performance software systems using compiled languages (C/C++/Rust/Ada/etc.).
The capability to solve complex problems with little supervision as part of an integrated team.
Excellent communication skills, both written and verbal.
What Else You Need to Know The starting cash range for this role is $180,000 - $225,000. Please note that this is a target, starting cash range for a candidate who meets the minimum qualifications for this role. The final cash pay for this role will depend on a variety of factors, including a specific candidate's experience, qualifications, skills, working location, and projected impact. The total compensation package for this role may also include: equity compensation; discretionary annual or performance bonuses; sales incentives; benefits such as medical, dental and vision insurance; paid time off; and more.
Zipline is an equal opportunity employer and prohibits discrimination and harassment of any type without regard to race, color, ancestry, national origin, religion or religious creed, mental or physical disability, medical condition, genetic information, sex (including pregnancy, childbirth, and related medical conditions), sexual orientation, gender identity, gender expression, age, marital status, military or veteran status, citizenship, or other characteristics protected by state, federal or local law or our other policies.
We value diversity at Zipline and welcome applications from those who are traditionally underrepresented in tech. If you like the sound of this position but are not sure if you are the perfect fit, please apply!