
Staff Software Engineer – Embedded Linux
- San Francisco, CA
- Permanent
- Full-time
- 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
- 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