ROS 2 has become one of the most important technologies for engineers interested in robotics. But beginners often struggle with the same questions: Should I learn ROS 1 first? Do I need a physical robot? Which programming language should I know? And is ROS actually used in production?
We discussed these questions with Shubham Nandi, co-founder and Chief Research Officer at RigBetel Labs, who works on robotics development, training and hiring.
What Is ROS 2?
Despite its name, the Robot Operating System is not a conventional operating system like Linux or Windows. It is a software framework that helps different parts of a robot communicate.
A robot may contain cameras, LiDAR sensors, motor controllers, navigation software and AI models. ROS provides a common communication layer through concepts such as nodes, topics, messages and services.
This allows engineers to build modular robotic systems instead of creating every software component and communication interface from scratch.
Should Beginners Learn ROS 1 Before ROS 2?
No. New learners can start directly with ROS 2.
ROS 1 played an important role in robotics research, but ROS 2 was designed to support more modern requirements, including improved security, real-time communication, distributed systems and commercial deployment.
However, beginners should have at least a basic understanding of Python or C++ before learning ROS 2. Python is generally easier for quickly understanding ROS concepts, while C++ becomes valuable for performance-sensitive robotics applications.
Can You Learn ROS 2 Without a Robot?
Yes. You do not need to purchase expensive hardware to begin learning ROS 2.
Simulation tools such as Gazebo allow engineers to create a virtual robot, connect simulated sensors and test navigation or control algorithms on a computer. The same fundamental ROS concepts can later be applied to physical hardware.
This makes simulation one of the most practical starting points for students and engineers who do not yet have access to a robot.
A beginner can start by:
1. Installing ROS 2 on Ubuntu.
2. Learning nodes, topics, messages and services.
3. Creating basic Python or C++ publisher and subscriber programs.
4. Using Gazebo to simulate a mobile robot.
5. Building a small project involving sensors, movement or navigation.
Start With a Robotics Project
One of Shubham’s most useful recommendations is to avoid learning ROS as a collection of commands. Instead, decide what robot or application you want to build.
Your first project could be:
- A simulated differential-drive robot
- An obstacle-avoiding mobile robot
- A robot that creates a map using SLAM
- A robotic arm controlled through ROS 2
- A camera-based object detection system
- An autonomous navigation project
A project gives every topic a purpose. When something fails, debugging forces you to understand how the software, electronics and mechanical systems interact.
As Shubham explains:
“We built stuff, broke stuff, and that’s how we learned ROS.”
What Skills Do ROS Engineers Need?
Knowing ROS commands alone does not make someone a complete robotics engineer. Robotics combines software, electronics and mechanical engineering.
A strong ROS engineer should gradually develop skills in:
- Python or C++
- Linux and command-line tools
- Git and software version control
- Sensors and embedded systems
- Robot kinematics and control
- Computer vision or navigation
- Debugging interconnected systems
Companies may also evaluate how an engineer approaches an unfamiliar problem rather than simply checking whether an assignment was completed perfectly. Structured thinking and debugging ability are particularly valuable because robot failures can originate in software, electronics or mechanical components.
Is ROS 2 Used in Production Robots?
ROS can be used in production, but the final implementation may not look identical to the ROS environment used during development.
Companies commonly use ROS to accelerate prototyping, integrate sensors and validate robotic functions. For production, they may optimise individual components, introduce proprietary software or replace parts of the communication framework to meet requirements related to performance, reliability, security or certification.
Therefore, learning ROS 2 remains valuable even when a commercial robot does not run an entirely standard ROS installation. It teaches engineers how modern robotic systems are structured and how their different components communicate.
A Simple ROS 2 Learning Roadmap
The most practical roadmap is:

Learn basic Python or C++, then understand ROS 2 communication and Practise in simulation. After that, build one complete project, debug it and finally move to physical hardware
Do not wait until you understand every ROS package before building something. Choose a manageable project, learn the concepts required to complete it and expand your knowledge as new problems appear.
That project-based approach is often the fastest way to move from watching ROS tutorials to actually building robots.