hirq
← All jobs

Galactic Resource Advancement Mechanism Technologies Corporation

Senior Embedded Software Engineer

San Francisco Bay Area, California, United States · On-site · Hardware

$165K – $205K

Apply well, not just fast

Create a free account and upload your resume to get a match score, keyword gaps, a tailored resume, a cover letter and interview prep for this job.

About the role

Embedded SystemsLinuxC++CContract ManagementElectrical EngineeringRobotics
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.