Senior Embedded Camera Software Engineer
Posted on 4/3/2023
INACTIVE
Locations
San Bruno, CA, USA
Experience Level
Entry
Junior
Mid
Senior
Expert
Desired Skills
Data Structures & Algorithms
C/C++/C#
Linux/Unix
Rust
Requirements
  • 5+ years of experience building and maintaining real-world deployed embedded systems, and handling the long tail of edge cases to ensure consistently high performance and reliability
  • Strong software engineering skills, with proficiency in at least one strongly typed language. We use Rust, C++ and limited amounts of C, for camera kernel drivers
  • Familiarity with running Linux in resource-constrained environments with real-time requirements; we have an audacious goal of running dense stereo vision algorithms for obstacle detection on our aircraft. Every joule of energy matters and directly relates to our delivery range and max package payload
  • Experience with embedded camera interfaces (MIPI, GMSL2, etc), the typical integration challenges (including datasheet spelunking!) and ways to overcome them
  • Expertise in HDR imager configurations, and how to tune sensor output for machine learning use cases, as opposed to human perception
  • Curiosity and a willingness to learn and work in a variety of software environments, from kernel module development to build systems and GPU-based autonomy execution frameworks
Responsibilities
  • Closely partner with our mechanical, electrical and perception engineers to design and build our custom camera modules and data pipeline - everything from lens selection, to manufacturing test plans, to ISP tuning and compression
  • Develop Linux kernel drivers to integrate with the NVIDIA Jetson image processing subsystem
  • Own the camera sensor APIs and integration with our in-house Rust-based autonomy execution framework
  • Implement efficient image data management and logging systems that smartly balance between minimizing overhead, latency and power consumption, while preserving reproducibility and development velocity
  • Analyze the runtime characteristics of our camera software in flight to build confidence in its performance, focusing on re-usable, maintainable software and optimizing where required
  • 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
  • Develop metrics, monitoring and troubleshooting capabilities to prepare the system for field deployment at scale
Zipline

501-1,000 employees

Autonomous drone delivery
Company Overview
Zipline designs, manufactures, and operates drones to deliver vital medical products to everyone, no matter where they live.