ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

How long for experienced programmer to gear up on ROS?

asked 2019-01-20 18:50:50 -0500

Drew gravatar image

(warning - this question will be a bit vague & unprecise!) I would love to get your input on how long it would take an semi-experienced programmer who works in other languages, but is not familiar with Python, Linux or ROS, to gear up on ROS and become proficient enough to work with a medium complexity robot project (navigates to points, waits for some signals, moves on, etc)? The background is this: we are operating a robot in ROS, that a contractor coded, and need to bring a full-time person on. We are wondering if they NEED to KNOW ROS/Linux or how much we should prioritize that. Thanks so much for your feedback.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2019-01-20 20:44:29 -0500

ahendrix gravatar image

When I've hired new developers into existing robotics projects, I focus on the following skills:

  • Strong familiarity with Linux (it takes longer to come up to speed on Linux than ROS)
  • Proficiency with Python or C++ (I tend to prefer C++ developers who know a scripting language; Python is pretty easy to learn if you already know something else)
  • Familiarity with CMake (A decent part of the complexity in robotic systems is dependency management, and ROS uses CMake for build and dependency management)
  • General ability to read code and understand complex systems. Generally I look for developers who have previous experience with complex systems (could be databases, server management, robots, aerospace, etc), and with experience taking over a large project, but I find this hard to evaluate in an interview.

I DON'T focus on experience with ROS. A good developer who has the above skills can learn ROS relatively quickly.

Generally, I've had developers go through the ROS tutorials and play around with our system in their first week, and by the second week they're making small changes, and by the end of the first month or two they're pretty much up to speed and can attempt big changes (with some oversight).

If you contractor can supervise while the new hire is coming up to speed, I suspect things will go pretty smoothly. If they won't be around, expect things to take longer with more bumps in the road.

Oh, and buy a book or two on ROS for your new hire, and give them time to read it. Many of the books go into far more detail than the online tutorials.

edit flag offensive delete link more



Are there any books you specifically recommend?

Isha Dijcks gravatar image Isha Dijcks  ( 2019-01-21 02:41:51 -0500 )edit

Thanks for such a great response, @ahendrix! I did a brief search on CMake, and the purpose seems to be all about compiler independent and able to manage complex directories & cross-platform, but not totally sure on that. What are common other projects/items created with CMake?

Drew gravatar image Drew  ( 2019-01-21 05:55:18 -0500 )edit

QT projects use CMake pretty heavily, but so do a lot of smaller C++ projects. I learned ROS before most of the books were published, so I don't have any specific book recommendations.

ahendrix gravatar image ahendrix  ( 2019-01-21 13:13:20 -0500 )edit

Question Tools



Asked: 2019-01-20 18:50:50 -0500

Seen: 872 times

Last updated: Jan 20 '19