Software Engineer, Embedded BSP/Kernel (Robotics OS)

MetaRedmond, WashingtonOn-siteFull-timeMid level, 2–5 yearsListed 3 hours ago

Apply now

About this role

Meta Robotics Studio builds consumer humanoid robots that bring Meta's AI into the physical world. Our robots run on NVIDIA Jetson Thor with Meta-designed carrier boards and JetPack OS. The Robotics OS team owns everything between the silicon and the robot learning stack. On one chip, our robots run real-time control loops over EtherCAT while large vision-language-action (VLA) models run on the GPU. Our job is to make that computer do both, deterministically, every time it boots.

We are hiring a software engineer to help architect and evolve the robotics OS, Meta's build of NVIDIA Jetson Linux for Thor-class robot compute. Working with the team, you will help shape the multi-year technical direction for the robot's operating system, including how we build, release and update it, how it shares one computer between real-time control and AI workloads, and how it scales from a lab of prototypes to a large fleet of production robots.

You will work closely with hardware, firmware, controls, and AI engineers across Meta, and with NVIDIA's Jetson engineering teams as one of several technical points of contact on the platform. This is a hands-on role: when a new board spin won't boot or the control loop misses a deadline, you will be in the kernel log alongside the rest of the team.

Responsibilities

Contribute to the technical strategy and multi-year roadmap for the Robotics OS. This covers the board support package (BSP), kernel, OS image, update system, real-time behavior, GPU platform, and fleet tooling across every robot program and compute platform (AGX Thor, IGX Thor, and future NVIDIA silicon)
Architect the next-generation OS image, including the move to a Yocto / meta-tegra based build. Make it reproducible, hermetic and secure, and make it fast for many engineers to iterate on
Define and drive the production update strategy: atomic A/B and over-the-air updates, rollback, secure and verified boot, fusing and signing, and factory provisioning, so we can ship to a growing fleet safely
Shape the platform's real-time architecture. Help define how CPU cores, interrupts, memory and the GPU are divided between control loops at kilohertz rates and large AI models. Set the latency budgets and the measurement infrastructure that proves we meet them
Collaborate with NVIDIA's Jetson engineering teams alongside other Meta engineers: share requirements, push fixes upstream, and help plan how we adopt new Jetson Linux / JetPack releases with minimal fork debt
Partner with electrical, firmware, and mechanical engineers on new compute and carrier-board designs. Weigh in early on SoC configuration, interfaces, power and thermal so boards are easier to bring up and software stays simpler
Drive bring-up of new boards and modules end to end: boot chain (MB1/MB2, UEFI), BPMP and device tree, pinmux, PCIe/USB/Ethernet, power profiles, and the drivers for robot hardware (EtherCAT, USB-C power delivery, Wi-Fi/Bluetooth, sensors, cameras)
Help set the quality bar for the RT kernel and out-of-tree drivers: kernel configuration, ABI compatibility, and a plan to upstream changes or align with Meta's kernel instead of carrying long-lived patches
Build the reliability and observability foundation: crash and kernel-log capture, symbolization, boot-time tracing, health telemetry, and fleet triage tooling, so that any robot failure can be diagnosed remotely
Raise the bar for the engineers around you through design reviews, mentorship, and technical hiring. Grow OS and embedded talent on the team, and help shape on-call and operational practices

Qualifications

Bachelor's degree in Computer Science, Computer Engineering, relevant technical field, or equivalent practical experience
10+ years of experience building and shipping system software for embedded Linux or Android-based products
Experience architecting and owning an operating system, BSP or platform software stack on a shipped hardware product
Deep experience with C and Linux kernel internals, including device drivers, device tree, scheduling, interrupts, and memory management
Proficient in at least one of C++, Rust or Python
Experience driving new-SoC or new-board bring-up on ARM64, from boot chain through kernel to a production OS
Experience designing OS image build and release systems, such as Yocto/OpenEmbedded, Buildroot, Debian packaging or AOSP, including the strategy for updates and release management
Experience debugging hard cross-layer problems spanning hardware, firmware, kernel and user space
Experience influencing technical direction across multiple teams or organizations, including external silicon or hardware vendors Experience growing a platform from prototype to production fleet scale
A track record of upstream contributions to the Linux kernel, Yocto or related open-source projects
Experience designing secure boot, verified boot and OTA / A/B update systems for a large device fleet
Experience with EtherCAT, CAN-FD or other robotics fieldbuses, and with host-to-microcontroller architectures (FreeRTOS, Zephyr)
GPU platform experience: CUDA, NVML/MIG, TensorRT, or deploying ML inference on edge devices alongside real-time workloads
Deep hands-on experience with NVIDIA Jetson (Orin / Thor) and Jetson Linux / JetPack, including custom carrier-board bring-up, BCT/BPMP configuration, nvidia-oot, and flashing and mass-production tooling
Experience with real-time Linux in production (PREEMPT\_RT, CPU and interrupt isolation, latency analysis) for robotics, automotive, industrial or other safety-critical systems
Experience with Yocto / meta-tegra, and with hermetic build and CI systems
Experience with AOSP or other mobile/XR OS platform work: vendor BSP integration, HALs, SELinux, init, OTA, or kernel and vendor upgrade programs