Role Summary:
- Senior Robotics Software Engineer responsible for improving the robustness, quality, maintainability, and industrial readiness of our robotics software stack.
- Robotics software engineering.
- ROS1 to ROS2 migration.
- Navigation, localization, and robot behavior validation.
- System robustness and reliability engineering.
- Cross-stack software development.
- Real-world robot deployment experience.
- Technical problem solving in production environments.
Platform Environment:
- ROS1 as the primary operational stack.
- ROS2 Navigation Stack running in a dedicated Docker container.
- ROS1 to ROS2 bridge communication.
- AMR deployments in real customer environments.
Strategic Vision:
- Create a next-generation AMR software stack.
Performance Characteristics:
- Fast task execution.
- Efficient navigation.
- High fleet throughput.
- Low latency decision making.
- Minimal downtime.
Smartness Characteristics:
- Intelligent behavior in dynamic environments.
- Effective handling of edge cases.
- Context-aware decision making.
- Efficient use of available resources.
- Predictable and explainable behavior.
Robustness Characteristics:
- Reliable operation in imperfect real-world environments.
- Graceful handling of sensor uncertainty.
- Recovery from failures without operator intervention.
- Stable localization and navigation.
- Resilience against environmental variability.
Elegance Characteristics:
- Smooth robot behavior.
- Natural navigation patterns.
- Professional user experience.
- Minimal operational friction.
- Simple solutions to complex problems.
Core Candidate DNA:
- Robotics Engineer First: Strong experience with ROS1 and ROS2, understands robotic software systems beyond individual nodes, has worked on deployed robots, understands navigation, localization, sensor processing, and robot lifecycle management, and is comfortable debugging complex system interactions.
- System Robustness Engineer: Thinks about reliability before features, understands failure modes in real deployments, identifies root causes, and is comfortable analyzing intermittent and difficult-to-reproduce issues.
- ROS Migration Expert: Understands both ROS1 and ROS2 architectures, familiar with ros1_bridge and migration challenges, understands differences in communication models, QoS settings, lifecycle management, launch systems, and navigation stacks.
- Hands-on Problem Solver: Writes code every day, comfortable with Linux debugging, logs, profiling, and performance analysis, works across multiple technology stacks, and understands robotics software end-to-end.
- Industrial Robotics Craftsman: Cares deeply about how robots behave in the real world, has personal opinions on navigation, localization, and elegant AMR behavior, and continuously challenges the system.
Must-Have Skills:
- Robotics: Strong ROS1 and ROS2 experience, navigation systems, localization systems, robot lifecycle management, sensor integration, and robot deployments.
- Programming: Strong C++, strong Python, software design and debugging, and production-quality software development.
- Systems: Linux (Ubuntu), Docker, Git workflows, CI/CD, and distributed software systems.
- Quality & Reliability: Root cause analysis, system debugging, automated testing, production incident investigation, and software quality practices.
Nice-to-Have Skills:
- AMR industry experience.
- Fleet Management Systems.
- VDA 5050.
- Industrial robotics.
- Traffic management.
- Multi-robot systems.
- Kubernetes.
- Rust.
- Gazebo / Ignition.
- Automated simulation validation.
- Safety-related development.
- IEC 62443 awareness.
- Performance profiling.
- DDS expertise.
- 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.
- Investigate sensor-related and navigation-related edge cases.
- Improve recovery strategies and fault handling.
- Support customer deployments and difficult field issues.
- Work closely with QA, Backend, Frontend, DevOps, and Product teams.
Reporting Line:
- Reports directly to the Head of Robotics.
- Works closely with Robotics, Robotics Backend Team, QA Team, DevOps Team, and Product Management.
- Acts as a key contributor to the technical evolution of the Robotics Software Stack.