All new developers joining my team start coding on day one, and complete the first set of tasks/commit code on day two.

I found that the most effective way of getting new team members up to speed and productive is by getting them to code right away. I start by assigning a set of simple bug fixes and tiny enhancements. The tasks are selected to touch various parts of the code base.

The advantages of this approach are:

  • Coding tasks provide a clear focus and beat other methods of getting up to speed such as reading documentation and browsing through the code base.
  • Keeping them simple provides a set of quick to achieve goals and the resultant sense of accomplishment is a powerful motivator.
  • Careful selection of tasks provides a good exposure to the breadth of the code base.
  • We start getting business value on day two.
  • Keeping the tasks small minimizes risks.

We use a bi-weekly, scrum based, agile process (see Our Development Process). Throughout the developer’s first full sprint I gradually increase complexity of the tasks. At the beginning of their second full sprint, they are ready to start selecting work on par with the other team members.

The approach is very effective and sets the tone for a high performance team culture.

What is your method for on-boarding of the new team members?