Developer Onboarding Checklist: Get to Know the Unknown
Tags: webdev
Published: 2022-02-28 08:20:51

Congratulations on having a new developer! The first working day with a lot of emotions and doubts about him. Long search behind and hope for future successful work together for you. 

Talented specialists are the main resource of any IT company. 

A decent salary is not enough to retain and motivate top specialists. A developer should feel comfortable in all aspects. The absence of this comfort and understanding of own place in the team often results in inefficient work or even worse – leaving the company and going to competitors.

You need an elaborate adaptation process in order to gain the credibility of a new employee and make him a part of the team without stress.

## What is developer onboarding
Developer onboarding – is a process of familiarization of a new employee with a new job and environment: what tasks are to be solved, who is sitting at the next desk, what working processes are like, and where a coffee machine is at last. 

From the first glance, everything can be covered within the first day on the job. But it is not so easy. Successful developer onboarding requires a deep and individual approach. Ideally, this should be a clear algorithm starting before the first working day and lasting within the first three months of work.

---

## Why developer onboarding is important
Data from [Aberdeen Group](https://static1.squarespace.com/static/51c9e574e4b0bf9a1f48726f/t/57c098dbe3df28b64a4b8f79/1472241716593/Why+Onboarding+That+New+Hire+Will+Increase.pdf) states that 70% of new workers decide whether to stay or leave the company within the first six months on the job. 

Some employers don’t pay enough attention to new workers and get into a neverending cycle of hiring and firing people. Costs increase while efficiency drops.

![Newcomers need your support](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1bzgalxhyan0jqg8ghoi.png)
<figcaption>Newcomers need your support</figcaption>

A streamlined adaptation process helps to avoid these issues. An employee makes fewer mistakes, starts feeling like a part of the team soon, and becomes confident. It reduces stress and facilitates faster work commitment. And a committed worker – is a motivated worker. As the result, a person works better and most likely plans to stay for a linger while. 

## What stands behind developer onboarding
It is not enough to show a newcomer his work desk and introduce this person to the team. Onboarding includes a set of aspects:

- Preparation of the required documents;
- Setup of tools for work and communication;
- Involvement in work processes;
- Familiarization with corporate culture;
- Establishing communication within the team;
- Organization of education;
- The motivation of an employee.

In this article, we will only focus on the involvement of a developer in the working processes and the team. This is the foundation of developer onboarding without which other aspects will not make much sense. 

All the above-mentioned processes are quite time-consuming. Let’s sequentially study them from the moment of inviting a developer till the end of the first three months of work. 

---

## Days before a developer goes to work (pre-onboarding) 
So you found a required developer and shook hands. The process of his adaptation starts from this very moment. No need to wait until the first working day since this period can last up to several weeks. Make good use of this time and start pre-onboarding.

Pre-onboarding unites solutions of organizational moments and primary familiarization with the company.

### Send a welcome letter
Greet the new team member, confirm the date of the first working day, describe what awaits him in the nearest future, make an appointment before starting work. Attach an agreement so that a person has enough time to study it before signing.

If there is plenty of time before the first working day send additional emails once every 5-7 days. These can contain photos of the future workspace, a welcome message from the team lead, etc. 

### Arrange a personal meeting
Agenda can contain several action items:

- Sign all the necessary documents. This will help to avoid bureaucracy when meeting the team and diving into work;
- Answer the questions of a newcomer or explain yourself about the nuances a person can face;
- Take an office tour. A new person can take a look at the working environment in a relaxed atmosphere and will have a clear picture of where he is going on the first working day;
- Choose a mentor and make an introduction. From now on a developer will personally know someone from the team and will be able to ask this person for assistance;
- Provide access to the building. Prepare everything a person might need to get free access to the territory of the company: keys, keycard, parking permit, etc. 

### Add an employee to chats and project management system
On the first working day, a developer will simply open all the necessary software and (Slack, GitHub, Trello) and will not spend time on the authorization. It is also reasonable to create a corporate email address in advance. 

### Send an email to prepare for the first day on the job
Usually, such letters contain applied information: the beginning of the working day, route to the office, parking slot, time of the welcome meeting, dress code, snacks/beverages offered by the company, etc. You can also list the perks and discounts for employees here (gym membership, promo codes to order food, etc.). 

![Write about everything you find awkward to ask an employee in person](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jhjba9ulibq98l0yj2wl.png)
<figcaption>Write about everything you find awkward to ask an employee in person</figcaption>

Do not underestimate the pre-onboarding phase. It helps to settle bureaucratic moments and takes a lot of questions and concerns off the table for a newcomer. This will certainly cultivate the loyalty of a new employee.

---

## Developer onboarding: day one
Day Х has come – your new worker opens the office door. Onboarding starts from this moment. 

Several people are responsible for the coordination of adaptation:

- HR – responsible for socialization, familiarization with corporate culture, organizational moments;
- Team lead – sets personal goals for a newcomer and observes involvement into the project and the team;
- Mentor – supervises the technical part: introduces workflows, assigns project tasks, reviews the code.

On average every new worker passes through 50 adaptation processes. The simultaneous start of all of them is a big mistake. There is a high risk of overwhelming a newcomer with too much information and instead of assistance in adaptation to a new context a person will get even more confused.

On the first day focus on getting acquainted with the team, setting up the workplace, working with a mentor, a welcome meeting, and nice bonuses for a new employee. Let’s talk about each stage separately.

### Getting acquainted with the team
Most likely when you ask your friend why he likes his job one of the first reasons sounds like “great team atmosphere”. After all, groundworks are done from the first day:

**Introduce the members of your team.** Define the areas of responsibility for each worker (if they exist) so that a newcomer has a clear understanding of whom he can address with certain questions. Do not overcomplicate things, present everything in a simple and clear way. 

**Ask a new team member to make a brief self-introduction.** This shouldn’t necessarily be done in front of the whole department, a short email or a message in the group chat should be good enough.

![It is important for teammates to know the human side of their colleagues](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pcx88msvro0bccx5d9tw.png)
<figcaption>It is important for teammates to know the human side of their colleagues</figcaption>

**Invite a new person to join a daily meeting.** This is a good way to start getting familiarized with the course of work, achievements and issues faced. It will also give an understanding of communication habits in the team (if jokes are acceptable for instance). 

**Schedule lunch for the whole team.** Communication in a relaxed atmosphere will reduce the stress of meeting new people and additionally such a format allows discussing topics not related to work.

### Working place setup
In case you haven’t provided all the access and credentials, created email and accounts before the first working day, this part might take some time. The main thing you should do is to tell how you work with software and which chats are used for work and which for communication. 

Fundamental rule: everything should be set up beforehand so that a new worker could simply turn on the computer and start working.

### Work with mentor
Working with a mentor  – is one of the pillars of developer onboarding. However, even if you have a tight-knit team and a motivated newcomer it doesn’t mean that mentorship will go smoothly. Therefore, pay extra attention when choosing a mentor.

The mentor shouldn’t necessarily be the most experienced developer. You should let less savvy team members try themselves in this role. They will appreciate the company’s trust and will be happy to demonstrate their competence. 

![Much to learn you still have](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gphyjk6lj38fpbonqapt.png)
<figcaption>Much to learn you still have</figcaption>

Working with a mentor is multifaceted, we will talk about this down the road. On the first day a mentor should:

- Introduce a new person to the team (is team lead hasn’t done it so far);
- Tell about the daily routine and week schedule;
- Tell me about the first project. Share project goals, current stage, and the tasks to be assigned to a newcomer. - Don’t go into details at this stage as you will have plenty of time for this. If there is no specific project at the moment simply describe the approximate tasks a person will work with;
- Answer questions a developer might have. 

The worst thing a mentor can do on the first day is to leave a newcomer alone with all these aspects. Even experienced workers need assistance in the beginning since every company has its own rules and standards to follow.

### Welcome meeting
A welcome meeting traditionally is a one-to-one meeting with a team lead. Schedule it for the second half of the day to let an employee get accustomed to the new environment and accrue some questions. 

Key moments to announce during a welcome meeting:

- Share the goals of your company and the department, forecasted growth, bonus and stimulation system, cultural code of the company. All this should motivate and encourage;
- Tell about your expectations from a developer’s work in a simple and clear way;
- Tell about the personnel management processes: who to address regarding sick leave, vacation, etc.;
- Explain how often you are going to have one-to-one meetings and what is their purpose;
- Answer questions of a new employee.

### Nice bonuses
Let your new worker remember his first day on the job. When the formal part is over, make a small surprise and present a welcome gift with branded company things. It can contain a bag, water bottle, T-shirt, notepad, stickers, etc. 

![A gift will become a great end of the first working day](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xwxgy44hnj6bz585v6ac.png)
<figcaption>A gift will become a great end of the first working day</figcaption>

Try to personalize a gift based on the interests of a person (if you know about them).

---

## Developer onboarding: week one
The first working week is usually rich in events. A new project, meetings with the team, intense work with the mentor … Hold it, let’s discuss everything step by step. 

### Familiarization with work processes
One of the primary goals of onboarding is to help a developer to cope with his work well. To do this a person should know all the details of the work processes. Usually, a mentor is the one to help.

Things to do:

- Suggest a new person study your internal documentation, for instance, corporate SOP – a set of algorithms applied to do certain actions. The newcomer should know what development tools are used (Visual Studio, Xcode), how code is checked, how typical tasks are solved, etc;
- Create clear code check criteria and let a newcomer familiarize with them before fulfilling the first task;
- Show the order code repository. Let a new employee start to explore the codebase and understand the internal coding rules.

### The first practical activity
It’s time to do some practical things! It is important for a developer to start taking part in day to day work of the team. Start from simple tasks, like fixing bugs for instance (in case of junior or middle seniority level of the developer).

![Bug-fixing will let the developer gradually jump into work](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fv69yp30o7tqkuf1i3g9.png)
<figcaption>Bug-fixing will let the developer gradually jump into work</figcaption>

On a regular basis, the mentor should talk to the developer and give feedback on the accomplished assignments.

### Work with mentor
In addition to the curation of the new employee in terms of development, there are more onboarding nuances worth remembering.  

- Schedule daily meetings at the end of the working day. Focus on the written code in detail, answer the questions, provide instructions and advice. It is important for meetings to happen in a friendly environment; 
- Create an adaptation plan for the month ahead. Specify the educational materials a person should study and what tasks are to be accomplished. Make sure to set milestones and KPIs to track progress;
- Involve a new person in team meetings. 

### Summing up the first week
The first week – is an important milestone. The new employee has concentrated first impressions and emotions from his work, and in addition to this, he has a fresh look at the established processes in the company. Therefore it is important to have a one-to-one meeting between a new employee and a team lead at the end of the first week. 

Chat about the first impressions of work, learn about successes and problems faced, set goals for the nearest future. Ask a person if he is comfortable working with a mentor. Be sure to praise the new developer since this meeting should be a positive moment during an intense working week.

---

## Developer onboarding: the first month
Usually, the first month of the new job is quite intense but interesting: various tasks, communication with colleagues, new knowledge. Onboarding should support the newcomer’s interest but should not be overwhelming. 

### Pair Programming
Close work with mentor continues. It is time to add pair programming to this game. A mentor and a mentee write the code together sitting at the same computer. Pair programming sessions facilitate getting used to workflows, development tools, and help to avoid unnecessary questions. 

There are different styles of pair programming and the choice depends on the level of your new colleague:

**Driver-Navigator** – one person works at the keyboard, the second one observes, shares his opinion, provides directions. This style proves to be effective when roles are traded continuously. It works well both for novice-expert and expert-expert scenarios. 

![Pair programming increases the novice’s knowledge and builds trust in colleagues](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bohgauc4fxnnesyebhb2.png)
<figcaption>Pair programming increases the novice's knowledge and builds trust in colleagues</figcaption>

**Tour Guide** – a developer writes code and explains everything he’s doing. The style works best with a trainee or a junior developer.

**Ping-Pong Pairing** – development through testing. Most ofter this style is used by experts.

**Pair programming with strong interdependence.** In this style, the navigator is always an experienced developer and the novice is the driver. The main idea here is that the driver fully trusts the navigator even if he doesn’t fully understand the code he is writing. All questions can be asked at the end of the session. The style is ideal for juniors and novices in a certain technology. 

Usually, it is a mentor who runs the pair programming sessions with newcomers, however, other developers from the team can be involved to lead this process. Refer to the article [On Pair Programming](https://martinfowler.com/articles/on-pair-programming.html) to learn more about pair programming, the styles, and usage.

### Moving on 
We have touched on many elements of developer onboarding in the previous sections. During the first month, regularly continue to:

- Hold review meetings with mentor 1-2 times a week. Evaluate progress based on the tasks accomplished, discuss the written code, ask questions to each other;
- Summarize the previously planned milestones;
- Arrange meetings with the team lead once a month;
- Bring a new employee into group discussions. If necessary, ask to prepare for the meeting in advance to better present their ideas, comments, optional ways to solve the problem, etc.

### Performance assessment and the course of developer onboarding 
Schedule a big meeting with the developer at the end of the first month. Traditionally, the team-lead hosts this meeting. The main goal – is to provide feedback about the progress of a new employee. The person should be able to take a detached view of his progress and understand what to aim at.

Tell what you expect from an employee within the next stages. Allocate time for the developer’s feedback about all the work steps and collaboration with the team. Prior to the meeting think about questions you need to get answers from your new colleague.

---

## Developer onboarding: first three months
The onboarding phase ends approximately three months after hiring a new person. Usually, it coincides with the length of the trial period. These 90 days should be used to decide if an employee is a good match for an employee and vice versa. Therefore, it is important to maximally encourage and motivate the developer so that he wants to stay in the team.

### Working with motivation
The first three months are just the beginning of work with motivation, and the main aspects include

**Learning and ability to apply gained knowledge.** Organize training and master classes with gurus of programming. Support applying new knowledge on the project, let the developer fulfill himself;

**Well-knit team.** For many people atmosphere in the team is one of the key motivating factors;

**Ability to realize one’s ideas.** It is important to hear the thoughts of the developer and bring them to life. This helps to make a person feel important on the project;

**Demonstrate that there is something more than just code.** Remind about the global goals of the project, why it is needed, whom it will help, and what problems it will help to solve. 

**Manage processes, not people.** Don’t constantly tell developers what to do. It is better to delegate a task, give them some time, tools, and step back.

### Colleagues’ feedback
For three months colleagues had enough time to form their opinion about the new teammate and it’s time to get their feedback. You can ask them personally. Or you can unify the process and send a questionnaire to colleagues who communicated with the new developer. If needed you can make it anonymous if you consider this necessary. 

Learn from your colleagues how a new person joined the team, whether communication with this person is comfortable, about strong and weak sides, how easy is this person to deal with in work, etc.  

![Get peers’ opinions about their new teammate](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8t2g9wy0rfemo5sgvdhb.png)
<figcaption>Get peers’ opinions about their new teammate</figcaption>

### Summing up developer onboarding results 
It is time to sum up the developer onboarding outcomes. The final meeting is held by the team lead as a rule. Here are the main things to discuss:

- Evaluate developer’s work – efficiency, goal achievement, work cadence. Give your feedback;
- Share the results of peers’ questionnaires (don’t quote, just highlight the most important), discuss pros and cons that were revealed;
- Ask a developer about his impressions about work, team, management. Learn about his concerns regarding work processes and what should be changed. Ask if he is ready to continue working together;
- If you get a positive answer to the previous question, discuss the developer’s career growth, create a development plan for the next six to twelve months.

---

## Wrapping up
The organization of developer onboarding processes can differ from company to company. The sequence of steps and approaches can be changed, you can also come up with your own ideas. Nevertheless, successful developer onboarding within the first three months requires:

- Familiarize a newcomer with work processes;
- Arrange collaboration with a tutor;
- Work on new developer’s motivation;
- Make a newcomer a part of the team.

Premium onboarding always pays off. For the company it is a great chance to build a team of talented developers, improve work efficiency, and avoid staff turnover. For the developer – comfort in the company of workmates, clear understanding of what should be done at present and where to develop in the future. In addition to that, you’ll see the bright eyes of your employee as he is really interested in his work. Isn’t this the ideal situation?