Hey! My name is Sergey Cherepanov, I am CTO of the MetaLamp software development company. Like other software development companies, we are constantly facing the issue of recruitment. The market lacks specialists, but we cannot attract them with a higher salary. After all, we are not Facebook or a huge bank :)
We solved this problem through our educational project. It is free of charge for students and almost automated. Looking ahead, I will share the results. We designed the free web development Education Program. Since 2019, we have trained 60 highly-skilled juniors. But first things first.
Let me briefly tell you how it all began
In 2014, we founded the MetaLamp company. At that time, we studied at the Tomsk State University of Control Systems and Radioelectronics. We took on small freelance projects with a team of 3–4 people. We wanted to expand the business and employ new staff, but there was no financial capacity for professionals.
So, I was looking for students who were interested in web development. I provided them with the resources for learning, looked for information and designed different tasks. That’s how we built a team of 10–12 people. They became the foundation of the MetaLamp company.
Then I began to systematize the education process. I’ve made a list of resources: where to find information and what to learn to get started.The list has gradually been upgraded. Also, there were practical tasks. We changed them several times, improving the wording.
As a result, we designed the six-step program. You can see it on our website.
What is the Education Program and why do we need it?
We use a narrowly focused tech stack. It is a combination of Typescript+React and Haskell. So, we designed the program as follows:
- Backend. It is a hardcore Haskell learning program. This programming language is functional, clear and lazy. Perhaps, it has the strongest type system of modern manufacturing languages.
Each program consists of five parts. There are two theoretical tasks and two practical tasks, where students accomplish big projects. Students complete these four tasks by themselves. Our employees are not involved in the training process.
There is also the fifth task. It is a three-stage refactoring, where students receive feedback from our developers and make improvements in the project. We value engineering and a high-quality approach to work. It is important not just to make something work. We need to solve the problem, improve code readability and reduce complexity. So, the fifth task turned out to be quite extensive and strict. However, students quickly got used to the constant code review.
After a while, we realized that graduates adapt to teamwork for a long time. They get to know what a Scrum is and how it works, why we need soft skills, meetings and other elements of teamwork. That’s why we added a team stage on the frontend. It proceeds with the fifth stage at the same time.
We build teams of 4–6 people from students who have passed the first refactoring stage. They start a new development project which will take 2 months. This stage simulates real development conditions, involving an experienced developer as a Team Leader. Also, there is a Project Manager who operates according to the Agile methodology. Moreover, there are sprints, and students report project progress results to the customer every two weeks.
We expected that the training process would take about 600–1000 hours. However, it takes a little more — 8–12 months to study on average for 30 hours per week. If a person has basic knowledge of programming, it will be easier and faster. If not, that’s not a problem. He can deal with loops, variables and functions in the process.
The Education Program is free of charge
There are no deadlines for training. You can extend the process, take vacations, quit and come back after a few months. The main thing is to reach the end. The sixth team stage on the frontend is exceptional. You need to accomplish it together with other students.
We also ask students to write informal reports when they have made progress in the program. We add students to the Telegram chats. There is one chat for all tasks on the backend and different chats for tasks on the frontend. In the chat reports, we can see when a student reaches the review stage. So, we can find out about their progress during the autonomous periods. If you take a break or vacation, there is no need for reports.
Besides the reports, chats have a social function. People discuss tasks, get acquainted and help each other. We create a sense of shared community. Here you can ask a question and check the progress of other students.
The Education program is completed by interviewing for the position of junior — you need to prepare and answer 80 questions. These issues cover the same topics as in the earlier stages of the program. They help consolidate the knowledge that was gained, systematize it and use in a conversation with a more experienced developer. The number of attempts here is not limited, so you can take as much time as you need to fully understand the material. If the student has completed all the tasks and interviews, we offer him employment.
How students find out about our program
In order to attract people to the Education Program, we guarantee a free opportunity to enter the IT sphere without any background. It became our main advantage. So, at the beginning of 2019, we posted an opening for a trainee developer on HeadHunter.
It mentioned that we guarantee employment for everyone who meets two conditions. First, you need to complete all stages of the Education Program. Second, you will have an interview for the first grade of our Developer Roadmap. This grade requires you to get ready and answer 80 questions.
The vacancy is still open on HeadHunter. We have already received more than 28 000 applications for the frontend. There are also more than 9 000 applications for the backend. These people completed a 10-minute survey and got access to the tasks.
Results of the Education Program
Of course, not all of these 37,000 people have completed the Education Program. We track the Program analytics through the reports from Telegram chats and a survey system. We have both of them at each stage.
Now we have 4500 people in the first chat on the frontend. These students have passed the first theoretical task. There are 1650 people in the second chat.
There are 310 participants in the chat for the third and fourth tasks. The fifth task was accomplished by 160 people. There is only one chat room for Haskell, it has 1200 participants.
Many students give up studying before the final task. Some people don’t have enough motivation or time. Others manage to find jobs themselves before the program ends.
Since 2019, we have kept our promise and employed everyone who has completed the Education Program. We interviewed 32 frontend developers and 13 backend developers. They all became our colleagues. Fifteen people were employed by our partners. All of the graduates have passed the probationary period. Partners are seeking our graduates and looking forward to the next ones.
What people get a job and why we guarantee employment
The Education Program is our main HR channel. We had an experience of hiring people from other sources. But they did not comply with our requirements. However, we are always eager to employ our graduates. And here are the reasons why:
- They have a strong will. When you can make 30 hours a week for learning during the year, then you possess great willpower. Moreover, you are really enthusiastic.
- These people are interested in development. Our program is not aimed to be finished by a certain deadline. It distinguishes us from commercial online programming courses. Everything is based on a deep interest in development. Moreover, knowledge is fundamental, which is difficult. So, the graduates of our Education Program have proven their passion for IT and programming.
- These people are loyal to the company. The Education Program is free of charge with an employment guarantee. We interact with students for a long time and help them to upgrade themselves. As a result, people trust our agency. The Program graduates understand that we do not just make promises. We comply with the agreements.
- Eight of the ten Program graduates are not associated with IT at all. For example, we have a girl who studied during maternity leave with her second child. She worked as a lawyer in a company, which was not connected with IT. This person, majoring in humanities, decided to take up development and completed the program. Now she is a valued team member and gets excellent feedback from customers.
Two reasons why we guarantee employment to everyone who completes the program and has an interview
The system is built in a particular way. A student can not reach the next stage until he completes the previous one. Also, we do not conduct an interview if a student fails the practical project, refactoring and teamwork. So, the Education Program saves a significant amount of time. We interview those who already have the required level of knowledge.
Moreover, even employment is not the last stage. It is just the beginning. We have a condition for a probationary period. A junior must reach the next level of the Developer Roadmap in three months. The Roadmap includes a list of materials and questions. Students study for them and have an interview with experienced developers. It is a kind of confirmation that graduates are ready for future growth.
So, we provide guaranteed employment for those who complete the program. After all, we are glad to invite the graduates to become a part of our team.Employment is an important motivator and one more reason to complete the program.
We had a moment when the number of graduates increased significantly. So, we even thought to relieve ourselves of the employment obligation and recruit the graduates on a competitive basis. However, we realized that the risk is too high.
Graduates and employees said that it was the job guarantees that motivated them to start and keep studying. If we violated the guarantee, then many talented people could lose motivation. Finally, they wouldn’t become a part of our team.
That’s why the employment guarantee has become our priority. Also, we began to involve other companies in the program. These are the teams we trust as employers. The people we are friends with.
How much it costs to create and support the Education Program
In total, the program is carried out by 17 reviewers, a Project Manager, a Team Lead and a Supervisor. Most of the reviewers are our program graduates who already work with us. They are actively involved in commercial projects. It is also a learning process for them. After all, when you are a mentor, you have a better understanding of the details. That’s why they conduct the first stage of the code review. The second and final stages are carried out by more experienced developers. A highly-skilled developer with commercial projects experience holds the final stage of the review.
The most active reviewers spend 4–6 hours a week reviewing. Others do not devote so much time. The Project Manager leads the students to the final stage. He operates according to the Agile methodology, which is required for the sixth team task. Now we spend about 200,000 rubles a month on the Education Program.
We have recently excluded an expense item on the juniors’ adaptation to the real working process. Actually, we implemented the sixth team task for this reason, too.
In fact, customers are not always ready to pay for the work of a junior, who has no real development experience. So, we used to tell them that we have a new employee and we want to involve him in the project. There was no need to pay for his time. However, so that a person didn’t work for free, we paid him from our budget.
Now the sixth task replaces juniors’ adaptation to the real working process. When a junior accomplishes it, he is already experienced and can work on commercial projects.
I’ll be brief. How we designed the free Education Web Development Program and employed 60 graduates
Here are some of the conclusions I made from working on our program:
The Education Program can become a new staff workshop for an IT company. Now it is our main HR channel.
The employment guarantee and opportunity to get into IT is a great way to motivate talented people to start and keep their studies.
Let the learning be your enthusiasm test. If a student has completed all the tasks, then he is really interested in the development. Moreover, the program is completely free, so students are not motivated by paid money.
Give fundamental knowledge. If a student comprehends the programming and learns how to use the language, he will quickly cope with specific libraries.
The Education Program should contain theory, practical activity and teamwork.
Our Education Program has emerged as a way to share knowledge with beginners. We show students the opportunity to develop and grow as professionals at MetaLamp. Now it has become a system, which selects motivated people who want to get into IT. Due to the program, new talented developers join other companies and our team. It is comfortable to work and grow with them.
What improvements for our education Program would you suggest? Would you employ a junior developer after such training?