ROS Software Platform Architect

Resource Logistics, Inc.
Sunnyvale, CA, United States
19 days ago
Apply on www.indeed.com
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Expert
Experience required
5 years minimum
Compensation
$239,200 - $260,000
Working hours
Regular working hours
Job source

Tech stack

Computing Platforms C++ (Programming Language) Ubuntu (Operating System) Nvidia CUDA Data Validation Linux Linux on Embedded Systems Ethernet EtherCAT Firmware Python (Programming Language) Performance Tuning
+11 more
Real-Time Operating Systems Software Engineering Data Streaming Wireshark Delivery Pipeline Control Structures Yocto Integration Tests NVIDIA Jetson Api Management Docker

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, * 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), * 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:

  • software engineering: 5 years (Required)
  • C++ and Python: 5 years (Required)

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.indeed.com
Prepare application

Good distractions

Loading talks and stories from around this role…