Systems Software Engineer, Operating Systems San Francisco, CA · On-site
Listed on 2026-09-06
-
Software Development
Embedded Software Engineer, Robotics, Unix/Linux, Embedded Systems/ Firmware/ IoT
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 RoleOur 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.
ResponsibilitiesSystem 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 BringDeep Linux internals: 3+ years working at the OS level. Schedulers, memory, file systems, 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 HaveExperience 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.
#J-18808-Ljbffr(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).