Jobs and Careers
ZI

Senior Embedded Software Engineer

Zipline
South San Francisco, United Statesfull_timeVerifiedPosted 31 Mar 2023
💰 $175,000/yr($135,000/yr$175,000/yr)

About the role

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 a senior embedded software engineer at Zipline, you will be responsible for building the infrastructure that enables a highly maneuverable aircraft to safely deliver life saving supplies, while staying clear of other aircraft and dodging obstacles not on any map. You will work closely with a range of other disciplines to ensure each aircraft seamlessly transitions from our manufacturing lines to being a participant in the largest drone delivery network in the world.

We are hiring for this role across both our Avionics and Ground Systems embedded software teams. We are migrating from a purely microcontroller-based system to one that blends powerful Linux edge computing (with GPU capabilities), in order to support more advanced perception and autonomy. Depending on your interests and expertise, you may operate as a firmware or Linux expert, or as an embedded generalist floating between on the boundary.

You will help us bridge the gap from proven prototypes to robust, reliable, scaled up systems. Our aircraft are deployed to locations around the world, many not easily accessible, even over a network. You will help build re-usable firmware and software infrastructure that will level up our systems’ observability and reliability, without requiring an equal scaling of our engineering team.

What You'll Do  

  • Design and build the software architecture necessary to run everything from critical flight software to inter-connected ground-based hardware on embedded Linux systems
  • Develop kernel and userspace drivers for production and prototype sensors, and refine sensor data APIs for perception, navigation and other autonomy software engineers
  • Design and build the software necessary to run critical flight and safety processes on a network of microcontrollers, from bootloaders to network drivers to embedded applications
  • Analyze the runtime characteristics of our avionics software in flight to build confidence in its performance, focusing on re-usable, maintainable software and optimizing where required
  • Understand and improve the reliability of the flight software system as a whole, working with hardware and systems engineers to develop comprehensive fault management strategies and hardware-in-the-loop tests
  • Develop metrics, monitoring and troubleshooting capabilities to prepare the system for field deployment at scale
  • Design and build data collection and testing tools to support early stage evaluation of new sensors, communications systems, and edge compute platforms

What You'll Bring 

  • Strong software engineering skills, with proficiency in at least one strongly typed language. We use Rust, C++ and Python.
  • Curiosity and a willingness to learn and work in a variety of software environments, from kernel module development to lightweight web services and hardware test frameworks. We use Yocto to build our in-house Linux distribution, and FreeRTOS on our microcontrollers.
  • Experience building and maintaining real-world deployed embedded systems, and handling the long tail of edge cases to ensure consistently high performance and reliability
  • A systems mindset and intuition for debugging; when anything could be wrong, you know how to narrow down the possibilities.
  • For firmware specialists, a fluency in implementing peripheral drivers based on electrical schematics and datasheets, and debugging at this boundary in order to support prototype hardware evaluation
  • For Linux-level specialists, familiarity with running Linux in resource-constrained environments with real-time requirements; we have an audacious goal of running dense stereo vision algorit

Apply for this role

Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.

Apply Now →Generate Application Kit

Free account required — sign up in 30s

Company

Zipline

View company profile →