Software Engineer - Embedded Linux (Senior-Staff)

ZipLineSan Francisco, CA
60d$185,000 - $250,000Onsite

About The Position

As a Linux Software Engineer at Zipline, you'll build and maintain our Yocto-based Linux kernel BSP powering our flight computers, enabling our highly autonomous aircraft to safely fly over millions of homes day-in and day-out. You will work closely with other Linux experts on this team. You will also work closely with software engineers who build user-space applications and drivers. This job also spans the entire development lifecycle, working with the Release team, owning validation, and analyzing performance from real-world flight tests. Our technical stack is built on embedded Linux, running on three desktop-grade computers with a distributed network of sensors, redundant communication links, and actuators. We are looking for detail-oriented engineers with deep expertise in embedded Linux and distributed systems, including kernel development, userspace tooling, real-time performance tuning, system reliability and core operating systems activities.

Requirements

  • Strong software engineering skills, with proficiency in at least one strongly typed language; we use Rust and C++ onboard, and Python for tooling
  • Deep expertise in embedded Linux development, including experience with kernel modifications, userspace programming, and performance tuning
  • Experience working with Yocto or other build systems for custom Linux distributions
  • Strong software architecture skills, with experience designing and shipping solutions for complex real-world use cases
  • A systems-oriented mindset, with a focus on reliability, fault tolerance, and performance optimization
  • Technical leadership skills and experience owning large technical systems that other engineers contribute to
  • Detail-oriented mindset to think through validating a system's safety

Responsibilities

  • Design and build the software architecture necessary to run everything from critical flight software to interconnected ground-based hardware on embedded Linux systems
  • Contribute to the development and maintenance of our custom Linux distribution on Yocto, ensuring a reliable and performant foundation for our flight and ground-based systems
  • Analyze the runtime characteristics of our Linux-based avionics software in flight to build confidence in its performance, with a focus on system reliability, maintainability, and optimization
  • Develop and optimize kernel and userspace drivers for production and prototype sensors, and refine sensor data APIs for perception, navigation, and other autonomy software engineers
  • 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 edge compute platforms

Stand Out From the Crowd

Upload your resume and get instant feedback on how well it matches this job.

Upload and Match Resume

What This Job Offers

Job Type

Full-time

Career Level

Mid Level

Industry

Professional, Scientific, and Technical Services

Education Level

No Education Listed

Number of Employees

1,001-5,000 employees

© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service