About us
Here at ViaBot, we're building robots designed to tackle real-world tasks. Our AMR, ViaBot One, is designed to handle outdoor commercial tasks like sweeping and security. With deployments across the nation and over 3.3 billion square feet cleaned, our aim is to change the way people see robots—not as gimmicks or as one-trick ponies, but as practical solutions to industry needs. Learn more about us at: https://www.viabot.com
Who we’re looking for
We are seeking a Robotics Software Engineer - Localization Lto design, develop, and deploy core autonomy and robotics software for real-world mobile robots. In this role, you will work across state estimation, motion planning, system integration, and performance optimization to deliver robust, production-grade robotic systems. You will collaborate closely with hardware, perception, and control teams to build scalable autonomy solutions from simulation to field deployment.
Technical Requirements / Qualifications
- 5+ years of hands-on experience in developing, deploying, and maintaining mobile robots and/or drones in real-world environments.
- Strong hands-on software development experience building real-world robotic systems, with a focus on rapid prototyping and deployment.
- Advanced proficiency in modern C++ (C++11/14/17), including performance optimization, memory management, multithreading, and debugging in Linux.
- Solid understanding of classical state estimation and sensor fusion techniques, including Kalman-based filters for localization and navigation.
- Working knowledge of classical motion planning approaches, including deterministic and sampling-based algorithms and trajectory optimization.
- Strong hands-on experience with ROS1 and/or ROS2, including system integration, lifecycle management, and middleware-level debugging.
- Experience designing end-to-end mobile robotics software architectures, including abstraction layers and communication interfaces.
- Proficiency in Linux-based development environments, build systems (CMake, colcon, catkin), CI-friendly code practices, and Git-based version control.
Key Responsibilities
- Design, develop, and maintain core robotic software components in alignment with system architecture and engineering standards.
- Developed and streamlined multi-sensor calibration pipelines to improve measurement accuracy and robustness for state estimation, ensuring consistent alignment across IMU, GPS, LiDAR, and camera systems.
- Implement and optimize state estimation for localization, mapping, and navigation.
- Participate in system architecture design reviews and technical documentation.
- Debug, profile, and optimize system performance in both simulation and real-world deployments.
- Collaborate closely with hardware, perception, and controls teams to ensure seamless end-to-end system integration.
- Perform code reviews and contribute to continuous improvement of software quality and robustness.
- Support field testing, data analysis, and iterative improvement of robotic behaviors and autonomy features.
- Analyze performance data and contribute to long-term system optimization and stability.
Nice-to-Have Skills
- Experience with robotics simulation tools such as Gazebo.
- Hands-on experience with SLAM systems, including mapping, localization, and loop closure (e.g., LiDAR- or vision-based SLAM).
- Worked hands-on with multi-modal sensor systems including wheel encoders, LiDAR, GPS/GNSS, and cameras, performing integration, synchronization, and validation for state estimation pipelines.
- Background in robot perception, including camera and LiDAR-based processing pipelines.
- Experience working with navigation stacks (e.g., ROS Navigation Stack, Nav2).
- Understanding of software quality, compliance, or validation processes