Software Engineer - Embedded Firmware
Role details
Job location
Tech stack
Job description
- Design and build the software necessary to run critical flight and safety processes on a network of microcontrollers, in cooperation with embedded Linux edge computers
- 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
- Analyze the runtime characteristics of our avionics software in flight to build confidence in its performance, focusing on re-usable, maintainable software and optimizing where required
- Develop metrics, monitoring and troubleshooting capabilities to prepare the system for field deployment at scale
- Design and build data collection and testing tools to support early stage evaluation of new sensors, communications systems, and microcontroller platforms
Requirements
- Strong software engineering skills, with proficiency in at least one strongly typed language. We use C++, Rust, and Python.
- Curiosity and a willingness to learn and work in a variety of embedded environments, from running on bare metal, to using and RTOS and integrating with embedded Linux
- Experience building and maintaining real-world deployed embedded systems, and handling the long tail of edge cases to ensure consistent safety, reliability and high performance
- A systems mindset and intuition for debugging; when anything could be wrong, you know how to narrow down the possibilities.
- Fluency in implementing peripheral drivers based on electrical schematics and datasheets, and debugging at this boundary in order to support prototype hardware evaluation
- Our team uses a hybrid in-office and distributed work environment, centered around our headquarters in South San Francisco, CA. You must be able to work from the office on a regular basis.
Benefits & conditions
The starting cash range for this role is $125,000 - $210,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.