At Sherweb, we’re always on the lookout for the best, most competent and expert programmers. So are a dozen other companies in Sherbrooke and many more in the Montérégie region. So what happens when you intend to hire several new people? You can try to enroll “The Unicorn”, the flawless match, the individual who already has all the technologies you use right at his fingertips. This process is lengthy and only works occasionally. You also have to hope that you would acquire these people faster than your employee turnover rate.
For the last six months, we’ve found a formula to accelerate our growth. We attack this problem with a different solution. Instead of searching for someone who has all the knowledge we need, we start looking for people who have a high learning potential. And once we locate one, over time, we help him to be that kind of perfect fit. And we do not stop there, we go further.
Normally, a new employee is inserted directly into a team. Then, depending on the situation, he/she will need more or less support in figuring out the technologies we use, our methodologies, the other staff members and our context. This will require a significant amount of labour from the team up front, and it will take about six months for the team to notice a real difference. This also introduces a risk for the recent hire to receive insufficient coaching, learn weak patterns or receive mixed signals from different sources.
To fix all those problems, we created a new team where we assign our latest recruited programmers for their first few weeks. We named that team Aristotle, in honour of the founder of the Lyceum. This team is dedicated solely for the purpose of onboarding new recruits with our awesome techs and software stacks. The rest of this article will go more into detail about how this training team works and what the benefits of this training program are.
Learning the Company Context
The session in the Aristotle team begins by teaching the new hire about the company. It contains information about what we do at Sherweb, what we sell, on what platforms we develop and what challenges the new employee will have to solve. That mentoring takes the shape of multiple coaching sessions and some reading of the internal Wiki documentation.
During that time, the new employee is also learning Sherweb’s procedures, like :
- What each team in the department is working on and what their specialities are
- The Agile methodology
- How to use TFS
- How to commit to Git
- And more!
Learn by Doing
During the first two weeks, the members of the Aristotle team have some exercises to complete that target the latest technologies in use at Sherweb. Each exercise introduces the theory required to be able to complete them and produce a working result.
At the end of each exercise, code review sessions — done under mentor supervision — will teach members the coding methodologies applied at Sherweb. The code review must be accepted by a mentor and can be returned to the student multiple times during that period. The code review covers the code style, the best practices and the possible pitfalls of each technology previously seen.
This enables the new hire to learn how to code according to Sherweb’s practises and to increase his skills. On a broader level, this also helps to standardize the whole department’s methodologies.
After a few targeted exercises, the training team members will have to do a meta-project (assignment) covering most of the technologies they just learned. This allows them to review the acquired knowledge and gives them an opportunity to try all those new technologies in a more complete context, without the stress and additional requirements of a production environment.
Coaching and Working in Team
The coaching offered by the mentors is one of the most important aspects of the training team. Employees assigned to these positions need to have great enterprise knowledge, great technique transfer skills and they have to be available for students’ questions or code reviews.
It is a must that students be able to work together. They need to be able to help each other, without the mentors’ help. This kind of mutual aid will also help the group to complete tasks at the same rate. Often, code reviews will be done by former training team members.
The assignment also offers the members the possibility to work in teams. To accomplish it, teamwork is necessary. We’ll talk about this more further in this article.
Mentoring without Being Isolated from the Projects
Some of my best teachers at university were still working full-time while teaching. One of the great points about the training team is that the full-time employee who acts as a mentor still works on corporate projects outside of the Aristotle team. They still do their normal work and continue to provide support to other teams. Doing this allows them to stay up to date, while forming new employees and still being a productive member inside the development department.
Help the Department Stay Up to Date
The Aristotle team is not only the entry point for the new development hire, it is also an opportunity for any other employee of the department to stay up to date by offering them a way to learn and progress deeper in some technologies. Their code may also be reviewed by their coworkers according to Sherweb’s standards and focus points.
Any development team member can, if the mandate requires, refer to the Aristotle projects and find an exercise that covers the part he/she wants or needs to learn or refresh. He or she will then also receive the code review for his work. This allows the training team to stay relevant.
Helping the Department with Tasks
When the Aristotle team members have accomplished a sufficient number of exercises and assignments, they are ready to tackle a true department task. This task can be an important/big/major project that allows the “students” to enter a real situation and produce a good job for Sherweb. We select projects that, while important, are not time sensitive. We can then stay focused on quality and avoid a stressful situation for the trainee.
In most of cases, after accomplishing this bigger task, the student has then finished the training session and is ready to join a team.
In conclusion, the Aristotle team is a great Sherweb initiative, which allows new staff to acquire the company-required skills and enrich their knowledge. The effect of levelling up each new hire to a uniform degree of skills makes the transition to a team easier for both sides (new and older employees). It is also a good tool to keep the whole team up to date and it helps to keep the hiring workload low for the whole department.
It is too soon to tell, but we also hope that it will shorten the onboarding time by at least half.