We are looking for a Robotics Software Engineer to contribute to the development of a modular, high-performance autonomy stack for robotic systems. This role focuses on robotics middleware, inter-process communication (IPC), real-time data flow, and C++ system development, with exposure to perception and computer vision pipelines.
You will work closely with autonomy, perception, and embedded teams to build reliable, low-latency software infrastructure for real-world robotic deployments.
Key Responsibilities
- Design, implement, and maintain robotics software modules using modern C++ , supporting real-time autonomy workflows.
- Develop and optimize IPC and messaging layers using zero-copy communication mechanisms such as iceoryx and DDS -based middleware.
- Work with DDS implementations (eProsima Fast DDS, Cyclone DDS) to configure QoS profiles, topic structures, and data flow for deterministic behavior.
- Implement and manage shared-memory data exchange for high-throughput sensor data (images, point clouds, IMU streams).
- Integrate robotics software components within ROS/ROS2, including custom nodes, executors, and middleware configurations.
- Collaborate with perception engineers to support computer vision pipelines, ensuring efficient transport of image and metadata streams.
- Debug and resolve timing, synchronization, and concurrency issues across distributed robotics processes.
- Profile system performance to meet latency, throughput, and memory constraints, especially on embedded platforms.
- Support sensor integration workflows (cameras, IMU), focusing on data transport, timestamps, and consistency.
- Participate in lab and field testing, analysing logs and runtime behavior to improve system robustness.
Required Technical Skills
- Experience in robotics software , autonomy systems, or real-time distributed systems.
- Strong proficiency in modern C++ (14/17) , with experience in multithreading, memory management, and performance optimization.
- Hands-on experience with IPC frameworks such as iceoryx or similar zero-copy messaging systems.
- Practical experience using DDS middleware, preferably eProsima Fast DDS or Cyclone DDS, including QoS configuration.
- Experience implementing zero-copy data paths and working with shared memory for high-bandwidth sensor data.
- Familiarity with ROS or ROS2 , including nodes, executors, middleware abstraction layers, and TF concepts.
- Experience working on robotics systems, integrating multiple software components and sensors.
- Working knowledge of computer vision concepts, including image pipelines, camera data handling, and basic OpenCV usage.
- Comfortable working in Linux environments, debugging concurrency and runtime issues.
Nice to Have
- Experience tuning ROS2 + DDS for real-time or near-real-time performance.
- Exposure to embedded platforms (NVIDIA Jetson, ARM-based systems).
- Familiarity with CUDA-accelerated or GPU-backed pipelines for image transport.
- Experience with Docker-based development and deployment.
- Knowledge of sensor synchronization, timestamping, and clock management in robotics systems.