Software Engineer (Sensor)

MobileyeShanghai, ShanghaiOn-siteFull-timeSenior, 5–8 yearsListed 1 day ago

Apply now

About this role

Who you are:

- Systems developer passionate about low-latency sensor drivers, hardware abstraction layers, cross-sensor clock synchronization, and zero-drop data pipelines.

- Hands-on software craftsman adept at Linux device drivers, SocketCAN, V4L2, GStreamer, zero-copy shared memory, and C++ system design.

- Driven by high data fidelity, deterministic timing, failure resilience, and continuous API clean-up.

- A strong collaborator across perception, state estimation, hardware design, and calibration teams.

Responsibilities:

- Design and maintain robust C++ driver abstraction layers for heterogeneous sensor suites (RGB-D cameras, ToF, LiDAR, high-rate IMUs, tactile sensors, 6-axis force-torque sensors).

- Implement hardware-assisted time synchronization protocols (IEEE 1588 PTP, gPTP, PPS, hardware sync trigger lines) across distributed sensor nodes and central compute.

- Develop low-latency zero-copy data transport pipelines to deliver high-bandwidth point clouds, video frames, and telemetry to perception and RL control modules.

- Build sensor fault detection, health monitoring, automatic recovery, dynamic re-connection, and runtime diagnostic daemons.

- Optimize Linux kernel driver stacks (V4L2, USB3/UVC, SocketCAN, Ethernet) for maximum throughput, sub-millisecond jitter, and minimal CPU footprint.

- Define unified sensor data abstractions, schema definitions, and ROS 2/DDS topic interfaces for seamless downstream algorithmic consumption.

- Collaborate with hardware and calibration engineers to conduct environmental stress validation and motion artifact testing on physical robot platforms.

- Produce clear technical documentation, integration standards, and automated testing suites for factory floor sensor testing.

Requirements:

- B.Sc. or M.Sc. in Computer Science, Robotics, Electrical Engineering, or related technical disciplines.

- 5+ years of software engineering experience in sensor integration, low-level driver development, or robotics middleware.

- Mastery of C++ (17/20) and Python with proven experience in object-oriented system design, multi-threading, and asynchronous I/O.

- Deep hands-on experience with sensor Linux drivers and communication protocols (V4L2, SocketCAN, SPI, I2C, MIPI-CSI2, GStreamer, OpenCV).

- Proven track record implementing sub-microsecond hardware time synchronization (PTP, PPS, external trigger pulses) across cameras and IMUs.

- Solid knowledge of ROS 2 / DDS pub-sub architecture, zero-copy shared memory transport, and system IPC optimization.

- Strong debugging skills using network tools (Wireshark), USB protocol analyzers, and GDB/Valgrind profiling suites.

Advantages:

- Direct experience integrating multi-modal sensor arrays on humanoid or quadruped robots.

- Experience with GPU acceleration for sensor stream decoding and pre-processing (CUDA, Jetson VPI, NvMedia).

- Experience with tactile sensor arrays, event-based cameras, or high-rate IMU filtering architectures.

- Comfortable communicating technical topics in English with international teams.