About the Role
About Zipline
Zipline is the world’s largest and most experienced drone delivery service. We are on a mission to serve all humans equally by ensuring access to food, medicine and essential goods anytime, anywhere. We design, build, and operate the world’s largest autonomous logistics system, delivering critical supplies quickly and reliably. Today, Zipline operates on four continents, makes a delivery somewhere in the world every 30 seconds, and has completed millions of deliveries to date, including blood, vaccines, medical supplies, food, and retail products.
Our customers include the world’s largest and most prominent healthcare systems, governments, retailers, restaurants and global businesses who rely on us to save lives, reduce emissions, increase economic opportunity, and provide delivery from point A to point B as fast as possible. The drone is only 15% of what we’ve built to enable seamless, reliable, global operations.
Our system strengthens supply chains, reduces congestion, and gives people time back. With more than 140 million commercial autonomous miles safely flown, Zipline is redefining access to healthcare, consumer products, and food across the globe.
We operate at a global scale and are looking for practical problem solvers who thrive on real-world challenges and rapid growth. Our team is motivated by building systems that have a direct, meaningful impact on people’s lives and by scaling the future of logistics. We are seeking people who sculpt from first principles, enjoy facing adversity, and can do the impossible at record breaking speeds.
About the Firmware Team
The firmware team owns the embedded firmware on all of our microcontroller systems on our aircraft and delivery system. We range from the application layer to the platform and foundation it’s built on. Including bootloaders, RTOS integration, serial and ethernet communication, up to battery management and motor control.
The Role
Zipline aircraft depend on embedded firmware to execute critical flight and safety functions across a network of microcontrollers and embedded Linux computers. This software must perform reliably as aircraft move from manufacturing into delivery operations at field sites around the world, including locations that are difficult to access over a network.
You will own C++ firmware and supporting tools that are critical to the safety and operation of these systems. While making the system more observable and easier to diagnose at scale. Working alongside electrical, mechanical, embedded Linux, and systems engineers, you will turn hardware behavior and flight data into reliable, maintainable software for deployed aircraft.
What You'll Do
- Design and build C++ firmware for a distributed system of aircraft microcontrollers.
- Develop reliable Ethernet, serial, and other microcontroller communication interfaces.
- Define platform-level interfaces and reusable firmware components that support multiple aircraft subsystems.
- Own the predictable and reliable performance of our microcontroller systems and the communication buses that connect them, across startup, real-time operation, fault handling, and recovery.
- Optimize real-time behavior, including CPU utilization, memory usage, scheduling latency, timing jitter, and resource contention.
- Develop metrics, monitoring and troubleshooting capabilities to prepare the system for field deployment at scale.
- Develop Rust-based tooling and software-in-the-loop simulations to test and validate firmware behavior.
What You'll Bring
You are a person who:
- Is passionate about learning about firmware, realtime systems, Zipline’s aircraft and systems, and our mission.
- Has prior internship or design team experience.
- Has experience with writing C or C++.
- Has excellent grades in embedded systems classes.
It is expected that you will be onsite in South San Francisco 5 days / week for this internship. Rising seniors are preferred.
What Else You Should Know
Our internships are full-
Requirements
C++ programming
Experience with writing C or C++ is essential for this role.
Embedded systems knowledge
Strong understanding of embedded systems is required.
Real-time systems
Familiarity with real-time systems is important for optimizing performance.
Communication interfaces
Experience developing communication interfaces like Ethernet and serial is necessary.
Nice to Have
Prior internship or design team experience is preferred.
Excellent grades in embedded systems classes are a plus.
Benefits
Onsite experience
Interns will gain hands-on experience working onsite in South San Francisco.