Role Id:
15
Embedded Software Engineer - Real-Time Linux
LOCATION:
San Francisco Bay Area, California USA
Role Description

We are looking to recruit an exceptional Embedded Software Engineer - Real-Time Linux to help build the foundational real-time Linux platform powering the brains of our autonomous robotics systems. This is a critical role for developing high-performance, GPU-accelerated compute platforms tailored to robotics and machine learning workloads.

In this role you will:

  • Design, adapt, and integrate POSIX-compliant systems for advanced robotics and machine learning (ML) applications.
  • Develop the framework for integration of controls, machine learning and supporting algorithms with real-time tasks.
  • Collaborate with Controls and Machine Learning engineers to develop and optimize high performance autonomous systems.
  • Develop and maintain drivers for integration with real-time robotic middleware.
  • Build tools to monitor, verify and optimize system performance, ensuring reliable and deterministic behavior.
  • Contribute to a deterministic and reproducible build and test environment for efficient development.
  • Work with functional safety engineers to support standards compliance, audit readiness, and traceability.
  • Develop robust solutions for over-the-air (OTA) updates, calibration management and software deployment strategies.
  • Tackle complex, real-world challenges alongside a multidisciplinary team of experts.
Qualifications

Must-have:

  • MS in computer engineering, computer science or a related discipline.
  • Production experience with bringup and configuration of Linux PREEMPT_RT and similar operating systems (e.g. QNX).
  • Strong understanding of Linux device trees, scheduling and memory management.
  • Experience with multicore ARM SoCs, interprocess/intercore communications and message passing.
  • Proficiency in C and C++
  • Experience with ROS 2 middleware and alternatives (Eg. FastDDS, CycloneDDS, Zenoh).
  • Familiarity with container technologies, container runtimes and related concepts (Eg. Docker, Containerd, Overlayfs).
  • Understanding of toolchains (compilers, linkers, debuggers, static analysis tools)
  • Self-starter attitude with strong ability to identify problems, prioritize them, then plan and execute working solutions.
  • Proactive, self-driven mindset with a strong ability to prioritize and deliver in a fast-paced startup environment.

Nice-to-have:

  • Familiarity with communication protocols (e.g. Ethernet, EtherCAT, CAN, CANOpen).
  • Knowledge of ARM SIMD/NEON architecture extensions.
  • Proficiency in additional programming languages (e.g. Python, Rust, Golang).
  • Expertise with multi-language build systems (e.g. Bazel, Bob).
  • Experience with Hypervisors (e.g. QNX Hypervisor, Jailhouse, Xen).
  • Understanding of container orchestration systems and tools (Eg. Kubernetes).
Apply Now