Senior Tech Lead - Embedded Linux, Java, Python
Role details
Job location
Tech stack
Job description
Develop and maintain ROS2 nodes for gripper command/state, sensor streaming (cameras, IMU, dToF, tactile), and device management (DFU, discovery, calibration) Develop and integrate host-side SDKs that interface with embedded MCU subsystems over Ethernet and EtherCAT - wrapping vendor C/C++ libraries into ROS2-compatible drivers Implement sensor integration pipelines on Jetson: camera frame acquisition and GPU-accelerated processing (CUDA de-Bayering), depth sensor post-processing (dToF zone point cloud), IMU streaming, tactile data decoding Integrate control and perception algorithms developed by scientists into the real-time platform - ensuring timing, data flow, and API contracts are met Develop device management software: firmware update orchestration (DFU) across heterogeneous nodes (MCU, sensor modules, actuators), device discovery, health monitoring Write and maintain integration tests validating end-to-end data paths from embedded hardware through ROS2 topics
Requirements
5+ years of software engineering experience, with significant work on embedded Linux / robotics platforms Strong proficiency in C++ and Python on Linux (Ubuntu) Hands-on experience with ROS2 - writing nodes, custom message types, lifecycle management, launch files, parameter handling Experience developing software on NVIDIA Jetson platforms (JetPack, CUDA basics, Docker containers) Experience interfacing host software with embedded systems - consuming C/C++ SDKs from hardware vendors, Ethernet/UDP communication with MCUs, serial protocols Experience with sensor integration : cameras (V4L2, GStreamer, or vendor SDK), IMUs, depth sensors, or similar Comfortable working at the hardware-software boundary - reading protocol specs, validating data with Wireshark/logic analyzers, coordinating with firmware engineers
Preferred Qualification
Experience with EtherCAT master libraries (IgH, SOEM) on Linux for real-time motor/actuator control Experience with CUDA kernels or GPU-accelerated image processing (de-Bayering, filtering, point cloud generation) Experience with CycloneDDS or other DDS implementations and real-time ROS2 tuning (executor configuration, QoS, zero-copy transport) Experience integrating manipulation/control algorithms (trajectory execution, position control loops, impedance control) Familiarity with Cyphal/DroneCAN or other CAN-based protocols from the host side Experience with Docker-based development and deployment workflows on embedded Linux Experience with device firmware update orchestration across multiple heterogeneous targets Familiarity with PREEMPT_RT Linux configuration, CPU isolation, and real-time scheduling Experience with Yocto/OE or custom BSP builds for Jetson Experience with calibration systems (camera intrinsics/extrinsics, hand-eye calibration) Other Requirements
- Optional But Valuable Certifications: Certified Embedded Systems Engineer (Cese), Linux Professional Institute Certification (Lpic).
Benefits & conditions
Minimum Salary (US): 78000