Senior Embedded Software Engineer
GRAM · San Francisco Bay Area, California, United States · $165k–$205k
The role
GRAM is hiring a Senior Embedded Software Engineer to own embedded software across microcontrollers, real-time control, and the Linux robot runtime. The role involves bringing up new electronics, building drivers and communication protocols, and exposing stable interfaces to higher-level autonomy. Success requires versioned software with known behavior on known hardware, remaining observable and recoverable under degraded conditions.
- Pay
- $165k–$205k
- Location
- San Francisco Bay Area, California, United States
- Work mode
- Onsite
- Education
- Bachelors
What we know that the posting doesn’t say
- Seen 2 days agostill listed on the employer’s careers page
- Posted 3 days agothe first time we saw it
About GRAM
GRAM is a self-replication company creating populations of insectoids for the physical economy, focusing on self-preservation as the base case of physical self-replication. Their machines are designed to survive, coordinate, and recover without human intervention.
What you would do
- Design and implement C and C++ firmware, drivers, and real-time services.
- Define timing, bandwidth, lifecycle, and fault-response contracts across systems.
- Bring up new boards and embedded compute using debuggers and analyzers.
- Build boot, provisioning, update, rollback, and recovery paths.
- Develop simulation, software-in-the-loop, and hardware-in-the-loop tests.
- Measure and improve latency, jitter, resource use, and startup time.
Must have
- Bachelor's degree in CS, CE, EE, or related field or equivalent experience.
- Shipped C or C++ software on custom electromechanical product using RTOS or embedded Linux.
- Direct responsibility for hardware bring-up or field failure resolution.
- Implemented and debugged device drivers, interrupts, DMA, and concurrency.
- Experience with at least one physical interface like CAN, EtherCAT, Ethernet, SPI, I2C, or UART.
- Demonstrated real-time systems work with measured latency, jitter, and bandwidth.
- Experience with behavior under overload or component failure.
- Closed a hardware-software defect using instrumentation and captured evidence.
- Added automated test, monitor, or fault response to prevent recurrence.
Nice to have
- Experience in robotics, autonomous vehicles, aerospace, or industrial controls.
- Experience with bootloaders, secure boot, or over-the-air updates.
- Experience with Yocto, kernel or device-tree development.
- Experience with time synchronization or deterministic networking.
- Experience with hardware-in-the-loop infrastructure.
- Experience with safety-related embedded systems.
- Experience with fleet configuration or production programming and calibration.
What you get
- Health coverage
- Generous equity
Experience and education
- Bachelors degree or equivalent experience
Key skills
- c
- c++
- rtos
- embedded linux
- device drivers
- interrupts
- dma
- concurrency
- memory ownership
- can
- ethercat
- ethernet
- spi
- i2c
- uart
- debuggers
- oscilloscopes
- logic analyzers
- bus analyzers
- kernel traces
- telemetry
- bootloaders
- secure boot
- ota updates
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 la…
Extracted from the employer’s posting. Read it in full on GRAM’s careers pageApply without filling the form
Approve this role and the application is completed for you, including a résumé tailored to it. You get a confirmation when it lands, and a credit is only spent when a submission is confirmed.
Other roles at GRAM
- Senior Software Engineer, ControlsSan Francisco Bay Area, California, United States
- Senior Software Engineer, Robot Data InfrastructureSan Francisco Bay Area, California, United States