Robotics Engineer, Software
Core
Architecting and developing core C++ software systems for embedded onboard software, simulation, and deployment of advanced mobile robotic systems.
Role type
Senior IC robotics software engineer (C++/ROS2)
Builds
Foundational software for mobile robotic systems, tools, and frameworks for internal teams and robotic platforms.
Domain
Robotics / Autonomous Systems / Embedded Software
Deliverable
production ML models | product features | infrastructure
Required skills
Modern C++ (C++17/20), STL, memory management, performance tuning, software architecture, large codebases, multi-threaded/distributed/real-time systems, Linux debugging and profiling, Python/Bash scripting, ROS2, simulation environments, fleet orchestration, middleware (DDS, ZeroMQ, gRPC), containerization, system integration, hardware/software interfacing, deployment pipelines, optimization mathematics.
Preferred skills
Ph.D. in research or innovation, experience in fast-paced R&D environments.
Technologies
C++, ROS2, Python, Bash, Linux, DDS, ZeroMQ, gRPC, Docker/Kubernetes (implied by containerization), simulation tools.
Responsibilities
Architect and develop core C++ software systems for embedded onboard software, simulation, and deployment; Drive development of robust tools and frameworks for internal teams and robotic platforms; Drive technical direction in code structure, system design, and performance optimization; Collaborate with robotics, cloud, and systems teams on multi-functional efforts; Mentor and review work of junior and mid-level engineers; Define engineering best practices and contribute to technical roadmap.
Seniority
Senior, hands-on IC with mentorship responsibilities