ROS Software Platform Architect
Resource Logistics, Inc.
Sunnyvale, CA, United States
19 days ago
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Apply on www.indeed.com
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
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
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Loading talks and stories from around this roleβ¦