The first two posts in this series covered onboarding fundamentals, and this post focuses on techniques and tactics for onboarding scenarios. These techniques are tailored heuristics acquired over a decade of remote mentoring, being in teams and leading teams in a variety of scenarios.
Onboarding Scenarios
The following sections talk about each scenario, applicable strategy and associated challenges.
Onboarding Juniors
Junior folks do not have the requisite knowledge base, experience, and skills to be fully independent. Usually, they join established teams and get paired up with experienced mentors. Sometimes though, everyone is new, and the leader has to develop the appropriate skills acquisition roadmap.
Three suggestions: training, level-appropriate tasks to build expertise, momentum over perfection.
- Training: Well-crafted training and skills acquisition programs are a must and will be the difference between a productive team and otherwise. Training takes a few weeks or months and can’t be accelerated.
- Level-appropriate tasks: Assign level-appropriate tasks with minimal ambiguity. This approach reduces the risk of the team getting frustrated and bogged down while chasing non-productive paths. Furthermore, a short feedback loop maximizes learning and builds enthusiasm – remember the giddy high of seeing your first program run! Ensure there are a lot of level-appropriate tasks for the team to facilitate practice and repetition.
- Momentum over perfection: At the early stages, having newbies focus on volume over perfection exposes them to a wide variety of ancillary tasks (e.g. writing tests, getting familiar with tooling, becoming more efficient etc.). Build muscle memory by having them rinse and repeat until actions become second nature and they are willing to take on more ambiguous challenges. The pottery class story is a favourite analogy that shows how everyday practice leads to familiarity with tooling, ecosystem and practices.
Challenges with onboarding Junior Engineers
- The team will require significant chunks of your time, attention and energy before it becomes autonomous. Free up your calendar and be prepared to spend a lot of time pairing with people, handholding through tricky challenges and answering questions.
- Create enough level-appropriate tasks for the newbies. Each training task should be crystal clear. Ensure that these level-appropriate tasks can be ramped up into more challenging duties so there is a roadmap to independence.
- Be patient: it takes ~6 months for a team to become proficient in a brand new space. Do not try to rush it; otherwise, you might overwhelm the folks and put them under unnecessary pressure.
Main goal: Get the team trained as fast as possible to provide leverage options.
Junior team, new product
While working on a startup idea with friends, we needed to ramp up our team of new hires remotely.
Strategy
New products are usually greenfield which translates into minimal debt – thus there are fewer stumbling blocks. However, since most startups operate in crunch mode; there is tension between dedicating scarce resources to training versus building. The ideal solution minimizes the training burden on the overstretched team while optimizing the skills acquisition process for the newbies.
Techniques for onboarding a junior team to a new product
- Self-directed training offers a way out. For example, you might leverage roadmap.sh to form the right curriculum for the new hires on the team.
- Form support cohorts: This way they form mutually supporting groups and can collaborate on unblocking themselves.
Challenges
- Setting the right expectations for the new hires about culture, roadmap and requirements.
Main goal: Get the team trained as fast as possible.
Junior team, mature product
A big reorg involved sunsetting the current product and merging into a new domain – a rapidly growing product with tons of technical debt. Suddenly, I had the challenge of ramping up the new group while simultaneously delivering impact in the new business domain. To further complicate the challenge, majority of the existing experts were over 8000 kilometers away in another timezone.
Strategy
This scenario is slightly different from the new product since folks have to learn about the technology and ramp up on the existing patterns, debt, and gaps. Unlike new products, mature products usually operate at a less urgent pace and have a mix of maintenance and new feature work. The tension here lies in equipping the newbies with domain-specific skills without slowing down the entire team to a halt.
Ideal solutions here offer a gradual integration of newbies into the system with minimal disruption of team flow.If the existing product has solid engineering practices and excellent documentation, things are more manageable. Otherwise, it gets more challenging.
Techniques for onboarding a junior team on a mature product
- Coaching + Guided training at scale
- Go for spread: You want the team to become independent and build domain expertise quickly. Leverage a skills matrix to identify critical areas and immediately go for spread. Disperse the group across the multiple critical areas (engineering, product etc.) and assign owners. This approach will develop new experts and provide overlapping coverage. Furthermore, the team can cross-fertilize ideas by teaching one another, thereby further accelerating the learning cycle.
- Office hours: Mature products would have some senior engineers who are well-versed in the platform’s intricacies. Pairing up each senior engineer with a new hire can work; however, that approach halves the team’s productivity – all experienced hands are now involved in ramping up new employees. A more scalable system is to have a coterie of skilled engineers handle the onboarding process; this approach ensures the entire organization is not slowed down and maximizes the coaches’ impact. Dedicated office hours help minimize the burden on experts by establishing a time-slot for both the newbies and the coach to dive deeply into issues and minimizing interruptions. Note that these senior engineers will have lower output through the onboarding phase as they help answer questions. Acknowledge their efforts since they are helping the entire organization become better.
- Document as you go: Task each owner with writing documentation (if it doesn’t exist), understanding the space and then teaching the entire team about their learnings. Use the Boy’s scout rule: everyone should leave things better than they found them; thus, new docs get written while stale docs get removed.
- Push fast for real-world experiences:
- Train using real-life challenges: Mature products usually have a backlog of easy tasks that anyone can solve. Search through the existing backlog to find ‘onboard-able’ tasks; ensure each ticket has enough information that clarifies what needs to be done. Share the list with the team and have them run at it. Two benefits:
- The team gets exposed to work and have to ship it through the entire system (from coding to production).
- These fixes make the product better too!
- Train using real-life challenges: Mature products usually have a backlog of easy tasks that anyone can solve. Search through the existing backlog to find ‘onboard-able’ tasks; ensure each ticket has enough information that clarifies what needs to be done. Share the list with the team and have them run at it. Two benefits:
Challenges
- While aiming for spread, ensure the team is not spread too thin. Assign folks to areas they are passionate about and be ready to jump in to help if they are struggling or foundering with the difficulties involved.
- The onboarding coaches must be fully dedicated and acknowledged. They will get interrupted often and might not even have time for anytime else, so make sure their contributions are recognized and rewarded.
- The onboarding period should be well-defined and have a clear exit. If office hours run daily for longer than three months, revisit the team’s situation to understand the latent issues.
Main goal: Get the team to become proficient in the domain quickly.
Senior team, new product
The team had to build a brand new product from scratch. The challenge involved an exciting mix of new technologies and promised to offer good challenges for the team. The new stack motivated the team; the challenge was finding the right plan, getting buy-in and executing successfully.
Strategy
- Exploratory spikes: It will be a new area, so you would need to do some deep exploratory dives. However, the good news is that a senior team can independently drive such analysis. Ensure that these spikes are timeboxed and have clear exit criteria.
- Staying the course: Do not flip-flop once the team aligns on a decision. At least, see things through. The expensive whiplash of arbitrary pivots on the team will be significant. If it continues, it can breed distrust.
- Overcommunicate the strategy and vision: Ensure that everyone understands what the north star is, why it is important and how their efforts align to the desired outcome.
- Favour Rapid learning iterations: Do things that compound: mob programming, pair programming, team training etc.
Challenges
- Dealing with Volatility, Uncertainty, and ambiguity: some of the experiments might fail, teams might get reorged, and org strategy might get rejigged. That might lead to some turbulence and exciting reactions on the journey.
- Team Jelling: Seniors, being more mature and veterans of many failed projects, might be cynical, ask tough questions or challenge the status quo. There is nothing inherently wrong with being challenged; instead, leverage their expertise to drive clarity and better plans/goals.
- Getting overstretched: Do not overstretch the team by trying out several things at once.
Main goal: Align the team on the vision and allow them to unleash their creativity and experience. Trust the team to run the show!
Senior team, mature product
Yet another reorg and having to ramp up quickly in a new space. Although the new hires were mainly seniors, the challenge was paying down the product, technical and cultural debt.
Strategy
- Strategic overview: Know where the team would be in one year. What are the biggest challenges in the space, what are the leverage points and what tactics can be applied. Include your seniors in the brainstorming sessions – leverage their experience, creativity and diverse perspectives.
- Generate Alignment: A clear vision aligns the team towards the product goals. Identify exciting projects that are challenging enough and intrigue the team. Ideally, each chunk is sufficient to facilitate independent learning while simultaneously contributing to the larger strategic goal.
- Clear workstreams: Establish workstreams as fast as possible; just as coaches spend inordinate amounts of time figuring out the right team selection, use the first few weeks to try out workstream pairings. Set up trials to identify the right groups consisting of engineers with complementary capabilities. Thereafter, start matching these groups to appropriate tailored projects.
- Delegate more: You want to delegate more decisions to the team since they are seniors. This implies trusting the team and leads to more ownership. Furthermore, the more you empower the team, the better the outcomes eventually become.
Challenges
- Generating Alignment: A misaligned team will expend a lot of energy but have few outcomes. Over time, this can lead to feelings of frustration (we are not making progress conversations). Invest heavily in aligning the team and efforts towards the strategic goals.
Main goal: Get the team to understand the big picture, build autonomy and align workstreams by starting on big strategic bets as fast as possible.
Conclusion
This post identifies onboarding scenarios for teams and offers suggestions for tailoring efforts for each scenario.
Frequently Asked Questions
- How long does it take to get a team to jell?
- It takes about 6 months to a year for a new team to jell fully. I used to be naive and optimistic however after multiple repeat onboarding, my expectations are now much relaxed.
- Set clear expectations with leadership and the team about the onboarding journey.
- Never stop believing and striving to improve.
- What can I do to accelerate team jell?
- Hold an introductory team meeting as soon as everyone has joined – at this meeting, everyone should introduce themselves and shared an interesting tidbit about themselves.
- Establish team practices to facilitate interactions as fast as possible. These include well-run stand-ups, retrospectives and sprint planning exercises.
- Hold regular team meetings (I do mine on a quarterly cadence to discuss culture, team issues and emerging themes).
- Note: This is a bit more challenging while everyone is remote. However, that is more reason to have these syncs.
- How can I hold the team accountable for delegated tasks?
- Communicate expectations very clearly: This way the team knows what needs to be done and how success will be measured.
- Focus on outcomes over outputs: This allows the team to have some autonomy over how the project will be done. Furthermore, it helps with defining crisp goals.
- Coach the team through the process.
- Mistakes will inevitably happen in some cases: use these as learning opportunities!
Thanks to David Golden for reviewing the drafts of this and offering feedback.
Related
- Lessons Learned from rapidly ramping up 3 teams in a year: Part I
- How to rapidly onboard new teams: Part II
- How to successfully ramp up remote teams