Maven Robotics
← Back to Careers

Embedded Software Engineer - Core Software

Role ID: 10

Location

San Francisco Bay Area, California USA

Company Overview

Maven Robotics is building the world’s leading general-purpose AI robots.

We are currently operating in stealth and are growing the world’s best team in AI robotics. We are looking for self-starters that are the world’s best in their field, who can innovate from a deep understanding of the fundamentals, and who share our values of unwavering truth seeking and integrity, humility, curiosity, and relentless determination.

Role Description

We are looking to recruit an exceptional Embedded Software Engineer - Core Software to develop the foundational software that keeps our robot hardware alive, building the core systems that provide a platform for robust, safe, and deterministic operation.

In this role you will:

  • Adapt and integrate a safety certifiable Real Time Operating System (RTOS) and associated drivers for purpose built robotic control hardware.
  • Collaborate with hardware engineers to design, develop, and optimize high performance safety-critical systems.
  • Develop and adapt device drivers for hardware peripherals (e.g. GPIO, EtherCAT, SPI).
  • Build tools to monitor, verify and optimize real time system performance, ensuring deterministic behavior.
  • Contribute to a deterministic and reproducible build and test environment for efficient development.
  • Collaborate with functional safety engineers to ensure compliance with relevant safety standards and support audit and traceability requirements.
  • Develop robust solutions for over-the-air (OTA) updates, calibration management and software deployment strategies.
  • Solve complex, real-world challenges alongside a multi-disciplinary team

Qualifications

Must-have:

  • MS in computer engineering, computer science or a related discipline.
  • Experience with safety-certifiable RTOSes (e.g. QNX, ThreadX, SafeRTOS).
  • Expertise in OS fundamentals, including real-time scheduling and memory management.
  • Strong understanding of ARM 64 hardware architecture.
  • Experience with multicore SoCs, interprocess/intercore communications and atomic operations.
  • Proficiency in low level programming (C, assembly)
  • Understanding of bootloaders, hardware abstraction layers and board support packages (BSPs).
  • Hands-on experience with development tools including oscilloscopes, hardware debuggers and high speed tracing techniques (e.g. HSSTP).
  • Understanding of toolchains (compilers, linkers, debuggers, static analysis tools)
  • Familiarity with functional safety (FuSa) concepts, MISRA compliance and related standards.
  • Self-starter attitude with strong ability to identify problems, prioritize them, then plan and execute working solutions.
  • Enthusiasm for working in a fast paced startup environment and eagerness to support the team on a variety of topics.

Nice-to-have:

  • Familiarity with communication protocols (e.g. Ethernet, EtherCAT, CAN, CANOpen)
  • Familiarity with Linux real-time (RT), Linux device tree concepts, and related tools.
  • Knowledge of ARM SIMD/NEON architecture extensions.
  • Proficiency in additional programming languages (e.g. C++, Python, Rust, Golang).
  • Experience with multi-language build systems (e.g. Bazel, Bob).
  • Familiarity with ROS 2 middleware and alternatives (Eg. FastDDS, CycloneDDS, Zenoh).
  • Experience with Hypervisors (e.g. QNX Hypervisor, Jailhouse, Xen).
  • Experience with Docker, Kubernetes and related containerization/orchestration systems and tools.