ABOUT PROJECT
Our client is a global leader in autonomous robotics and AI, operating one of the world’s largest fleets of commercial mobile robots across retail, transportation, education, and industrial environments. Their next-generation autonomy platform combines computer vision, sensor fusion, indoor navigation, and cloud-connected fleet management to power advanced robotics at scale.
ELEKS is extending the Robot Platform team to enhance and re-architect the Hardware Abstraction Layer (HAL) that enables reliable, safe, and performant robot operation. This role involves deep technical work with sensors, embedded systems, and modern C++ in a highly innovative environment.
REQUIREMENTS 6+ years of professional experience with modern C++ (C++11/14/17+)Strong background in embedded systems or Hardware Abstraction Layer (HAL) developmentHands-on experience integrating sensors: LiDAR, IMU, cameras, depth/RGB sensorsProficiency with Linux/Ubuntu development environmentsExperience with CMake, unit testing (GTest/GMock), and debugging/profiling toolsSolid understanding of multithreading, memory management, and real-time constraintsExperience with version control (Git)Familiarity with middleware protocols such as DDS or MQTTAbility to work with system-level architecture and contribute to re-design discussionsStrong troubleshooting skills in embedded/robotics environmentsGood communication skills and ability to work cross-functionallyHigh proficiency in English NICE TO HAVE CUDA, Python (for migration tasks), robotics/AMR experience, telemetry system design, large-scale platform migrations RESPONSIBILITIES Migrate the existing HAL to a new, modular, scalable architectureBring up and integrate new hardware sensors (LiDAR/IMU/cameras) into the HALParticipate in the re-architecture of HAL for maintainability and extensibilitySupport the migration of middleware components from Python to C++Contribute to the redesign of the system’s telemetry pipelineWrite clean, efficient, production-ready modern C++ codePerform code reviews, unit testing, and debugging to ensure high-quality deliveryDocument architecture, designs, and processes to support team knowledge sharingCollaborate closely with hardware, embedded, software, and QA teams for seamless system integration