HCL Technologies
HCL Technologies

Senior Tech Lead - Embedded Linux, Java, Python

RoleEmbedded
LevelSenior
LocationSanta Clara, United States
WorkOn-site
TypeFull-time
Posted1 week ago
Apply now

About the role

Job Summary

We are seeking a Senior Software Engineer contractor to develop robotics platform software on NVIDIA Jetson (Linux/ROS2) for a manipulation system integrating custom grippers, sensors, and actuator subsystems. You will write ROS2 nodes, develop host-side SDKs interfacing with embedded hardware over Ethernet and EtherCAT, integrate sensor pipelines (cameras, depth, tactile, IMU), and deploy perception/control algorithms into the real-time platform. The work is hands-on, systems-level C++/Python on Ubuntu with PREEMPT_RT, Jet Pack, and Docker.

Key Responsibilities

  • Develop and maintain ROS2 nodes for gripper command/state, sensor streaming (cameras, IMU, d ToF, 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 (d ToF 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

Skill Requirements

Mandatory Skills

  • 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 (Jet Pack, 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

  1. Optional But Valuable Certifications: Certified Embedded Systems Engineer (Cese), Linux Professional Institute Certification (Lpic).

Benefits and perks

Learning Budget

Required skills

Software engineering

Application development

Troubleshooting

About HCL Technologies

Santa Clara

Headquarters