Our onboarding process at Packlink Engineering
By: Asier Marqués
Tags: Management, Tech Culture, Onboarding Process, Engineering, Startup

New employee onboarding is one of the most critical processes in a company that genuinely cares about its culture and team members. At Packlink, this is not an exception; we take it very seriously.

The onboarding is an iterative and a critical cultural process. What do I mean by “cultural”? Every step in the onboarding process is documented and available to all the team.

Everyone in the organization can challenge, give feedback, or propose new ideas related to it.

Our onboarding tasks are done collaboratively, and it involves different profiles and roles that are rotated by all team members and involves many different areas.

We expect that every person who comes to the team needs to have at least one month for adaptation. We want them to get used to our processes and workflows before they start being productive within a team.

All the people in the company understand it, so the process is designed with this in mind.

We have three main phases in our onboarding process; we are going to look at each of these in-depth in this article, so take a coffee, get comfortable, and let’s start!

The pre-onboarding

The goal of the pre-onboarding is to prepare all that the new person’s needs, tools, and equipment in advance.

This phase of the process is critical and involves several tasks that need to be completed by people in different areas inside and outside of the Engineering Team.

We start the pre-onboarding with a month in advance of the incorporation date.

When the new team member confirms the incorporation, our awesome HR department opens an Epic ticket in Jira with the necessary information of the person. Then, all the tasks and subtasks that need to be done for that person’s onboarding are created automatically.

We had automated this with a few lines of a Groovy script that runs in a Script Runner Listener.

Although we have automated the creation of all the onboarding tasks, the process is also documented in a Confluence page as a checklist that can be printed if it were necessary.

This is a crucial point to take into account. Even if a process like this is automated, we need to have the documentation and an alternative for the improvable case the digital tool fails or isn’t available anymore.

Also, with this practice, we make visible all the tasks we do so every member of the team can propose new tasks and even make a Pull Request to the groovy script.

When the tasks are created, the Engineering Managers, Helpdesk, and Human Resources representatives become the stakeholders of the Epic, and each area and department assigns the driver of the tasks.

Assign the Engineering Manager and the buddy

Two tasks need to be done before starting the rest: assign an Engineering Manager and propose the Buddy role to a person in the team. We will talk later in detail about the Buddy role at Packlink.

When the Engineer Manager is assigned, she assumes the ownership of all the onboarding process and ensures that the onboarding is done correctly and on time.

This Engineer Manager will be responsible for her personal growth in the company, her career, revisions, and retention.

The hardware and licenses

One of the first tasks we do is sending to the new team member a Google Form with some questions about the equipment, preferences, and other personal information.

At the time of this writing, we give to the new members two choices for the laptop they want to use, a MacBook Pro 2019 16” Core i7, 16GB and 256GB SSD or an equivalent Linux-compatible alternative.

If you are curious about how many people use MacBooks or Linux, we can say that the choices are very balanced, so there is not a clear winner at this moment. One thing that we can say is that nobody misses the Windows option until the date.

We have no limitation about the number of monitors, and you can choose a mac keyboard and the weird magic mouse.

With the laptop and hardware chosen, we register a new JetBrain IntelliJ-based IDE license (Idea, WebStorm…) for the new software engineer.

Security and access to all the tools we use

At Packlink, we have a cloud mindset, and practically all of our tools are cloud-based.

At Packlink we use the Google Suite, Atlassian tools, Github, CircleCI, NewRelic, and many other SaaS solutions. We need to create accesses, assign the person to particular security groups, and invite her to them.

All these tasks will be done almost a week before the incorporation day.

The physical location and desk

Although we are not fully remote, every member of the team can work eight days per month remotely. The rest of the month we are in our Madrid office.

The Engineering Management team decides where the people sit when they are in the office.

At the office, people are working with each other tightly, and if team distribution changes, they change their seats too.

When the seat is chosen, Help Desk Staff will prepare the place, taking into account the choices made by the new person.

The official presentations

On the onboarding day, the new person is presented to all the Engineering teams and will have a little talk with both our CTO and COO. We schedule in advance those small meetings in the Chiefs’ calendars.

The Tech Leads of the different areas -you know frontend, backend, operations…- are aware too to prepare an onboarding meeting of each area.

The 90 days plan

The manager will prepare the 90 days plan for the new person. The goals for the 90-day plan are to ensure the person:

Gets off on the right foot and becomes familiar with Packlink, your team, how you’ll contribute and what you’ll deliver in your first 90 days.

Has a clear understanding of what you will need to learn and deliver in your first 90 days

Learn about how we build software at Packlink and specific practices and processes

We have a confluence template that helps the manager to prepare and customize the plan according to the person’s role.

There are a lot of resources about how to build a great 90 days plan for your company’s onboarding; we recommend this article and template from Atlassian that inspired ours.

The welcome pack

The last step is to prepare our welcome pack with some Packlink stuff like a water bottle, a mug, notebook, pens, an awesome t-shirt and a convenient bag.

As the onboarding process is iterative, we are continually working to improve with new ideas and stuff to include in the welcome pack.

The onboarding’s day

This is a special day. Everyone in the company receives an email with a picture and an informal presentation of the new person.

This person is presented to a lot of people and teams. The Help Desk team assists the person to configure her computer and hardware. The manager does a brief presentation of some topics that are also documented in a getting started guide in our Confluence for later checking.

The rest of the day, this person will know more people, talk with our CTO and COO and start to configure her local dev environment.

Our platform is running on containers on the Google Cloud Platform, and this makes it easy to have the equivalent environment for production, pre-production, and local.

So the first week, she will have all the microservices and web applications running on her computer thanks to a well-documented guide. This guide is provided by our Operations team and is maintained by all the Engineering team.

The first month

During her first month, the new person is assisting onboarding meetings of other departments like finance, sales, customer service, human resources, marketing, procurement, and others, including the different tech areas.

She will work in low priority tasks out of the on-going projects that other team members are working on.

The goal is to let new team members get used to our workflow and tools and know the product and architecture before starting in a project or a technical initiative.

A lot of people deploy their first feature to production during their first week.

The buddy role

During her first month, she counts with a person on the team who assumes the Buddy role.

This role and its benefits are well-known in the industry. You can see a great definition of the role on the PMI website.

In our context, the buddy is a role that is assumed by one of the engineers. That person is a helpful reference during this phase of onboarding.

The buddy will help with all her daily basis doubts, providing all the guidelines or documentation resources that she needs and do pair programming with her.

The manager

She will also count on an Engineer Manager to ensure her growth.

During the first month, she will have one or two one on one meetings with her manager. At those meetings, the manager will ask about their impressions and talk about her expectations and next steps before starting to find personal and professional objectives for her first year.

The manager will take note of the impressions and feedback of that person. We love new ideas and feedback from a fresh point of view.

What’s next?

As we said, our Onboarding process is an iterative one, so we are improving it continuously.

For this reason, during and after the onboarding, we ask the person for feedback and we take it very seriously.

When the onboarding for this person finishes, the Engineering Manager will work with her to set some personal and technical goals, aligned with our Career Path.

Her manager will follow the progress of those goals and her skill improvements during the rest of the year.

The manager also provides feedback and provides the tools for the person to be able to reach her goals.

The person will be part of a team and initiatives that are aligned with the Packlink goals and values.

She will take part in technical decisions, interview processes, and learning initiatives. And also, she will assume the Buddy role for new team members.