views:

139

answers:

4

You are hiring. Some person passed interview and answered most of your questions. But imagine your project is a complicated one. Is there a way to make sure person will handle it? What can I do to help one to get into the project and start to contribute asap? What are your steps to get into the code quickly?

+1  A: 

You have the new person do pair programming with someone else. That way the contribute from the first second with general comments on how the code is written and gets to learn your complicated application together with somebody else.

Cellfish
+7  A: 

Pair programming is your best bet to get someone up to speed quickly. Give them a clear place to go for questions ... I recommend a mentor.

UML documentation and a project wiki will serve as a great place for the new guy to go for the big picture.

We use a "Getting Started" guide and it has been invaluable in getting our new guys up to speed. In fact, they've thanked me for it. It is a really high signal-to-noise ratio and is only five pages long. We've boiled it down to its essence.

Rap
Definitely. They need somebody to go that has inside knowledge of the current code and can explain things well.
Sneakyness
Mentorship! I would love to see more shops using this on purpose with a mission to develop their staff including the mentors.
klabranche
A: 

Give them something specific and self-contained to do: a bug-fix, a new software component, and/or a new feature, to implement alone and/or with someone else; don't ask them to learn the whole project before they start.

ChrisW
A: 

My suggested approach:

  1. Let them know the environment - What tools are commonly used and what methodologies so this isn't a complete surprise. If there is the need to learn about something this provides an opportunity to do that. Make sure that however the new person's PC setup is that it is done before they come as I have had a couple of times where I couldn't get to work because I had to wait for my machine!

  2. Let them know at where the project is and the rest of the team should know of the newbie. Who are the key players and how does the general work day go. Maybe the new person knows how to handle this phase better than others or has their own ideas of how to get to work quickly where the key is to find that bite-sized work which can be pairing with an existing developer to help build the code so that someone knows what has been done and someone has fresh eyes for looking at things. Are you gathering requirements, currently writing code, designing architecture, fixing bugs, or at some other state for the project?

  3. Possibly schedule some lunch for the whole team. I wouldn't force this but it can be a useful tool to help get the new guy introduced to the rest of the team and give the team a bit of a boost in terms of feeling some love from management on getting a lunch.

I know from past experience that sometimes one can get in quickly if there is something for a new person to pick up and that not having lived the project can provide fresh insight can be nice. I came in once and was writing tests and doing QA as that is where the project needed some extra hands so I contributed that way. In other cases there can be documents to read to help get someone up to speed.

JB King