Senior Embedded Software Engineer

Gram Games

San Francisco (CA)

On-site

USD 165,000 - 205,000

Full time

14 days+
Application generator

An application made for this job — a tailored resume and cover letter that speak straight to the posting.

Get past ATS filters

Benefits offered by this job

Health coverage
Generous equity
Relocation bonus

Job summary

GRAM is seeking an experienced embedded software engineer to own firmware from microcontrollers through the Linux robot runtime for on-site work in the San Francisco Bay Area. You will bring up new electronics, build drivers, and ensure deterministic communications, timing, and health monitoring across the robotics stack.

The role emphasizes versioned, observable, and testable software under degraded conditions with a strong focus on latency, jitter, and fault response.

Qualifications

  • Bachelor’s degree in computer science, computer engineering, electrical engineering, 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.

Responsibilities

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

Skills

C/C++ firmware
RTOS/Embedded Linux
Device drivers
Real-time systems
Diagnostics/Logging

Education

Bachelor's degree in CS/EE

Tools

Oscilloscopes
Logic analyzers
Bus analyzers
Kernel traces

Job description

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 San Francisco Bay Area position is $165,000–$205,000. Health coverage, benefits, and generous equity come with the role. This role is on-site in the San Francisco Bay Area. 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.

Get your free, confidential resume review.
or drag and drop your file here.
Similar jobs

Similar jobs worth comparing

Senior Embedded Software Engineer
Senior Embedded Software Engineer

GRAM • San Francisco (CA)

On-site
USD 165,000 - 205,000
Health coverage
Equity (generous)
Relocation bonus
Senior Electrical Engineer, Embedded Hardware
Senior Electrical Engineer, Embedded Hardware

Gram Games • San Francisco (CA)

On-site
USD 150,000 - 190,000
Health coverage
Generous equity
Relocation bonus
Senior Electrical Engineer, Embedded Hardware
Senior Electrical Engineer, Embedded Hardware

GRAM • San Francisco (CA)

On-site
USD 150,000 - 190,000
Relocation bonus
Health coverage
Equity
+1
Staff Robotics Systems Engineer
Staff Robotics Systems Engineer

GRAM • San Francisco (CA)

On-site
USD 180,000 - 220,000
Relocation bonus
Health coverage
Equity
Staff Robotics Systems Engineer
Staff Robotics Systems Engineer

Gram Games • San Francisco (CA)

On-site
USD 180,000 - 220,000
Health coverage
Generous equity
Relocation bonus
Robotics Technician
Robotics Technician

Gram Games • San Francisco (CA)

On-site
USD 55,000 - 72,000
Health coverage
Relocation bonus
Generous equity
Robotics Technician
Robotics Technician

GRAM • San Francisco (CA)

On-site
USD 55,000 - 72,000
Health coverage
Equity
Relocation bonus
Senior Electrical Engineer, Power Electronics
Senior Electrical Engineer, Power Electronics

Gram Games • San Francisco (CA)

On-site
USD 155,000 - 195,000
Health coverage
Generous equity
Relocation bonus
Senior Embedded Systems Engineer — Real-Time Robotics
Senior Embedded Systems Engineer — Real-Time Robotics

Gram Games • San Francisco (CA)

On-site
USD 165,000 - 205,000
Health coverage
Generous equity
Relocation bonus
Staff Controls Engineer, Whole-Body Control
Staff Controls Engineer, Whole-Body Control

Gram Games • San Francisco (CA)

On-site
USD 190,000 - 230,000
Relocation bonus
Health coverage
Equity