Search open roles at our portfolio companies

Senior Software Engineer - Autonomy Platform

Zipline

Zipline

Software Engineering
South San Francisco, CA, USA
Posted on Thursday, August 24, 2023

About Zipline

Do you want to change the world? Zipline is on a mission to transform the way goods move. Our aim is to solve the world’s most urgent and complex access challenges by building, manufacturing and operating the first instant delivery and logistics system that serves all humans equally, wherever they are. From powering Rwanda’s national blood delivery network and Ghana’s COVID-19 vaccine distribution, to providing on-demand home delivery for Walmart, to enabling healthcare providers to bring care directly to U.S. homes, we are transforming the way things move for businesses, governments and consumers. The technology is complex but the idea is simple: a teleportation service that delivers what you need, when you need it. Through our technology that includes robotics and autonomy, we are decarbonizing delivery, decreasing road congestion, and reducing fossil fuel consumption and air pollution, while providing equitable access to billions of people and building a more resilient global supply chain.
Join Zipline and help us to make good on our promise to build an equitable and more resilient global supply chain for billions of people.

About You and The Role

As an Autonomy Platform engineer you will be responsible for delivering a computer system that enables a highly maneuverable aircraft to dodge power lines that are not on any map, avoid buildings that aren’t shown on satellite photos, stay clear of other aircraft and safely find the right open area to drop life saving supplies. This will entail conceiving and implementing methods for transporting, processing and storing high-bandwidth data across multiple processors in real-time. You will need to find the best techniques to run advanced machine learning algorithms on resource constrained embedded hardware. You will study entire datasheets in order to help select, test, and productionize novel sensors using techniques that produce a flawless stream of output over thousands of flight hours.

What You'll Do

  • Work closely with hardware and embedded software teams to make the right design decisions to ensure the highest-quality data can be acquired, with outstanding reliability and a focus on efficiency in time, cost, and effort
  • Hold a relentlessly high bar for quality across a team that tackles a wide domain of software from acoustic signal processing to image capture
  • Set examples of best practices and processes so that algorithm developers have the tools they need to understand and optimize their designs, making sure they’re getting the most value out of the hardware onboard

What You'll Bring

  • You’ve deployed real-time safety-critical systems where runtime and post-mortem analysis were equally supported
  • You bear the battle scars of fighting for deterministic behavior in your software... but think the battles are worth fighting anyway
  • You know all the tricks to wring performance out of your favorite platform's neural network accelerators -- zero copy, quantization, batching, etc.
  • You have internalized best practices from working on a codebase with many collaborators, from continuous integration to code review
  • You love digging into all levels of your technology stack, whether it’s the build system, the network stack, or the application layer itself
  • You know your way around aligning data between sensors--and why, even with the best of planning, it doesn’t always work as expected
  • Proficient in C or C++ and Python
  • Familiar with running the Linux kernel on resource-constrained systems and with real-time requirements
  • Understands what makes code run fast or slow, and how to use multi-core or GPU hardware to make things run fast every time
  • Familiarity with the best way to get data in and out of a computer--and keep track of where it went
  • Bonus points for experience developing device drivers for microprocessor peripherals or familiarity with Rust

What Else You Need to Know

The starting cash range for this role is $145,000 - $185,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; overtime pay; 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!