The Role:
Build the software that lives next to—or directly inside—the robot.
Munari’s edge runtime must capture and synchronize high-rate multimodal data, run local models and detection logic, manage policy execution, survive intermittent networks, diagnose failures, and operate within tight CPU, memory, latency, power, and storage budgets.
This is a systems role for someone who is comfortable moving between kernel behavior, hardware interfaces, real-time constraints, networking, and distributed systems.
You are probably the person who reaches for perf, strace, bpftrace, ftrace, a packet capture, or a logic analyzer before guessing.
What you will work on:
Architect and build a portable edge runtime for ARM, x86, NVIDIA Jetson, and industrial compute platforms.
Capture, synchronize, buffer, and selectively transmit video, sensor, actuator, telemetry, and policy data with minimal overhead.
Integrate Munari with Linux, ROS 2, DDS, cameras, sensors, motor controllers, field buses, and existing robot software.
Build local execution for models, policies, anomaly detection, event triggers, and automated failure capture.
Design device identity, configuration, secure updates, rollback, remote diagnostics, and fleet-wide runtime management.
Build for failure: watchdogs, crash recovery, safe degradation, offline operation, fault injection, and post-incident diagnosability.
Profile and optimize CPU, GPU, memory, I/O, networking, startup time, and power consumption.
Establish the boundary between our embedded runtime, customer software, robot hardware, and the Munari control plane.
You may be a strong fit if:
You are deeply comfortable in C, C++, or Rust and have strong Linux systems fundamentals.
You understand concurrency, scheduling, memory, networking, IPC, filesystems, and process isolation.
You have shipped software on embedded, robotic, automotive, industrial, aerospace, or other hardware-constrained systems.
You can debug a problem that crosses userspace, the kernel, a driver, a device, and the physical world.
You have practical instincts about reliability, graceful degradation, and the difference between theoretical and operational correctness.
You enjoy making complex software disappear into a small, dependable runtime.
Experience with eBPF, PREEMPT_RT, systemd, Yocto or Buildroot, ROS 2, CAN, EtherCAT, GStreamer, V4L2, CUDA, TensorRT, or hardware-in-the-loop testing is valuable, but no single technology is required.