About the Role
As a Firmware Engineer Intern at Zipline, you will work on developing C++ firmware for aircraft microcontrollers, ensuring reliable performance and communication across systems. You will collaborate with various engineering teams to enhance the functionality and observability of embedded systems critical to drone operations.
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.
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.
Embedded systems knowledge
Excellent grades in embedded systems classes are required.
Internship experience
Prior internship or design team experience is preferred.
Nice to Have
Familiarity with real-time systems is a plus.
Experience with Ethernet and serial communication interfaces is beneficial.
Benefits
Onsite experience
Interns are expected to work onsite in South San Francisco.