Role Id:
10
Embedded Software Engineer - Core Software
LOCATION:
San Francisco Bay Area, California USA
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.
Apply Now