Turnover is inevitable. Every team on a long term project will eventually be faced with the daunting task of integrating new team members into their existing team. Developers leave for a variety of reasons and management is left with the unenviable task of hiring new developers. The hiring process can be long and grueling. It’s not unusual to go through a hundred resumes to fill a single position. Once the dust has settled and you’ve selected a new developer to join the team, the real work begins.
Hiring is tough, but integrating a new developer into an existing team is tougher. Here are some of my tips for successfully integrating a new developer into the team.
Tip 1: Allow Existing Developers to Participate in the Hiring Process
During the hiring process, make sure the existing developers feel like they have a say in who their new teammates will be. When you have a team of top-notch developers, the last thing they want is someone coming in and upsetting the apple-cart. I’m not saying they don’t want new fresh ideas, but they do want someone to come in and be respectful of all the hard work that has happened before they arrived. The more involved your current team during the screening and interviewing process, the more they will accept the new hire into the team.
Tip 2: Be Clear About the New Developers Role
Make sure the new developer has a clear understanding of their role on the team. If they were hired to “Shake Things Up”, then be clear about the meaning of “Shake Things Up”. If they were hired to continue development of existing code, then let them know that the expectation is to continue development using the preexisting process and patterns. Set boundries.
Tip 3: Prepare Your Existing Team
Have open and frank discussions with the existing developers so they have a clear understanding of the new developer’s role on the team. From day one they should fully understand your expectations. How can you expect your existing developers to fully integrate the new developer into the team, if they have no idea what the expectations are? If the new developer was hired to bring new ideas into the team, make sure that the existing developers are open to new ideas.
Tip 4: Don’t Expect Too Much Too Soon
Give the new developer time to learn the code. Every new developer comes in energized with lots of new ideas. Unfortunately new ideas and no knowledge of the reality of the existing code base is an explosive mixture. If the new developer is checking in changes to the code too soon, you will likely have lots of changes that will have to backed out and a lot of pissed off developers that will have to clean up the mess.
Tip 5: Sink or Swim
Assign the new developer a mentor. It doesn’t matter how senior the new developer is, every developer will need a guide to navigate the development processes and the architecture of the applications. No new developer should be left to flounder for days on end without someone looking out for them.
Tip 6: Social Integration
If possible integrate the new developer into the social structure of the team. I don’t mean force the new guy to go to lunch or go to happy hour after work. Make the new guy feel like part of the team. Make the new guy feel welcome to join you at lunch or happy hour, but if the new guy doesn’t wish to participate, respect that. Remember that the new guy is under stress with starting a new job and may be making major adjustments in work schedule and commuting. He may just want to go home after work and spend time with his family.
Tip 7: Last But Not Least
Above all be patient. It takes time for new developers to be able to effectively contribute to a new project. Remember that they don’t understand the system the way you do.
Following the above tips will not solve all the challenges associated with integrating a new team member, but it’s a start.