Embedded Systems Engineer

WEAVE ROBOTICS, INC.
San Francisco, CA, United States
3 days ago
Apply on www.juju.com
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Experienced
Experience required
4 years minimum
Working hours
Regular working hours
Job source

Tech stack

Board Bringup UClibc (C Standard Library) Computer Programming Software Debugging Linux Device Drivers Memory Management Linux on Embedded Systems Firmware Performance Tuning System Programming Real Time Systems
+4 more
Yocto U-Boot NVIDIA Jetson C++14

Requirements

Embedded systems expertise: 4+ years of embedded Linux/systems software development, including hands-on bringup on modern application-class SoCs (NVIDIA Jetson, preferred) Hardware bring-up: Experience with microcontrollers, device drivers, peripherals, board support packages, and custom hardware bring-up. 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. Familiarity with the embedded Linux stack, including U-Boot, device trees, kernel configuration, 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.

Nice to have

Experience with secure boot, firmware update systems, or OTA infrastructure.

About the company

As an Embedded Software Engineer at Weave, you’ll build the software that connects our custom hardware to intelligent robot behavior. Our robots are vertically integrated from the ground up-from actuators and electronics to perception and autonomy-giving you the rare opportunity to influence every layer of the robotics stack. You’ll develop the foundational software that powers every robot we ship, enabling precise motion, reliable sensing, and safe operation in one of robotics’ most challenging environments: the home. Working alongside electrical, mechanical, controls, and robotics engineers, you’ll transform new hardware into production-ready systems. From early board bring-up and hardware validation to performance optimization and field deployment, you’ll own software that ships on every robot and directly shapes the capabilities of the platform. Responsibilities

Develop production embedded software: Design, implement, test, and maintain embedded software for robotic systems using modern C++. Develop firmware, device drivers, communication stacks (SPI, I²C, RS-485, CAN/CAN FD, Ethernet, or EtherCAT), and interfaces for sensors, actuators, GMSL cameras, and embedded peripherals. Bring up new hardware: Collaborate with hardware and electrical engineers to integrate new carrier boards, and validate system functionality. Build real-time systems: Develop deterministic software that meets timing constraints while managing concurrency, resource limitations, and hardware failures. Design for reliability: Build diagnostics, health monitoring, calibration, and fault-handling systems that improve robot robustness and serviceability. Debug across the stack: Investigate issues spanning hardware, firmware, and robotics software using oscilloscopes, logic analyzers, debuggers, and other engineering tools. Build production software: Write maintainable, production-quality code that supports both rapid iteration and long-term reliability.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.juju.com
Prepare application

Good distractions

Loading talks and stories from around this role…