Back to jobs Senior Software Engineer - Motor Controls South San Francisco, California, USA Apply About You and The Role 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. 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. 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. What You'll Bring Fluency in C/C++, and excitement about writing code in Rust and Python. Eagerness to learn in a fast-paced safety-critical environment. Some experience with mechatronic control systems: hobby projects or professional experience are applicable. 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 stakeholders outside your technical domain. 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 $155,000 - $225,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. Zipline is an equal opportunity employer and prohibits discrimination and harassment of any type without regard to race, color, religion, age, sex, national origin, disability status, genetics, protected veteran status, sexual orientation, gender identity or expression, or any other characteristic protected by federal, state or local laws or our own sensibilities. We value diversity at Zipline and welcome applications from those who are traditionally underrepresented in tech. If you like the sound of this position but are not sure if you are the perfect fit, please apply! Please Note We have received reports stating that certain individuals are reaching out to people under false pretenses, claiming to be Zipline employees, affiliates, agents, or representatives. They may seek to gain access to your personal information or to acquire money from you by offering fictitious employment opportunities or by claiming that they are contacting you on Zipline's behalf. Genuine Zipline employees or representatives will never ask you for money or payment in exchange for employment opportunities or other related services. Any such offer of employment or any other service in exchange for fees that claims to be from us is deceitful and part of a fraud. If you believe you have been targeted by a fraudulent party, we ask that you immediately get in touch with us via email at security@flyzipline.com upon receiving a suspicious offer or claim. Apply for this job
- indicates a required field First Name
- Last Name
- Email
- Phone Country Phone 244 results found No results found Afghanistan +93 Åland Islands +358 Albania +355 Algeria +213 American Samoa +1 Andorra +376 Angola +244 Anguilla +1 Antigua & Barbuda +1 Argentina +54 Armenia +374 Aruba +297 Ascension Island +247 Australia +61 Austria +43 Azerbaijan +994 Bahamas +1 Bahrain +973 Bangladesh +880 Barbados +1 Belarus +375 Belgium +32 Belize +501 Benin +229 Bermuda +1 Bhutan +975 Bolivia +591 Bosnia & Herzegovina +387 Botswana +267 Brazil +55 British Indian Ocean Territory +246 British Virgin Islands +1 Brunei +673 Bulgaria +359 Burkina Faso +226 Burundi +257 Cambodia +855 Cameroon +237 Canada +1 Cape Verde +238 Caribbean Netherlands +599 Cayman Islands +1 Central African Republic +236 Chad +235 Chile +56 China +86 Christmas Island +61 Cocos (Keeling) Islands +61 Colombia +57 Comoros +269 Congo - Brazzaville +242 Congo - Kinshasa +243 Cook Islands +682 Costa Rica +506 Côte d'Ivoire +225 Croatia +385 Cuba +53 Curaçao +599 Cyprus +357 Czechia +420 Denmark +45 Djibouti +253 Dominica +1 Dominican Republic +1 Ecuador +593 Egypt +20 El Salvador +503 Equatorial Guinea +240 Eritrea +291 Estonia +372 Eswatini +268 Ethiopia +251 Falkland Islands +500 Faroe Islands +298 Fiji +679 Finland +358 France +33 French Guiana +594 French Polynesia +689 Gabon +241 Gambia +220 Georgia +995 Germany +49 Ghana +233 Gibraltar +350 Greece +30 Greenland +299 Grenada +1 Guadeloupe +590 Guam +1 Guatemala +502 Guernsey +44 Guinea +224 Guinea-Bissau +245 Guyana +592 Haiti +509 Honduras +504 Hong Kong SAR China +852 Hungary +36 Iceland +354 India +91 Indonesia +62 Iran +98 Iraq +964 Ireland +353 Isle of Man +44 Israel +972 Italy +39 Jamaica +1 Japan +81 Jersey +44 Jordan +962 Kazakhstan +7 Kenya +254 Kiribati +686 Kosovo +383 Kuwait +965 Kyrgyzstan +996 Laos +856 Latvia +371 Lebanon +961 Lesotho +266 Liberia +231 Libya +218 Liechtenstein +423 Lithuania +370 Luxembourg +352 Macao SAR China +853 Madagascar +261 Malawi +265 Malaysia +60 Maldives +960 Mali +223 Malta +356 Marshall Islands +692 Martinique +596 Mauritania +222 Mauritius +230 Mayotte +262 Mexico +52 Micronesia +691 Moldova +373 Monaco +377 Mongolia +976 Montenegro +382 Montserrat +1 Morocco +212 Mozambique +258 Myanmar (Burma) +95 Namibia +264 Nauru +674 Nepal +977 Netherlands +31 New Caledonia +687 New Zealand +64 Nicaragua +505 Niger +227 Nigeria +234 Niue +683 Norfolk Island +672 North Korea +850 North Macedonia +389 Northern Mariana Islands +1 Norway +47 Oman +968 Pakistan +92 Palau +680 Palestinian Territories +970 Panama +507 Papua New Guinea +675 Paraguay +595 Peru +51 Philippines +63 Poland +48 Portugal +351 Puerto Rico +1 Qatar +974 Réunion +262 Romania +40 Russia +7 Rwanda +250 Samoa +685 San Marino +378 São Tomé & Príncipe +239 Saudi Arabia +966 Senegal +221 Serbia +381 Seychelles +248 Sierra Leone +232 Singapore +65 Sint Maarten +1 Slovakia +421 Slovenia +386 Solomon Islands +677 Somalia +252 South Africa +27 South Korea +82 South Sudan +211 Spain +34 Sri Lanka +94 St.
Barthélemy +590 St. Helena +290 St. Kitts & Nevis +1 St. Lucia +1 St. Martin +590 St. Pierre & Miquelon +508 St. Vincent & Grenadines +1 Sudan +249 Suriname +597 Svalbard & Jan Mayen +47 Sweden +46 Switzerland +41 Syria +963 Taiwan +886 Tajikistan +992 Tanzania +255 Thailand +66 Timor-Leste +670 Togo +228 Tokelau +690 Tonga +676 Trinidad & Tobago +1 Tunisia +216 Turkey +90 Turkmenistan +993 Turks & Caicos Islands +1 Tuvalu +688 U.S. Virgin Islands +1 Uganda +256 Ukraine +380 United Arab Emirates +971 United Kingdom +44 United States +1 Uruguay +598 Uzbekistan +998 Vanuatu +678 Vatican City +39 Venezuela +58 Vietnam +84 Wallis & Futuna +681 Western Sahara +212 Yemen +967 Zambia +260 Zimbabwe +263 Resume/CV
- Attach Attach Dropbox Enter manually Enter manually Accepted file types: pdf, doc, docx, txt, rtf Cover Letter Attach Attach Dropbox Enter manually Enter manually Accepted file types: pdf, doc, docx, txt, rtf LinkedIn Profile Briefly describe your hands-on experience writing firmware for microcontrollers or embedded systems.
- Would you now, or in the future, require work sponsorship in the United States?
- Select... Tell us how you heard about Zipline and this job!
- Select... Are you a new graduate or looking for an internship?
- Select.
.. This role requires a minimum of 3 years of working experience at a business developing hardware. If you are a new graduate or currently in school, this is not an appropriate role to apply for. Demographic questions for US based roles We invite you to share your demographic data to support our diversity, equity, and inclusion efforts. Sharing this data is voluntary and will not impact your application to Zipline. There is a "decline to state" option should you elect not to disclose some or all data. We will use this data for demographic analytics purposes, consistent with our CCPA-compliant privacy policy . This data will be kept separately from your application and will not be accessed by recruiters or hiring managers. Gender Select... Race Select...
Educational attainment:
What is the highest level of education you have completed so far? Select... Are you a veteran? Select... Are you a first generation college student? Select... Submit application