Joining a new development team is a stressful experience. New members need to quickly catch up on project essentials, functionality, get up to speed with backlogs and start communicating with colleagues. It’s overwhelming - but does it necessarily have to be?
The answer is: no if there is a working onboarding strategy in place. According to Squarespace, an onboarded employee is 87% more likely to stay in the company within the first year. On top of that, a smart onboarding strategy in space increases team engagement by more than 20%.
What is a new developer onboarding process?
Developer onboarding contains all crucial aspects of professional orientation: hiring, workplace organization, data management, communication, troubleshooting.
An overview of the onboarding process
The onboarding process starts long before a new member actually joins the team. According to Sapling, a new hire has to complete in average over 50 activities in a full onboarding process. Finishing all these in two weeks would create a huge stress for a new team member.
That’s why it’s imperative to start introducing a hire to the team before the first working day. That is usually called pre-onboarding. The main objective of this process is making sure the company is attractive to potential new hires and creating an effortless recruiting system.
Working on the corporate website
This is where the road of a potential hire begins. It’s a synthesis of your team’s experience, vision, and work approach. So, the goal is to make sure that your page reflects the company’s values and intrigue the candidate to dig deeper.
How to improve the company’s website?
- Review whether you have pages for mission, goals, and company culture overview.
- Provide hires with information on the workplace, including pictures of the office, location, transport route.
- Publish news on the team’s progress and achievements, informing candidates of your efforts in personal development.
- Avoid locating all information in the close proximity. Candidates should be encouraged to take a deeper look at your page.
Make sure your team participates in recruitment
Don’t get us wrong, having a professional recruitment team is still a must. Still, you have to cooperate with HR-department and keep in touch with candidates as well. The team should have insight into a new candidate’s capacity.
- Ask your team members to check the test tasks, performed by your candidates.
- Provide access to CVs of those candidates who were approved by an HR-department.
- Schedule a team meeting or Skype call with a candidate before making a final decision.
- Connect your new developer and the entire team before this new team member officially starts working with you.
Personalize interview sessions
Let’s be honest, questions like ‘Where do you see yourself in five years’ have become a joke a long time ago. Instead of using tried-and-proven templates, focus on encouraging deep conversations and building meaningful connections.
- Share the company’s insights. It’s time to show projects that you are working on if they are not protected by NDA and talk about your code practices.
- Personalization doesn’t equal small talk. In fact, it’s best to cut meaningless questions about weekends or hobbies if you don’t really care.
- Talk in the context of a real-life work situation. You can describe problems that your team already faced and ask a candidate for an opinion (but don’t expect the ‘right’ answer).
- A candidate should be able to ask questions throughout the conversation, not after the main part of the interview. The interview should flow like a natural dialogue rather than being a sequence of monologues.
Solving documentation issues
During their first days, new developers have their hands full reading project specification or taking part in a team meeting. Unfortunately, only a few companies take care to not complicate onboarding with documentation completion.
A typical scenario: a new person arrives at the workplace and receives a notification form an HR or accounting department. It turns out, hiring still needs to be finalized. So, a lengthy list of documents follows.
Now, instead of bonding with colleagues and learning the code practices, the new hire is stuck with a pile of paperwork, and your company just left a terrible impression.
- Complete all necessary documentation in 5-7 days before the start.
- Ask a hire to complete paperwork remotely and provide assistance.
- If you are taking in several new hires, connect them with each other so they can share insights and help each other out.
- Assign a responsible assistant - one of your team members should become a mentor for the new hire.
The best onboarding is the one that is built upon a long-term strategy. Here we present you not with individual tips, applicable to one hire at a time, but frameworks that will lay the foundation of a grounded system.
Record your practices
Analyze your development environment (applied tools, favorite technologies, project management algorithms) and standardize them. The goal is to document your basic frameworks and workflow practices.
Benefits of regular documentation:
- Preserving expertise. Unfortunately, it often happens so that the company’s expertise is being held in the hands of several most experienced team members. If they leave, the precious knowledge is lost for good.
- Educating new candidates. You don't have to personally explain your coding practices to each new member. All you have to do is forward a folder with documentation.
- You define the development practices more clearly. The most popular workflow includes Feature Branch Workflow, GitFlow, and Trunk-Based Development.
Your task is to make sure that new team members have someone whom they can turn to, and who is preferably away from management. Ideally, we’d want to build such a trusting relationship between a team member and management.
However, some people won’t feel comfortable turning to their manager during problematic situations on a regular basis. The feeling of their performance being evaluated jeopardizes honest communication.
On the other hand, assigning a mentor who is an equal team member works much better in terms of honest communication and learning. Make sure, however, that this cooperation is rewarding for both sides. It could be a monetary bonus or permission to use the recruiter's help for urgent tasks.
The mentor’s responsibilities:
- answer questions about your development and testing standards;
- walking through the specifics of current projects;
- making sure the new team member has access to all education materials and guidelines;
- introducing a new developer to other team members.
A mentor should have a similar level of expertise as a new candidate. Having a Junior assigned to Senior, you’ll just have an annoyed experienced engineer and a confused newcomer.
Your new member should be included in each group chat and information channel. It’s best to introduce a new developer to one channel in a day with a clear explanation of its purpose.
After access is distributed, you need to establish a system of communication. Let’s delve into details below:
- Determine the hours of active communication. You want your developers to be on the code, not on Slack notifications. Hence, it’s best to dedicate 2-3 days for team meetings and peer-to-peer messaging.
- Establish a schedule of one-on-one meetings - one hour per week is usually enough.
- Cultivate a reporting culture. To make this as concise and least annoying as possible, determine a clear report structure.
- Shorten feedback loops. All the code should be checked and approved as soon as possible. This way, if there is some criticism, it will be embraced faster since the project is still fresh in the developer’s mind. Hence, verification of the new hires’ code should be a priority.
If pre-onboarding and onboarding are about introducing a new member to the team and workplace, post-onboarding has an objective of keeping progress and ensuring that the employee is satisfied.
Keep onboarding fun
With so many technicalities, it’s easy for a new hire to feel out of place in the company. That’s why it’s the team lead’s responsibility to take the onboarding process out of a purely coding context.
- Go on casual lunches, have team hikes, even do pizza nights. You can offer the activities for discussion or encourage a team to come up with a list on their own.
- Discuss random things. Movies, books, TV shows, comic books; whatever warms your heart.
- Encourage communication with different departments. Invite recruiters, designers, copywriters - they will help you with taking the conversation out of code-related topics. Plus, a newcomer will benefit from seeing the full picture of a company’s business process.
From the very first day, you should set clear benchmarks for a newcomer. Introduce a developer to a team code repository on GitHub and Bitbucket. Make sure everyone has access to each other’s task and progress. In fact, encourage a newcomer to spend some time exploring colleagues’ activity to get a better idea of your team’s workflow.
According to StackOverflow’s research, the majority of developers expect a newcomer to be fully up to speed within three months of work. This means the company needs to create an environment for fast growth.
- Evaluation is transparent. If you criticize new members’ work, be sure to explain the criteria.
- Quality over quantity of code and time spent. Avoid controlling what a developer is doing at the workplace unless the work quality starts lacking. If the value is delivered, you shouldn’t be concerned with the process too much.
- Use automated code quality checking tools. If you have clear numbers to show for your evaluation, it adds credibility, while outsourcing the task to an automated service saves a lot of time.
Integrating remote developers
When you work both with in-house developers and outsourcing professionals, it’s easy to let remote developers out of the loop. It’s crucial, however, that they feel a part of the team and regard your company not just as a source of tasks, but as a community.
Steps for working with remote developers:
- Install virtual-office software, and request your remote team to use the same instruments as your in-house engineers.
- Organize regular calls with an entire team. Additionally, schedule calls with remote team members only where they can catch up to the in-house team and discuss the company's news.
- Host remote meetings on new technologies and practices in virtual rooms. If you have lectures for your in-house team, remote members should be encouraged to participate as well.
Onboarding checklist to integrating remote developers successfully
Now, let’s go over the main points of all crucial onboarding aspects with a full checklist of onboarding preparations.
- Cooperate with HR-professionals.
- Prepare interesting interview questions and encourage a dialogue.
- Have a call with a new developer and your team.
- Prepare legal papers before a software engineer has arrived at the workplace.
- Ask a new member to fill out as many papers as possible remotely, 5-7 days before the start.
- Record your inner practices, write down your workflow specifics, and keep a detailed library on each project.
- Assign a team member of the same rank and similar experience to a newcomer.
- Clarify mentor’s functions beforehand. Typically, these include communication, assistance with understanding code practices, teambuilding.
- Encourage a mentor with additional bonuses.
- Provide a hire with access to all communication and information channel.
- Distribute access to all team’s code repositories.
- Connect a newcomer to one channel at a time.
- Assign a time for active communication so during the rest of the workday a team member can focus on completing tasks.
- Discuss topics that are not related to the professional activities.
- Integrate a new team member into teambuilding activities.
- Help a newcomer to meet people from other departments.
- Establish the practice of one-on-one conversations between team members.
- All developers should share transparent workspaces. For coding tasks, this can be achieved with a shared repository. For non-coding work, use Google Drive, Dropbox, and task management systems.
- Develop clear evaluation criteria, document them, and introduce these requirements to a software engineer before the completion of the first task.
- Use automated tools for code quality evaluation.
Integrating remote developers
- Unify practices for your remote and inhouse-teams: tools, team-building, education;
- Have separate calls for your remote professionals on company's news;
- Keep a personal connection: celebrate their birthdays, give gifts, and discuss interests.
The bottom line
A new developer and a company share the responsibility for the successful integration in an established workflow. This means a new team member should be enthusiastic about learning more about the company’s projects and code standards. The company, on the other hand, has to create a healthy environment for team communication and learning.