Onboarding for new tech hires
Tags: teams, onboarding, tech, wowexperience
Published: 2019-02-13 11:51:57

---
title: Onboarding for new tech hires
published: true
description: How to (properly) onboard new team members
tags: ["teams", "onboarding", "tech", "wow-experience"]
canonical_url: https://www.christianbarra.com/posts/about-onboarding-new-tech-hires/
---

Hiring a new member for a tech team is such a long process that as soon as the contract is signed you would like to think that your job is done.

But is it?

> No exactly, your hiring process is not yet done, the hardest part has still to be completed, **the onboarding**.

### What is onboarding?

Wikipedia defines onboarding as

> the mechanism through which new employees acquire the necessary knowledge, skills, and behaviors in order to become effective organizational members and insiders

So **knowledge**, **skills** and **behaviors**.

### Why do you need it?

You spent around a month, during a long (and maybe painful) process, aren't we done? why spend more time?

- You want the new team member to be productive as soon as possible and making them happy will probably increase the productiveness and chances that they will stay for a longer time.

- First impression matters, this is why onboarding is fundamental.

- Giving your new employees an amazing experience is generally better than providing an average or bad experience, so why wondering at all?

__And above all it will show that they are important__.

So how do you provide a great onboarding experience? **You need a plan and a goal**.

**The onboarding process needs to have a goal, something that is easy to measure or consider done (creating a PR, merging some code, releasing something to production....).**

### How to create a great plan

You need someone in charge of the process, a tech lead, senior engineer for example, someone that could guide the new hire but is not the line manager, we will call it buddy.

The buddy doesn't have to spend 24 hours with them but should be generally available and responsible for the entire process and should be her/his main point of contact for any question related to the onboarding process and its goals.

So the PIPitRight Team just hired a new awesome member Matteo, and the buddy for him is a Senior Backend Developer member of the same team called Luzia.

The goal is to fix an unclosed socket error, a bug that is afflicting a service and to release the fix to prod.

### The ideal plan

The ideal plan is divided into 4 phases (at least):

1. Before the first day
2. During the first day
3. During the first weeks
4. Follow up

This article will cover the `Before the first day` and in the next weeks I will cover the remaining phases.

### Before the first day

There are a couple of things you need to prepare before she/he joins:

1. Internally share that a new hire will join the team
2. Prepp all the accounts/services he/she needs
3. Share the onboarding plan with the new hire

#### 1. Share with the rest of the team who is joining and a brief bio

This sounds super easy but is easily forgotten or overlooked, especially if you are a remote team.

> There's nothing worse than having new people joining your team and you have no clue who the new name inside slack channels is.

I personally find really important (and often disturbing when it doesn't happen) that a new hire is not introduced properly.

The buddy (or a team lead/engineering manager) should introduce the new hire with an email or a message on slack for example.

If your team as regular meetings announcing it there is also fine.

```
Hello PIPitRight Team!

I am really happy to announce that in the next weeks Matteo will join our team as a Backend Developer.

He is been a ..... (short bio).

He will join the team on .../.../...

Looking forward to working together!

Best,
Luzia
```

It takes less than 5 minutes, just do it.

#### Accounts are ready

Provide him/her with the accounts he/she needs email, github, slack, aws, gcp, heroku and all the related services, a nice wiki about how to obtain them is awesome, especially if there are external teams involved (security, ops...).

In many companies is just a matter of creating a new ticket/task.

#### Having milestones and a task list for each day

Sharing the onboarding plan beforehand with the hire is extremely useful and doesn't require too much time:

```
Hi Matteo,

I am really happy you will the PIPitRight team!

I am Luzia and I will be your buddy for the first 2 weeks.

We will pair together a couple of times during these weeks and I will introduce you through our tasks system and we will move a couple of tickets together from the backlog to done.

The goal for the 2 weeks is to fix an unclosed socket error, a bug that is afflicting a production service and to release the fix to prod. (ISSUE #4343).

It's going to be a lot of fun, I can't wait for that!

Best,
Luzia
```

### Takeaways

My approach is to avoid overwhelming a new hire and properly manage the cognitive load, with a small and focused scope that would increase during time.

For example having a 360 degrees and deep overview of the tech stack and infrastructure is probably useless and a waste of time at the beginning.

Try to divide the learning process in small chunks, if it's not really needed to  achieve the goal/s, it could probably wait, as understanding the entire architecture of your system is not really important at this stage.

This was everything I had for the `Before the first day`.

I am really looking forward to knowing how your onboarding process looks like, feel free to comment here or tweet [@christianbarra](https://twitter.com/christianbarra).