hero

Join the Family

Felicis portfolio companies are growing their teams in the U.S. and beyond.
189
companies
2,055
Jobs

Staff Embedded Software Engineer

Zipline

Zipline

Software Engineering
South San Francisco, CA, USA
Posted on Monday, December 11, 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 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 algorithms for obstacle detection on our aircraft without compromising the maximum payload size or delivery range.

Our team uses a hybrid in-office and distributed work environment, centered around our headquarters in South San Francisco, CA. You must be able to work from the office on a regular basis.

What Else You Need to Know

The starting cash range for this role is $135,000 - $175,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!