Zipline logo

Senior Software Engineer (Motor Controls)

Zipline

On-siteSan Francisco, CAsenior$155k–$225kPosted 7h ago

Job description

  • As a Senior Motor Control 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

  • 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

  • Write peripheral drivers for new revisions of Zipline’s motor controller hardware

  • Get your hands dirty validating your firmware on the bench and in flight tests

  • 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 Zipline’s firmware

  • 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- 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

  • You must be able to work on-site in South San Francisco, CA

  • Eagerness to learn in a fast-paced safety-critical environment

  • 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

  • Strong executive communication skills, to efficiently communicate about your work with stakeholders outside your technical domain

  • Fluency in C/C++, and excitement about writing code in Rust and Python

  • Some experience with mechatronic control systems: hobby projects or professional experience are applicable

  • A background in electronics design would be appreciated, but is not required