Weave Robotics logo
Robotics Engineering

Systems Software Engineer, Operating Systems

San Francisco, CAOnsiteFull TimePosted 2 months ago

Is this role right for you?

Upload your resume and get a skill-by-skill breakdown — see exactly where you match, where you're close, and what to highlight. Not a mystery percentage.

Get a tailored resume highlighting what this role needs.

Required skills

  • Linux internals
  • schedulers
  • memory management
  • filesystems
  • kernel/userspace boundary
  • Modern C++
  • production-quality C++
  • embedded systems
  • real-time systems
  • Linux systems programming

Nice to have

  • Embedded Linux platform work
  • secure boot
  • firmware update systems
  • OTA infrastructure
  • microcontrollers
  • device drivers

Role summary

Weave is seeking a Systems Software Engineer specializing in Operating Systems to join their robotics team. This role involves owning the OS and IPC layers for custom robotics hardware, focusing on real-time behavior, scheduling, memory management, drivers, and inter-process communication. Responsibilities include system architecture design, performance optimization, and building reliable, fault-tolerant systems. The ideal candidate will have deep Linux internals knowledge, modern C++ proficiency, and experience with embedded Linux systems and hardware/software debugging. This is a hybrid role based in San Francisco.

Join Us, and Ship Robots

Weave was founded to build the robots we’d want to have in our own home. We believe the next generation of robotics will transform everyday life by enabling people to do more and to reclaim time to spend on what’s important.

We also believe robots are in a sense like any other product: to matter, they have to ship. Our robots are already operating in real homes and businesses, giving us the opportunity to rapidly improve from real-world experience. With a growing team, strong customer demand, and capital for expansion, we’re entering an exciting stage of growth—and we’re looking for people with exceptional talent and standards to help bring home robotics to millions of households.

The Role

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.

Responsibilities

  • System architecture: Design and implement the core systems that every robotics application depends on, including on-device and remote networking, IPC, scheduling, synchronization, and resource management.

  • Understand and optimize system performance: Profile, optimize, and understand the tradeoffs between CPU utilization, latency, throughput, memory usage, and scheduling behavior across the robotics software stack.

  • Design for reliability: Build diagnostics, health monitoring, and fault-handling systems that improve robot robustness and serviceability.

  • Debug across the stack: Investigate issues spanning hardware, firmware, and robotics software.

What You'll Bring

  • Deep Linux internals: 3+ years working at the OS level. Schedulers, memory, filesystems, and the kernel/userspace boundary

  • Modern C++: Strong proficiency developing production-quality C++ software for embedded or real-time systems.

  • Systems programming: 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.

  • Hardware/software debugging: 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 Have

  • 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.

Ready to apply?
You'll be redirected to Weave Robotics's application page.

Similar roles

See how RiseMe works

Match, tailor, and prep so you send fewer applications and land more interviews.