Senior Software Engineer - Motor Controls
Listed on 2025-12-15
-
Software Development
Software Engineer, Embedded Software Engineer
About Zipline
Do you want to change the world? Zipline is on a mission to transform the way goods move. Our aim is to solve the world’s most urgent and complex access challenges by building, manufacturing and operating the first instant delivery and logistics system that serves all humans equally, wherever they are. From powering Rwanda’s national blood delivery network and Ghana’s COVID-19 vaccine distribution, to providing on-demand home delivery for Walmart, to enabling healthcare providers to bring care directly to U.S. homes, we are transforming the way things move for businesses, governments and consumers.
The technology is complex but the idea is simple: a teleportation service that delivers what you need, when you need it. Through our technology that includes robotics and autonomy, we are decarbonizing delivery, decreasing road congestion, and reducing fossil fuel consumption and air pollution, while providing equitable access to billions of people and building a more resilient global supply chain.
Join Zipline and help us to make good on our promise to build an equitable and more resilient global supply chain for billions of people.
About You and The RoleAs a Motor Firmware engineer at Zipline, you’ll be responsible for shipping high-performance motor controller firmware for Zipline’s family of proprietary motor controllers. Expect to work closely with electrical engineers, structures and mechanism designers, flight software developers, and test-site operations teams. Our close-knit engineering culture presents a unique opportunity to learn from a strong multi-disciplinary team, and lets you swiftly ship features that are clearly linked to the delivery experience.
We use C++ in our firmware development, with Rust and Python for tooling that will be deployed to our production systems in the field. The team uses hardware- and software-in-the-loop test infrastructure to validate new features and regression test existing functionality. You’ll often be querying large data-sets from our test operations to make high-quality data-driven engineering decisions and build prototypes of new algorithms.
You’ll build analyses in Matlab, Julia, or Python to prove the performance of your controls designs, and execute Monte-Carlo simulations to validate complex dynamics.
What You ll Do
- Design estimators and controllers for propulsion motors and actuators, in close collaboration with the vehicle controls team.
- Implement these controllers in C++, targeting a bare-metal ARM microcontroller.
- Understand and improve the reliability of the flight software system as a whole, working with hardware and systems engineers to develop comprehensive fault management strategies and hardware-in-the-loop tests.
- Build vehicle simulations in Rust to validate and regression test high-risk features.
- Collaborate with electrical engineers to bring-up and validate new inverter designs.
- Build and maintain automated systems to monitor the performance of our fleet and direct maintenance activity.
What You ll Bring
- Fluency in C++, and excitement about writing code in Rust and Python.
- Eagerness to learn,
no prior experience with motors is required
. - Curiosity and a willingness to work in a variety of embedded environments, from running on bare metal, to using a RTOS and integrating with embedded Linux.
- Experience supporting robotic systems in the real-world, in particular addressing the long-tail of edge-cases and rare events to guarantee safety, reliability, and performance.
- A systems-engineering mindset, and an eye for finding efficient solutions to problems that may lie outside your core competencies.
- Strong executive communication skills, to efficiently communicate about your work with folk who are not firmware or control systems experts.
- You must be able to work on-site in South San Francisco, CA.
- A background in electronics design would be appreciated, but is not required.
What Else You Need to Know
The starting cash range for this role is $160,000 - $215,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…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).