Systems Software & Middleware Engineer (C++)
Core
Develop and optimize high-performance software for robotics data collection systems, focusing on device-side data recording and efficient data communication middleware.
Role type
Systems Software & Middleware Engineer (C++)
Builds
Reliable device-side data recording systems and efficient data communication middleware for robotics applications
Domain
Robotics, Embedded Systems, Linux Systems Programming
Required skills
C++ (C++11+), Linux systems programming, process and thread management, memory management, network programming (TCP/UDP), serial communication, debugging, code refactoring
Preferred skills
Embedded Linux systems (Device Tree Source, device drivers), multimedia frameworks (V4L2, GStreamer, FFmpeg), hardware-specific multimedia stacks
Technologies
C++, Python, Linux, GCC, G++, CMake, TCP/UDP, V4L2, GStreamer, FFmpeg
Responsibilities
Debug and optimize integrated hardware and software systems for data collection; Develop on-device data recording systems managing video, audio, IMU, and device status data; Design and implement device-side middleware for efficient data exchange using publish-subscribe, IPC, shared memory, and message queues; Collaborate with hardware, sensor, algorithm, and testing teams to integrate components and validate performance
Seniority
Mid-level, hands-on IC
