Robotics Software Engineer Roadmap 2025! (Get Started in Robotics Today!)
https://www.youtube.com/watch?v=fOvvz72rWJo
What is robotics?
- How to move?
- kinematics
- Navigation
- SLAM
- Computer vision
- motion planning
- Controls
- AI/ML
Step 1. Learning Programming
-
Python
- Free
- Strong support library and structure to aply robotics
- Study data structures
Step 2. Start Robot Project
-
ROS
- "It is a framework advantageous for using the elements of STEP1."
- SIM(GAZEBO, RVIZ) --> real
-
RasberryPi
- Exposure to Linux OS(Easier for Robot Dev)
- Good for Camera Intergration
- Works with ros
-
Git
- Use Open Source Code
- Manage and Version Control your code
- Work on Same Code with Other
Step3. Specialize
-
Linear Algebra
-
Statistics
-
"You can specialize without fully mastering all the math."
-
"First get a gist of the robotics concepts and see where the math shpw up, Then develop high level understanding of the math concepts and dive into the details later"

Step4. Recreate or Develop New Algorithm
- example, moving robot joint --> moving robot joint while avoiding obstacles
- Pre-Written Code --> Self-Written Code
- How to create it?
- "This is where you dive into the math to understand the inner workings of the algorithms"
- easier requirements -> harder requiredments
- "Coming up with these requirements can be chanllenging"
- "So making robots function in various situations can help you come up with these requirements"
Step5. Improve Performance
-
"Set target values and proceed with performance improvements accordingly."
-
How can i store and search my data efficiently? -> DSA(Data structures & Algorithms)
-
How can i have my code run faster? -> C++
-
How can i accelerate with hardware? -> CUDA(Programming Language)
-
"Choosing the most suitable data structure and algorithm will affecet how efficiently your code runs"
-
"Converting Python code to C++ code is important."
-
Using CUDA when using vision algorithms to improve your system
Step6. Software Architecture
- "Instead of making Copies How can you organize your code to adapt to your changes"
- How to support more tasks?
- How to facilitate collaboration with other people?
- How to keep code functioning?
- How to make changes?
- scalability, collaboration, adaptability, Maintainability
Step7 Deploy Code
- "This is where CI/CD comes in continous intergration"
- make sure new code doesn't break old Code
- Supports Automatics testing
- Guarantees Code is Always Ready for Use