Over the past months, the engineering team has worked a lot to provide a very qualitative onboarding process to anyone who joins the team. We know that the first months as a new team member are crucial, especially because calldesk is building a complex product that requires time and effort in order to be proficient. Since we have been using AWS services extensively (who awarded us for the AWS Startup Architecture of the Year 🎉), there can be an important learning curve before being fully operational using the services. We also have plenty of micro-services talking to each other, so it takes time before being able to design, develop and document new features on our products.
But the onboarding process is not only about technical knowledge and skills, but also about getting to know your new colleagues and the dynamic between the teams. Finally, we have completely redesigned the onboarding process to fit the remote needs due to the pandemic.
Our goal is to share what we have put in place and what we think are good practices to ensure an exceptional onboarding process for our new Software Engineers.
The onboarding starts during the interview process
We believe that the first interactions between the candidates and the team are already part of the onboarding process. You should consider any candidate as your future fellow teammate and provide him the best possible experience.
During the interview process, we strive to introduce different members of the team (Product & Engineering) in a different manner. The product team will make a product demonstration where the candidate can ask any question he has in mind. It is also the opportunity for one of our Product Managers to introduce what they do at calldesk and what will be the next focuses. The candidate will also meet 2 Software Engineers that are part of the team he will join if he is hired. These Software Engineers are responsible for doing a design interview, but also take some time to discuss with the candidate. The candidate also meets the Engineering Manager and the CEO, so that he can ask questions about the company vision, business strategy, and so on. One of those people will be the mentor of the candidate.
A Software Engineer candidate meets around half the Engineering team during its interview process. We were used to organizing a team meeting as well, where the candidate could meet the whole company in our offices, but we didn't manage to find a way to replace that remotely in an efficient manner.
Finally, our objective during this interview process is to give a very good overview of the candidate's future daily basis. He has to be able to imagine a typical week as Software Engineer at calldesk: what he will do, how he will interact with the other teams, what kind of features he will work on, how the Product and Engineering teams are organized, what is the company business model and strategy, what is our culture and values, our code guidelines and best practices, the technologies we use...
A well-defined onboarding roadmap is a must-have
Our onboarding process is designed to follow the newcomer during his first 3 months in the team. During the first week, he will be given a spreadsheet with the list of everything he needs to know after 30 days, 60 days, and 90 days. There is common technical knowledge but also the knowledge that depends on the team the newcomer joins. Technical knowledge may be various:
- AWS services: Lambda, API Gateway, S3, DynamoDB, RDS...
- calldesk platform infrastructure
- a platform's component architecture
- how to search for logs
- how to deploy a service
Here what it looks like:
We have built learning paths with videos, articles, peer programming sessions, peer reviews, quizzes... so that the newcomer has a clear view of how to get the whole required knowledge to become proficient on a daily basis. Those learning paths have to be followed during the first 3 months by the newcomer, and his mentor will help him find the right resource if he doesn't know the answer to a question.
We've already used this template for the last 5 members that joined our Engineering team. What they said is that it really helped them to understand what was expected from them and have clear objectives. They never were in a situation where they didn't know what to do.
As an example, one of our learning paths is about serverless concepts, framework, and hands-on, as we noticed that not every Software Engineer joining the team was familiar with those concepts. That's why we've compiled the best videos and articles in addition to custom practical exercises so that the newcomer can understand how it works and how to deploy a service in development or production environments. It has reduced errors during production deployments and helped new Software Engineers to learn new concepts and progress in their career, because that knowledge is common to a lot of companies and not only specific to calldesk.
Then, once the onboarding process is done, the newcomer will be assigned with quarter objectives regarding calldesk technical infrastructure. In fact, we also have learning paths for every component of our infrastructure, so that knowledge is shared between everyone in the team. For each component, there are 3 levels of technical knowledge. Team members that are level 3 are candidates to become the official owner of the component, which will imply responsibility and accountability regarding the component.
People are key
Meetings with the whole company's teams
Since the Covid-19 pandemics, as plenty of companies, we've moved to a work from home organization. We've been compelled to re-design our onboarding process to match this requirement. However, we still consider that relationships between colleagues are stronger when being built physically. That's why the first week of the onboarding is done in the office, so that the newcomer has the opportunity to meet everyone in the Engineering team.
Before he joins us, the Engineering team makes the planning of who is going to be there physically. We want at least 2-3 people on the team every day, knowing that the mentor will be there the whole week.
The first week is also the right time to meet other teams and have a better overview of how the company works. That's why the newcomer's calendar is ready before he joins the team, with a set of introduction meetings with the marketing team, sales team, product team, the CEO...
Having a mentor accelerates the integration in the team
As a new employee, it can be hard to know who can answer your question, give you general information about remote policy, holidays... That's why it is very important to assign a mentor to any newcomer. The mentor has the objective to build a strong relationship with the mentee, that could go beyond the work office and last for their entire careers. The mentor knows exactly what is expected from the mentee and must ensure that the onboarding experience is exceptional. He is the prefered point of contact for any question and will help the newcomer to reach the right person in case he does not have the answer. He is also responsible for doing the onboarding assessment of every learning path and giving further information if needed.
Giving and getting regular feedback
During the first month at calldesk, any newcomer will have a feedback meeting planned every day with his mentor. This is the opportunity for him to ask questions about his day, things he didn't understand well, to do some peer review. The mentor ensures that the next day is already prepared and that the newcomer knows exactly what he will be doing when he will start the day.
But those feedback sessions are also relevant from a mentor point of view, in order to improve our onboarding process. Every newcomer has participated in increasing the process quality by giving very relevant feedback to the team in order to adapt to the meetings, the learning path, the training sessions... This is this feedback that has helped the team improve the onboarding over the last months.
The mentor and the mentee can of course keep these meetings after the onboarding process, but it does not replace 1:1 meetings with the manager.
To conclude this article, I would say that if you plan to hire some people in the next month, you should first be entirely ready to welcome them and make them live an incredible experience. You have to be clear about what is expected from them and give them the right resources at the right time so that they can learn by themselves and get feedback. If you don't devote enough time to prepare your onboarding process and make it extraordinary, your future employees will more likely don't be motivated or proefficient as you would like. This is your responsibility to guide them through this process and make it smooth!