Senior Embedded Software Engineer at Flyzipline — South San Francisco, CA
Full job description
### About Zipline
## About You and The Role
Autonomous aircraft need onboard software that communicates, updates, reports health, and recovers predictably in safety-critical environments. The Embedded Platform team builds the middleware and infrastructure beneath the flight software stack on embedded Linux systems.
You will own shared platform capabilities from architecture through production delivery, with success measured by dependable updates, diagnosable failures, stable service interfaces, and reliable integration for flight-software teams. Senior engineers lead substantial services and integrations; Staff engineers set direction across platform boundaries, resolve architectural tradeoffs, and establish standards used across the shared stack.
## What You'll Do
- Own the design, implementation, validation, and lifecycle of embedded middleware services for autonomous aircraft.
- Define and evolve IPC, communications-bridge, OTA-update, logging, observability, and service-lifecycle interfaces used across flight software.
- Deliver production Rust and C++ with testing, diagnostics, and maintainability built into each platform capability.
- Set technical direction for cross-service platform architecture, including interface decisions and tradeoffs that affect multiple flight-software teams.
- Partner with flight-software, hardware, and integration teams to ensure platform services operate reliably on embedded Linux aircraft systems.
- Investigate failures across software, operating-system, network, and hardware boundaries; drive corrective changes that improve reliability, performance, and operational visibility.
- Establish design-review and engineering practices that make services safer to deploy, easier to diagnose, and practical for downstream teams to adopt.
## What You'll Bring
- 5–12 years developing embedded, systems, or platform software in production environments.
- Strong Rust, C++, or comparable systems-programming skills, with experience delivering reliable software on embedded Linux.
- Working knowledge of concurrency, synchronization, networking, IPC, and distributed or multi-process systems.
- Ability to debug complex behavior across services, operating systems, networks, and hardware.
- Experience designing technical interfaces and carrying cross-functional integrations through delivery.
- For Staff-level scope, a record of leading architecture across multiple systems and influencing decisions beyond an individual component.
- Experience in aerospace, robotics, automotive, industrial, medical, or another high-reliability domain; autonomy, OTA, telemetry, Linux internals, or resource-constrained optimization are relevant.
## What Else You Need To Know
The starting cash ranges for this role is $160,000 - $250,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. This position may be hired at one of three levels based on the candidate’s experience, skills, and demonstrated scope:
- Software Engineer II: $160,000 - $190,000
- Senior Software Engineer: $190,000 - $220,000
- Staff Software Engineer: $220,000 - $250,000
### Voluntary Self-Identification
Required skills
- delivery
- sales
- retail
- cross-functional
- c++
- rust
- logistics
- linux