Maven Robotics, Inc.
Embedded Software Engineer - Real-Time Linux
Maven Robotics, Inc., San Francisco, California, United States, 94199
Embedded Software Engineer - Real-Time Linux
LOCATION:
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 optimise high performance autonomous systems.
Develop and maintain drivers for integration with real-time robotic middleware.
Build tools to monitor, verify and optimise system performance, ensuring reliable and deterministic behaviour.
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).
#J-18808-Ljbffr
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 optimise high performance autonomous systems.
Develop and maintain drivers for integration with real-time robotic middleware.
Build tools to monitor, verify and optimise system performance, ensuring reliable and deterministic behaviour.
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).
#J-18808-Ljbffr