The Mission
GRAM is a self replication company creating populations of insectoids for the physical economy.
Our first research frontier is self-preservation: the base case of physical self-replication. Our machines will survive, coordinate, and recover without humans. We believe scalable machine labor requires more than single-agent task generality or machines shaped in our image.
About the role
You will own embedded software from microcontrollers and real-time control support through the Linux robot runtime. You will bring up new electronics; build drivers, deterministic communications, timing, health monitoring, calibration, logging, and fault response; and expose stable interfaces to higher-level autonomy.
Success means versioned embedded software produces known behavior on a known hardware configuration and remains observable, recoverable, and testable through degraded conditions.
What you will do
- Design and implement C and C++ firmware, device drivers, hardware abstraction, real-time services, communication protocols, and robot-runtime components.
- Define timing, bandwidth, lifecycle, state-machine, calibration, diagnostic, and fault-response contracts across sensors, actuators, power electronics, compute, and autonomy.
- Bring up new boards and embedded compute using debuggers, oscilloscopes, logic analyzers, bus analyzers, kernel traces, and structured telemetry.
- Build boot, provisioning, parameter, configuration, software-update, rollback, and recovery paths with explicit failure behavior and version compatibility.
- Develop simulation, software-in-the-loop, hardware-in-the-loop, fault-injection, and regression tests that run automatically and gate releases.
- Measure and improve latency, jitter, resource use, startup time, communication reliability, logging completeness, and recovery under load.
- Investigate integrated-machine failures across firmware, Linux, networking, electronics, controls, and autonomy, then carry corrections through reproducible tests and release evidence.
Minimum qualifications
- Bachelor’s degree in computer science, computer engineering, electrical engineering, or a related field, or equivalent practical experience.
- Shipped C or C++ software on a custom electromechanical product using an RTOS, embedded Linux, or both, including direct responsibility for hardware bring-up or field failure resolution.
- Implemented and debugged device drivers, interrupts, DMA, concurrency, memory ownership, and at least one physical interface such as CAN, EtherCAT, Ethernet, SPI, I2C, or UART.
- Demonstrated real-time systems work with measured latency, jitter, bandwidth, CPU or memory use, and behavior under overload or component failure.
- Closed a hardware-software defect using instrumentation and captured evidence, then added an automated test, monitor, or fault response that prevented recurrence.
Preferred experience
- Robotics, autonomous vehicles, aerospace, industrial controls, or other distributed real-time machines.
- Bootloaders, secure boot, over-the-air updates, Yocto, kernel or device-tree development, time synchronization, or deterministic networking.
- Hardware-in-the-loop infrastructure, safety-related embedded systems, fleet configuration, or production programming and calibration.
The annual base salary range for this Palo Alto position is $165,000–$205,000. Health coverage, benefits, and generous equity come with the role. This role is on-site in Palo Alto. A relocation bonus is available. We hire to start as soon as possible. We review what you’ve shipped; if it’s the caliber we seek, interviews take about a week, start to finish. We treat your work and conversations with discretion.