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

Revision history [back]

click to hide/show revision 1
initial version

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.