Role Summary (Executive Overview):
- We are looking for a hands-on Senior Robotics Software Engineer responsible for improving the robustness, quality, maintainability, and industrial readiness of our robotics software stack.
- Currently, we are working on improving the robustness and scalability of our platform by moving towards the ROS2 framework.
Required Expertise:
- Robotics software engineering (5+ years experience).
- ROS1 and ROS2 strong skills (3+ years experience).
- Navigation, localization, and robot behavior validation.
- System robustness and reliability engineering.
- Cross-stack software development.
- Real-world AMR deployment experience.
- Technical problem solving in production environments.
Important Notes:
- This is not a research position or a pure robotics algorithm position.
- We are looking for an engineer who has successfully deployed robotic systems in production and can understand/develop robotics algorithms required to make robotic software reliable in industrial environments.
Strategic Vision:
- We are building a next-generation AMR software stack to lead the autonomous mobile robotics industry.
- Our platform ensures robots excel across four core pillars:
- Performance: Fast, efficient task execution and navigation with high throughput, minimal latency, and zero unnecessary downtime.
- Smartness: Intelligent, context-aware decisions and predictable behavior in dynamic environments and edge cases.
- Robustness: Unshakable stability, graceful fault handling, and autonomous recovery under real-world conditions.
- Elegance: Smooth, natural motion and seamless operational UX to solve complex challenges cleanly.
Core Candidate DNA - Robotics Engineer:
- Understands robotic software systems (must master): Robot navigation, Localization, Sensor signal data processing, Safety systems, Robot lifecycle management.
- Comfortable debugging complex system interactions.
- Strong experience with ROS1 and ROS2 (must master): Communication models, QoS settings, Lifecycle management, Launch systems, Open-sourced ROS stacks.
- Proficient English speaker (daily work language).
- We need somebody who systematically removes operational instability rather than accepting recurring failures as normal.
Core Candidate DNA - Hands-on Problem Solver:
- Writes code every day.
- Comfortable with Linux debugging, logs, profiling, and performance analysis.
- Works across multiple technology stacks.
- Understands robotics software end-to-end.
- 70 to 80% hands-on engineering.
Programming:
- Strong Modern C++ (C++ 14 or later, e.g., Templates, OOP, Concurrency, Lambdas, Move Semantics, Smart Pointers).
- Strong Python.
- Software design and debugging.
- Production-quality software development.
- Build systems, e.g., CMake.
Systems:
- Linux (Ubuntu).
- Docker.
- Git workflows.
- CI/CD.
- Distributed software systems.
- Simulation tools, e.g., RViz or Gazebo.
Quality & Reliability:
- Root cause analysis.
- Automated testing (e.g., unit and integration testing).
- Production incident investigation.
- Software quality practices.
Cultural Fit:
- We want an engineer who owns problems until they are permanently solved, works openly across teams, explains clearly to any audience and keeps learning.
- This role sits between Robotics, QA, Backend, Frontend, DevOps, Product and customers, so cultural fit weighs as much as technical depth.
- Ownership.
- Team Player.
- Strong Communication.
- Growth Attitude.
- A clear red flag on Ownership is a stop, because it is the core of the role.
Nice-to-Have:
- Navigation Algorithms: Motion planning algorithms, A*, Lateral and Longitudinal Controllers, PID, LQR, graph-base search algorithms.
- Localization Algorithms: SLAM, Mapping, occupancy grid, Markov Localization.
- Filter design, Bayesian processes.
- Safety PLC, software Watchdogs, Health Monitoring, Diagnostics.
- AMR industry experience.
- Fleet Management Systems: VDA 5050, Industrial robotics, Rust, Automated simulation validation, Safety-related development, IEC 62443 awareness, Performance profiling, Localization and mapping experience.
Responsibilities:
- Support the migration of our robotics stack from ROS1 to ROS2.
- Improve robustness and stability of deployed AMR systems.
- Analyze recurring navigation and localization failures.
- Reduce operational incidents and field issues.
- Debug issues across ROS1, ROS2, Docker, and Linux layers.
- Improve software quality, testing, and validation capabilities.
- Improve recovery strategies and fault handling.
- Support customer deployments (no expected travel).
Position Framework:
- Reports to the Robotics Team Lead or directly to the Director R&D, depending on the final organizational structure.
- Works closely with Backend Engineering, Algorithm & Optimization Team, Frontend/UI Team, Robotics Team, QA Team, DevOps Team, Product Management.