Having new team members join a project is an exciting time, but it can often be difficult. Projects can have a huge variety of things to learn: new technologies, application architecture patterns, business models, etc., so it’s good to find a balance between ramping them up quickly and overwhelming them.
To ensure the success of new people on a project, teams should allow them to explore the project’s domain space at their own pace. As someone who has introduced quite a few developers into a long-running project, I’ve discovered a few things to keep in mind.
Help Them Ask the Right Questions
New team members can have all of the project’s domain knowledge at their disposal if they ask the right questions. Knowing what to ask and whom to ask are the key skills here.
While ramping in someone new, I often make the mistake of sharing way too much information at once. This approach is often referred to as the “firehose,” and it can be overwhelming. Eventually, the new person might absorb enough to navigate the project, but it’s not an efficient way of learning.
Instead of focusing on what information a new teammate may need to know, expose them to the kinds of questions they should be asking. For example, if you are pairing with someone new on a feature, make sure to ask them how they think you should proceed. It might be slow at first, but actively engaging them in the project will help them understand what there is to know, which will help them form good questions to ask you later.
Ignore the Historical Context
Focus on information that is relevant right now. Projects have tons of depth to them, with many technical and business decisions driving the current implementation. But for someone new, most of that doesn’t really matter. With so much to learn on a new project, you have to limit what to share with new team members. Don’t worry about explaining the past until they’re up to speed with what’s going on now.
I find myself fascinated by the history of how a project’s architecture came to be, and this information is important for the project’s continued success. However, new team members don’t need this level of detail in the first few weeks (or months). They need to know how to be effective in the short term, and later, they can slowly uncover the deep reasons behind certain technical decisions.
Be Consistently Positive
Ramping into a new project can be stressful; make sure everyone is still having a good time. Keeping up good spirits and high energy will foster a more effective learning environment.
New team members are probably getting exposed to new technology and learning about a new business domain. Their hard work deserves some praise, so make sure they know you appreciate their efforts.
Some features are harder than others. Make sure you have tasks that are manageable for someone new on the project. Getting some easy, early wins can help new team members feel like they are contributing to the project.
What steps do you take to ramp in your new team members?