Training new developers can be time-consuming and take a toll on team productivity, especially with the switch to remote and hybrid work environments. Is there a way to make that process more efficient?
Experienced tech leaders have discovered some effective and practical ways to get junior developers up to speed fast, even while working remotely. Below, they offer tips for helping new developers learn the ropes and make a strong team contribution in relatively short order.
Focus on Essential Ingredients for Effective Onboarding
Becoming familiar with the product, professional expectations, cultural norms and the organization’s processes and tools for developing software is critical for boosting confidence and proficiency levels in new developers, explained Kristen Buchanan, founder and CEO of Edify.
Newcomers may not feel comfortable asking questions (or even know what questions to ask), she pointed out. To speed up the assimilation process, managers need a strategic onboarding plan that integrates training, coaching and education on the aforementioned topics into a new developer’s daily routine for the first four weeks.
“However, don’t inundate a new hire with information,” Buchanan warned. A comprehensive onboarding checklist may contain 300 points, so prioritize and apportion the information out into bite-sized pieces. Plan on providing continuing training on technical and soft skills throughout the first year of employment, with formal check-ins at 30, 60, 90 days, six and 12 months.
Determine Individual Baselines
Making assumptions about what a new developer knows can limit what they can accomplish and hinder their contributions to the team. That’s why senior software developer Joe Erickson starts by assessing a new hire’s baseline skills and strengths.
“I really want to understand where they are at,” he said.
For example, new developers coming from boot camps may be stronger in different programming languages and frameworks than a new grad with a four-year degree in computer science.
Erickson assigns new hires tasks that are well within their competence and aptitude. He also provides step-by-step instructions and context to help a junior developer see the big picture and how their work fits into the scope of the project. This approach allows new developers to contribute right away and work more independently.
Document Critical Information and Workflows
To provide new developers with the tools they need to be effective, each team should establish and document the preferable workflow procedures and framework for their projects such as GitFlow or Feature Branch Workflow. Also, encourage self-service learning by creating a centralized repository for user guides, software tutorials, org charts and how-tos for solving common bugs, using the codebase, creating documentation, and so on.
The sooner you integrate a new developer into a standardized workflow and development process, the more productive they’ll be.
Support Continuous Learning Among Your Team
Encourage continuous learning and knowledge sharing among team members with supportive behaviors. For example, reiterate the objective and goals of the project, as well as the tools, practices and skills needed to execute during project status meetings.
Keep education in the forefront by turning every team meeting and interaction into a learning opportunity. For example, encourage a new hire to bring their training checklist to daily stand-ups. You never know when an item on the checklist may spark spontaneous learning and knowledge exchanges with teammates.
Another way to promote growth is by engaging in peer code reviews. Perhaps most importantly, adopting a team-based strategy avoids isolating junior developers and puts everyone on equal footing.
Engage in Paired Programming and Test-Driven Development
Once you’ve identified a new developer’s training needs and the tasks you want them to work on, establish regular times for pair programming each week and the ideal training partner for each task. To make the most of these sessions, be sure to follow best practices such as alternating between the driver and the navigator.
Another best practice that new developers should master is test driven development (TDD).
Specifically, TDD fosters prompt feedback, continuous improvement, stronger code, and will give a junior developer more discipline and confidence.
Give Them a Buddy
Everyone needs someone to guide them through onboarding and to share the unspoken code and behaviors woven into the fabric of the engineering team and organization.
Be sure to apportion some of the buddy’s time to mentoring so they can help a new developer connect and become comfortable navigating through gray zones, Slack Buchanan advised. A “gray zone” could be virtually anything, including product-specific bugs or navigating the communication nuances between teams.
Ideally, a junior developer and their buddy will meet daily during the first six months.
Have Realistic Expectations and Respect
Be realistic about the expectations you have for a new developer. What we’ve learned from the “Great Resignation” is that tech resignations have increased by 4.5 percent over the previous year, largely due to increased workloads and burnout.
Once a new developer is trained, it’s easy for them to get another job, especially when they work remotely, Buchanan noted. Give them time to acclimate and treat them with respect, or you will be in danger of losing them before they have a chance to contribute much.