Systems Software Engineer, Operating Systems

Weave RoboticsSan Francisco, CA

About The Position

Our robots run real-time control, GPU inference, SLAM, camera pipelines, teleoperation, and networking on a compute platform we design ourselves: custom carrier boards, MCUs, and the sensor architecture around them. As a Systems Software Engineer focused on the OS, you'll own the OS layer and the IPC layer that connects it all: the kernel and its real-time behavior, scheduling, memory management, user-space drivers, time synchronization, and the shared-memory transport that moves data between processes with minimal copies and bounded latency. You'll also own how the system operates unattended: boot, OTA updates with rollback, service supervision, crash capture, and health monitoring. Your software is the layer every other team builds on, and it ships on every robot. When new hardware arrives, you'll bring it up alongside electrical, controls, and robotics engineers.

Requirements

  • 3+ years working at the OS level. Schedulers, memory, filesystems, and the kernel/userspace boundary.
  • Strong proficiency developing production-quality C++ software for embedded or real-time systems.
  • Strong understanding of Linux systems programming, including threading, synchronization, memory management, IPC, scheduling, and performance optimization, along with experience with the embedded Linux stack, including U-Boot, device trees, kernel configuration, DMA, and Buildroot or Yocto.
  • Comfortable reading schematics, probing hardware with oscilloscopes and logic analyzers, and debugging issues that span electrical, firmware, and software boundaries.
  • Experience using tools like gdb, strace, ltrace and others to understand system behavior.

Nice To Haves

  • Experience with Embedded Linux platform work: U-Boot, device trees, kernel config, DMA and the like.
  • Experience with secure boot, firmware update systems, or OTA infrastructure.
  • Experience with microcontrollers, device drivers, peripherals, board support packages, and custom hardware bring-up.
  • Experience with Rust is a plus.

Responsibilities

  • Design and implement the core systems that every robotics application depends on, including on-device and remote networking, IPC, scheduling, synchronization, and resource management.
  • Profile, optimize, and understand the tradeoffs between CPU utilization, latency, throughput, memory usage, and scheduling behavior across the robotics software stack.
  • Build diagnostics, health monitoring, and fault-handling systems that improve robot robustness and serviceability.
  • Investigate issues spanning hardware, firmware, and robotics software.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service