<- Open Roles

Open Role

Robotics Software Engineer

Singapore / Munich, Germany

Build reliable, high-performance robotics software platforms that keep control, perception, and data collection running on real hardware.

About the Role

MindOn is building general-purpose intelligence for robots. We are looking for a Robotics Software Engineer to build robotics runtime platforms, integrate hardware, and optimize system performance across computing platforms.

You will develop reusable capabilities for device integration, task scheduling, communication, monitoring, diagnostics, and automated validation, ensuring real-time performance, reliability, and maintainability for robot control and data collection.

Responsibilities

  • Optimize CPU, memory, storage, and communication resources; analyze task execution time, scheduling latency, and cycle jitter to meet control and data collection requirements.
  • Integrate sensors, actuators, and peripherals; wrap vendor SDKs and implement initialization, timeout handling, reconnection, error reporting, and resource cleanup.
  • Resolve bandwidth, synchronization, and stability issues when multiple devices operate concurrently, supporting simultaneous control and multi-sensor data collection.
  • Develop robotics middleware for task scheduling, module communication, data management, and lifecycle management.
  • Build cross-platform build and deployment toolchains for x86 and ARM, resolving dependency, compilation, linking, and vendor SDK compatibility issues.
  • Build unified logging, metrics, and diagnostics for online monitoring and offline analysis of device health, task execution, communication quality, and system performance.
  • Improve automated testing and continuous integration, including configuration checks, hardware-independent regression, hardware integration tests, and performance regression.
  • Collaborate with hardware, algorithm, and application teams to reproduce issues, identify root causes, implement fixes, and verify results.

Qualifications

  • A deep and genuine passion for Embodied AI is essential.
  • Proficiency with AI coding tools is essential: use them effectively for development, debugging, testing, and troubleshooting; independently review generated code and validate its correctness and reliability through tests and real-world execution.
  • A practical understanding of Embodied AI, including its strengths, limitations, and current capability boundaries, and the demands algorithms place on robotics software, hardware, and real-time systems.
  • A bachelor’s degree or above in Computer Science, Electrical Engineering, Automation, Robotics, or a related field, and 3+ years of experience in Linux systems software, robotics platforms, embedded Linux, or hardware integration.
  • Strong C++ skills and experience using Python and Shell for debugging and automation; understanding of thread synchronization, memory management, resource lifecycles, and inter-process communication.
  • Familiarity with Linux scheduling, CPU affinity, thread priorities, and resource management; ability to diagnose timeouts, cycle jitter, blocking, and resource contention.
  • Practical profiling experience using tools such as perf, top, pidstat, iostat, strace, and GDB to identify CPU, memory, I/O, and communication bottlenecks and measure improvements.
  • Experience integrating sensors, actuators, or industrial devices via USB, Ethernet, serial, or CAN, and troubleshooting device detection, permissions, bandwidth, timeouts, and disconnections.
  • Familiarity with CMake, dynamic linking, and dependency management; x86 or ARM development and deployment experience, including compilation, linking, ABI, and vendor SDK troubleshooting.
  • Familiarity with ROS/ROS2 or other messaging frameworks, including timestamps, multi-source synchronization, and the effects of communication latency.
  • Ability to diagnose issues across software and hardware, execute independently, and collaborate across teams.

Preferred Experience

  • Performance optimization for concurrent robot control and multi-sensor data collection.
  • Experience with ARM SoCs, embedded Linux, real-time kernels, or board-level debugging.
  • Experience with multi-camera systems, high-throughput data collection, HDF5 storage, and data replay tools.
  • Experience with zero-copy, shared memory, lock-free data structures, or high-performance communication.
  • Experience with cross-compilation, containerized deployment, offline dependency management, or fleet device updates.
  • Experience building hardware-in-the-loop tests, fault injection, long-duration stability tests, or performance regression platforms.