Senior Embedded Software Engineer

GRAM

San Francisco (CA)

On-site

USD 165,000 - 205,000

Full time

31 hours ago
Be an early applicant
Application generator

A complete application in a minute — tailored resume and cover letter, ready to send.

Get past ATS filters

Benefits offered by this job

Health coverage
Equity

Job summary

GRAM seeks an experienced embedded software engineer to own firmware from microcontrollers through the Linux runtime. You will bring up electronics, develop drivers, ensure deterministic communications, timing, health monitoring, and stable interfaces for higher autonomy.

You will design C/C++ firmware, build hardware abstraction, and create robust fault handling, logging, and recovery strategies for known hardware configurations. On-site in San Francisco Bay Area.

Qualifications

  • Bachelor’s degree in a relevant engineering field or equivalent practical experience.
  • Shipped C/C++ software on a custom electromechanical product using RTOS/embedded Linux.
  • Experience bringing up hardware, writing drivers, and solving real-time constraints.

Responsibilities

  • Design and implement C and C++ firmware and device drivers for real-time systems.
  • Define timing, bandwidth, lifecycle, state-machine, calibration, diagnostic, and fault-response contracts across subsystems.
  • Bring up new boards and embedded compute with debuggers, oscilloscopes, logic analyzers, and kernel traces.
  • Build boot, provisioning, parameter/configuration, software update, rollback, and recovery paths.
  • Develop simulation, software-in-the-loop, hardware-in-the-loop, fault-injection, and regression tests that gate releases.
  • Measure latency, jitter, resource use, startup time, and logging quality under load.
  • Investigate integrated machine failures across firmware, Linux, networking, and electronics, then document fixes.

Skills

C/C++ firmware
Device drivers
RTOS / embedded Linux
Real-time systems
Hardware bring-up
Telemetry & logging

Education

Bachelor's degree in CS/CE/EE or related field

Tools

Debuggers
Oscilloscopes
Logic analyzers
Bus analyzers
Kernel traces

Job description

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

Embedded Software Engineer
Embedded Software Engineer

GRAM • El Segundo (CA)

On-site
USD 165,000 - 205,000
Senior Embedded Firmware Engineer – Real-Time Robotics (SF On-site)
Senior Embedded Firmware Engineer – Real-Time Robotics (SF On-site)

GRAM • San Francisco (CA)

On-site
USD 165,000 - 205,000
Health coverage
Equity
Electrical Engineer, Embedded Hardware
Electrical Engineer, Embedded Hardware

GRAM • El Segundo (CA)

On-site
USD 150,000 - 190,000
Field Engineer, Global Deployments
Field Engineer, Global Deployments

Gram Games • El Segundo (CA)

On-site
USD 55,000 - 69,000
Senior Software Engineer, Robot Data Infrastructure
Senior Software Engineer, Robot Data Infrastructure

GRAM • San Francisco (CA)

On-site
USD 190,000 - 240,000
Field Engineer, Global Deployments
Field Engineer, Global Deployments

GRAM • El Segundo (CA)

On-site
USD 55,000 - 69,000
Travel opportunities
Controls Engineer, Whole-Body Control
Controls Engineer, Whole-Body Control

GRAM • El Segundo (CA)

On-site
USD 190,000 - 230,000
Staff Embedded Software Engineer, Robotics
Staff Embedded Software Engineer, Robotics

Cobot • Santa Clara (CA)

On-site
USD 205,000 - 235,000
Relocation stipend
Equity
Embedded Software Engineer San Francisco, CA · On-site
Embedded Software Engineer San Francisco, CA · On-site

Weave Robotics, Inc. • San Francisco (CA), Northern (KY)

Hybrid
USD 120,000 - 210,000
Founding Research Scientist, Robot Learning
Founding Research Scientist, Robot Learning

GRAM • San Francisco (CA)

On-site
USD 225,000 - 300,000