Robotics Software Engineer
- Hanoi / Ho Chi Minh City
- Fulltime
Level: Junior - Senior
Reports To: Robotics Software Engineer Lead
Role Summary
The Senior Robotics Software Engineer will design, develop, integrate, optimize, and deploy production-grade robotics software at VinRobotics.
This role will work closely with the Robotics Software Engineer Lead to implement software architectures and technical roadmaps across Autonomous Mobile Robots, robotic manipulators, humanoid robots, and smart logistics systems. The position requires strong hands-on engineering capability, ownership of major software components, and practical experience deploying software on real robotic systems.
Core Responsibilities
Robotics Software Development
Design, develop, test, and maintain reusable software components for robot systems, AMRs, manipulators, mobile manipulators, and humanoid robots.
Implement software architectures, interfaces, and technical solutions defined in collaboration with the Robotics Software Engineer Lead.
Take ownership of one or more major robotics software subsystems from development through production deployment.
Contribute to localization, navigation, motion planning, manipulation, perception, sensor fusion, behavior planning, or multi-robot coordination capabilities.
System Integration
Integrate robotics software with sensors, actuators, motor controllers, embedded systems, commercial robots, and industrial equipment.
Develop and maintain interfaces between robots, Fleet Management Systems, WES, WMS, ERP, MES, and other factory systems.
Implement robot missions, workflows, task logic, and exception-handling mechanisms for warehouse and manufacturing operations.
Diagnose and resolve hardware-software, robot-fleet, and enterprise-system integration issues.
Collaborate with Solution Architecture and Deployment teams during system integration and site implementation.
Performance and Optimization
Analyze and optimize robot behaviors, software performance, cycle time, task execution, resource usage, and energy efficiency.
Improve localization accuracy, navigation efficiency, trajectory quality, manipulation performance, fleet throughput, and system reliability.
Apply control theory, numerical methods, mathematical optimization, and data-driven approaches to robotics problems.
Profile CPU, GPU, memory, communication, and real-time processing performance.
Perform root-cause analysis for software, integration, and production issues and implement corrective actions.
Software Quality and Deployment
Develop modular, testable, maintainable, and production-quality software using modern C++, Python, ROS2, and Linux.
Follow engineering standards for software design, coding, documentation, testing, configuration management, and release processes.
Develop unit, integration, regression, simulation, SIL, and HIL tests.
Build tools for automated testing, logging, visualization, profiling, data analysis, and debugging.
Support robot commissioning, site testing, endurance testing, acceptance testing, and production deployment.
Monitor deployed systems and contribute to reliability, availability, and maintainability improvements.
Technical Collaboration
Work closely with the Robotics Software Engineer Lead on architecture decisions, technical planning, task estimation, and risk management.
Participate in architecture reviews, design reviews, code reviews, and technical troubleshooting.
Collaborate with DevOps, Solution Architecture, QA, Deployment teams.
Mentor junior engineers and provide technical guidance during development, testing, and deployment.
Contribute to team coding standards, reusable frameworks, engineering documentation, and technical knowledge sharing.
Required Skill Set
Bachelor’s or Master’s degree in Computer Science, Robotics, Electrical Engineering, Mechatronics, Automation, Control Engineering, or a related field.
Senior: At least 4 years of software engineering experience, including 3 years working with real robotic or autonomous systems.
Strong proficiency in modern C++ and Python.
Strong experience with ROS2 and Linux-based development environments.
Good understanding of distributed robotic architectures and multi-layered software stacks.
Strong expertise in at least one of the following:
SLAM and localization.
Autonomous navigation and motion planning.
Robot manipulation.
Humanoid locomotion or whole-body control.
Perception and sensor fusion.
Multi-robot systems and fleet management.
Task planning and behavior planning.
Good knowledge of control theory, linear algebra, numerical methods, and optimization.
Hands-on experience deploying, testing, and debugging software on physical robots.
Experience integrating sensors, actuators, embedded controllers, or industrial equipment.
Experience developing modular, reusable, testable, and maintainable software.
Good knowledge of multithreading, concurrency, software design patterns, version control, automated testing, and CI/CD.
Strong analytical, troubleshooting, and cross-functional collaboration skills.
Nice to Have
Experience with AMRs, AGVs, autonomous forklifts, or industrial mobile robots.
Experience with industrial manipulators, collaborative robots, mobile manipulators, or humanoid platforms.
Experience with ROS2 Navigation, MoveIt, ros2_control, BehaviorTree.CPP, Open-RMF, or equivalent frameworks.
Experience with fleet management, traffic management, mission orchestration, and task scheduling.
Experience integrating robotics systems with ERP, WMS, WES, MES, or warehouse control systems.
Knowledge of warehouse operations, production logistics, inventory management, and material flow.
Experience with Mixed-Integer Programming, vehicle routing, graph optimization, trajectory optimization, or Model Predictive Control.
Experience with REST, gRPC, MQTT, OPC UA, DDS, CAN, EtherCAT, or Modbus.
Familiarity with NVIDIA Isaac Sim, Isaac Lab, MuJoCo, Gazebo, Webots, MATLAB, or Simulink.
Experience integrating machine learning or reinforcement learning into robotics applications.
Experience with Docker, Kubernetes, CUDA, embedded Linux, real-time systems, cybersecurity, or high-availability architectures.
Experience deploying and supporting robotic systems in factories, warehouses, or other production environments.
Reporting Structure
Reports directly to the Robotics Software Engineer Lead. Works closely with the Deployment & Scale-up Director, Solution Architecture, Deployment, DevOps, and QA teams to develop, deploy, and continuously improve production robotic systems.
Similar job opportunities
