We have some new developers starting in August and swapping around some roles. We encourage multiple members of the team to work on each task project so it isn’t usually a hard task for the other members to pick up the slack.
Although the our current members can take up the slack whilst bringing the new team members up to speed the less time it takes to do this the better. So recently we have been looking at the quickest, and best ways to teach and bring up to speed new members on over a decades work and development.
Based of past experience I have found the following 4 steps to bring a newbie up to speed.
1. Go other it again.
If you are not completely sure about the code you are showing to the newbie and keep correcting yourself you will likely cause confusion. If you spend some time going over your project again, making clear notes on the structure and documenting how the code works the transition for the newbie in to the project will be alot smoother.
Having improved the understanding and running through the notes you will not only give the newbie atleast a base understanding of the project but you will hopefully of written some handy notes that they can take away with them to referre to in the future.
2. Help with a rewrite.
The notes and documents you produce to hand over to the newbie are a great starting point but many people think in different way. Let the newbie rewrite the documents, make additions and form something that will make more sense to them. This should be encourage as rewritting the notes and documents means the newbie should think about it the notes will remain in their mind alot clearer in their own words.
While going through the code you should also encourage the newbie to comment your code and modify your comments to make sure they understand the code better when they come back to it as it will be written more naturally for them.
3. Referrence your sources.
The more time you spend on a project the more sources of information you begin to find and use. When bringing someone else into a project let them know what sources you use. This will save the newbie going through the all the searching you had to to find them. This should also hopefully help to perform as effectively as any other member of the team sooner.
4. Strength in numbers.
When the newbie is going to join the team make sure that the newbie and another team members have time to work together so they can see how someone in the team works. This will show them how other members of the team operate and the procedures the team works through in order to continue development and hunt down issues.
So what advice would you give to bring a newbie up to speed on your projects.