{"schemaVersion":"jobsearcher.job.v1","id":"1aaba0d085e25fcefa1d87f8","url":"https://jobsearcher.com/jobs/1aaba0d085e25fcefa1d87f8","canonicalUrl":"https://jobsearcher.com/jobs/1aaba0d085e25fcefa1d87f8","title":"Senior Embedded Software Engineer","description":"Senior Embedded Software EngineerThe MissionGRAM 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 roleYou 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. 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.","company":"Gram","rawCompany":"gram","city":"Menlo Park","state":"CA","isRemote":false,"isActive":false,"createdAt":"2026-09-08T08:17:40.011Z","occupations":[{"code":"15-1252.00","title":"Software Developers","slug":"software-developers"},{"code":"15-1299.08","title":"Computer Systems Engineers/Architects","slug":"computer-systems-engineers-architects"},{"code":"17-2199.08","title":"Robotics Engineers","slug":"robotics-engineers"}],"industries":[{"code":"541512","title":"Computer Systems Design Services","slug":"computer-systems-design-services"},{"code":"541511","title":"Custom Computer Programming Services","slug":"custom-computer-programming-services"},{"code":"541715","title":"Research and Development in the Physical, Engineering, and Life Sciences (except Nanotechnology and Biotechnology)","slug":"research-and-development-in-the-physical-engineering-and-life-sciences-except-nanotechnology-and-biotechnology"}],"jobPosting":{"@context":"https://schema.org","@type":"JobPosting","title":"Senior Embedded Software Engineer","description":"Senior Embedded Software EngineerThe MissionGRAM 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 roleYou 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. 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.","datePosted":"2026-09-08T08:17:40.011Z","dateModified":"2026-09-08T08:17:40.011Z","hiringOrganization":{"@type":"Organization","name":"Gram","sameAs":"https://jobsearcher.com"},"jobLocation":{"@type":"Place","address":{"@type":"PostalAddress","addressLocality":"Menlo Park","addressRegion":"CA","addressCountry":"US"}},"identifier":{"@type":"PropertyValue","name":"JobSearcher","value":"1aaba0d085e25fcefa1d87f8"},"url":"https://jobsearcher.com/jobs/1aaba0d085e25fcefa1d87f8"}}