GRAM (gramcorporation.com) Logo

GRAM (gramcorporation.com)

Senior Embedded Software Engineer

Posted Yesterday
In-Office or Remote
Hiring Remotely in CA
Senior level
In-Office or Remote
Hiring Remotely in CA
Senior level
Own embedded software across microcontrollers, RTOS environments, embedded Linux, and robot runtime components. Design firmware, drivers, real-time services, communications, diagnostics, calibration, recovery, and hardware interfaces. Bring up electronics, measure system performance, investigate integrated-machine failures, and build simulation, hardware-in-the-loop, fault-injection, and regression testing. Ensure software is observable, recoverable, version-compatible, and reliable under degraded conditions.
The summary above was generated by AI
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.

Similar Jobs

25 Days Ago
In-Office or Remote
Senior level
Senior level
Information Technology • Software • Consulting
Design, implement, verify, and maintain safety-related embedded C/C++ firmware for vehicle control ECUs. Responsibilities include real-time software, CAN and J1939 communications, diagnostics, I/O control, hardware-in-the-loop testing, CI/CD automation, embedded Linux connectivity, formal requirements traceability, code reviews, and field commissioning. The role requires extensive microcontroller, hardware debugging, safety coding standards, and vehicle network experience.
Top Skills: ArmBuildrootCC++Can 2.0A/BCi/CdConfluenceEmbedded LinuxGitHardware-In-The-Loop TestingJ1939JIRALinuxMisraPythonRtosShell ScriptingTcp/IpYocto
One Month Ago
In-Office or Remote
3 Locations
Senior level
Senior level
Robotics
Designs, develops, tests, and maintains robotics middleware and application frameworks in modern C++ on embedded Linux. Owns platform components through deployment and fleet operation, improves reliability and performance, diagnoses complex concurrency and systems issues, and translates safety requirements into software behavior and verification. Collaborates across autonomy, systems, hardware, and software teams while leading technical reviews and mentoring engineers.
Top Skills: C++C++17Cap'N ProtoEmbedded LinuxFlatbuffersInterprocess CommunicationMultithreadingNetworkingNvidia JetsonProtocol BuffersRpc
One Month Ago
In-Office or Remote
Canada
Senior level
Senior level
Artificial Intelligence • Automotive • Computer Vision • Machine Learning • Agriculture • Defense • Manufacturing
Designs, develops, integrates, tests, and maintains production embedded Linux software for vehicle systems. Responsibilities include modern C/C++ and Qt/QML development, Yocto platform maintenance, Python automation, CI/CD, automated testing, debugging across hardware and software boundaries, release management, architecture, documentation, and production support. The role also provides technical leadership and mentorship while collaborating with multidisciplinary engineering, manufacturing, cybersecurity, and supplier teams.
Top Skills: Adobe IllustratorAdobe PhotoshopAutosarBitbakeCC++Cameo Systems ModelerCanCmakeConan 2CppunitEmbedded LinuxEthernetFigmaFmvssGdbGitGoogletestI2CIbm Engineering DoorsIso 26262MagicdrawOpenembeddedPythonQmlQt 6.8+Qt CoreQt DbusQt Design StudioQt NetworkQt QuickQt Remote ObjectsSae J1939Sae J2012SconsSerial InterfacesSpiSquishSystemdUds Iso 14229Yocto Project

What you need to know about the Vancouver Tech Scene

Raincouver, Vancity, The Big Smoke — Vancouver is known by many names, and in recent years, it has gained a reputation as a growing hub for both tech and sustainability. Renowned for its natural beauty, the city has become a magnet for professionals eager to create environmental solutions, and with an emphasis on clean technology, renewable energy and environmental innovation, it's attracted companies across various industries, all working toward a shared goal: advancing clean technology.

Sign up now Access later

Create Free Account

Please log in or sign up to report this job.

Create Free Account