SlipstreamJobs tracks this role from the company's public career site. Apply directly on the employer's site.
Salary: USD 160,000 - 250,000 / annual
Zipline is the world's largest autonomous drone delivery service, operating on four continents and completing millions of deliveries of blood, vaccines, medical supplies, food, and retail products. The company has safely flown over 140 million commercial autonomous miles and is redefining global logistics and healthcare access.
In this role, you will own C++ firmware and supporting tools critical to the safety and operation of Zipline's distributed aircraft systems. You'll work alongside electrical, mechanical, embedded Linux, and systems engineers to turn hardware behavior and flight data into reliable, maintainable software for deployed aircraft operating in remote, difficult-to-access locations worldwide.
Key responsibilities include:
- 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 supporting multiple aircraft subsystems
- Own predictable and reliable performance of microcontroller systems and communication buses 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 for field deployment at scale
- Develop Rust-based tooling and software-in-the-loop simulations to test and validate firmware behavior
This is a hybrid role centered in South San Francisco headquarters; regular in-office presence is required.
REQUIREMENTS:
- Strong software engineering skills and production experience writing C++ for embedded or resource-constrained systems
- Experience with embedded communications (Ethernet, serial interfaces, or other hardware communication protocols)
- Experience designing and debugging real-time firmware, including task scheduling, interrupts, concurrency, synchronization, and memory constraints
- Experience building and maintaining real-world deployed embedded systems, handling edge cases to ensure safety, reliability, and high performance
- Systems mindset and intuition for debugging; ability to narrow down possibilities when troubleshooting complex issues
- Fluency in implementing peripheral drivers based on electrical schematics and datasheets, and debugging at the hardware-software boundary
- Ability to work from the office on a regular basis as part of a hybrid team