Skip to main content

Embedded Firmware Engineer

Posted today

ziplineMillbrae (CA)

SENIORITY

Lead

Apply (opens in a new tab)

About the role

Overview: In this role, you will own C++ firmware for a distributed system of aircraft microcontrollers, enabling safe and reliable field deployments. You’ll work with cross-functional teams to translate hardware behavior into maintainable software that scales across operations. The impact spans safety, observability, and performance of the autonomous system at global scale. You will contribute to a mission-driven team delivering critical medical and consumer supplies faster and more reliably. Compensation / Benefits equity compensation discretionary bonuses medical/dental/vision insurance paid time off flexible work arrangements (hybrid in-office) competitive total compensation
Responsibilities: Design and build C++ firmware for aircraft microcontrollers in a distributed system Develop reliable Ethernet, serial, and other hardware interfaces Define platform-level interfaces and reusable firmware components Ensure predictable performance of microcontroller systems across startup, operation, fault handling, and recovery Optimize real-time behavior (CPU, memory, scheduling, latency, jitter, contention) Develop monitoring and troubleshooting capabilities for field deployment at scale Develop Rust-based tooling and software-in-the-loop simulations to test firmware behavior
Key requirements: Strong software engineering experience in C++ for embedded or resource-constrained systems Experience with embedded communications (Ethernet, serial, or similar protocols) Experience designing and debugging real-time firmware (scheduling, interrupts, concurrency, memory constraints) Experience with deployed embedded systems and edge-case handling for safety and reliability Systems mindset for debugging hardware-software interactions Experience implementing peripheral drivers from schematics/datasheets for prototype hardware evaluation strong debugging mindset cross-functional collaboration problem-solving under real-world constraints C++ for embedded systems embedded communications (Ethernet, serial) real-time firmware design and debugging

Before you apply

Applying takes about a minute. These four things decide how fast it moves after that.

Your profile is current

It's what we read first. Occupations, seniority and locations matter more than a long history.

Two examples you can talk through

Not a portfolio — just two pieces of work where you can explain the decisions and what you'd change.

A number in mind

What you're on now and what would make you move. We negotiate better when we know both.

Your notice period

Employers plan around it, and it's the question that stalls offers most often.

Once you apply, someone reads it and calls you before anything reaches the employer — usually within two working days.

More like this