we recruit, train, and release people to real projects in 4 months

Hello! My name is Alexander Shutai, I am the head of the PHP department at AGIMA. Among my tasks, personnel issues occupy an important place. We are forced to constantly search for new specialists, while there is always a shortage of them on the market. A couple of years ago, we realized that we were tired and that we wanted to optimize the selection process. And soon we began to train developers ourselves.

In essence, we opened our own small factory, where we make Junior-level IT specialists out of green interns. Over the past couple of years, we have already launched 9 internship programs, trained 36 mentors, and released more than 100 new specialists into the world. Almost all of them successfully work for us and our partners.

In this article, I tell you how we attract interns, how much time we spend on their training, how we use them on live projects. If you manage development or work in recruiting, our experience may be useful to you. You can find the full version of the guide on GitHub. Share your experiences and ideas in the comments – we will expand the guide together.

Why do we need interns?

My colleagues have already given detailed and comprehensive answers to these questions in separate articles. Here we explain the importance of internships from a development perspective, and here — from the point of view of team management.

But if in just a few words:

  • Interns potentially close the personnel issue;

  • interns are more loyal to the company – they work with us for at least 2-3 years;

  • Interns free up the time of more experienced employees for more complex tasks;

  • Interns are often young, which means they will bring their own values ​​to the company – they are not afraid to try new things and will not submit ancient legacy for review.

Well, and another non-obvious plus: mentors who are engaged in training and mentoring develop their leadership and management skills well. And this contributes to their rapid career growth.

To sum it up, we are convinced that interns are not an extra social burden for the company, but a reasonable investment in the future. But you need to know how to work with them so that the money does not go down the drain. And any intern is an expense.

How much does one intern cost?

Below I provide the labor hours that will be spent on creating one new IT specialist. I understand that costs may vary depending on corporate processes, but I suggest starting from this data.

We will need the hours of several employees:

Stage

Role

Watch

Search for interns

Recruiter

4

Selection of candidates, interviews

Mentor

4

Onboarding, motivational meetings

HR

4

Learning process

Mentor

36

Onboarding to a work team

Teamlead

4

Exams

Mentor

3

Also, before opening the internship direction, you will need the following time:

Stage

Role

Watch

Development of a training program

Expert in the field

40

Selection of mentors

Supervisor

4

Training of mentors

Supervisor

12

Also, let's not forget about the scholarship. I'll discuss its size in the chapter on motivation.

You may think that the hours are understated in some places. For example, a mentor's work directly on the training process of one person is only 36 hours. But I am citing hours after the optimization of processes. After all, our goal is to establish industrial production of interns. Therefore, let's see how you can reduce labor costs for a newcomer.

Portrait of a candidate

Before opening a position, you need to create a candidate profile.

In general terms, I recommend looking for a person with basic programming skills, a desire to learn and develop, responsibility and the ability to work in a team.

But if we go into detail, then most likely we are looking for a final-year student or an online school graduate. It is better to focus on people under 25 or people without a strange background. Of course, you can believe in a 50-year-old security company employee who decided to change his life drastically, but, in our experience, the chances of success in this case are lower.

Pay attention to experience: knowledge of a university course on programming, algorithms, databases. It's cool if he can show educational or his own pet projects.

Search Strategies

Career sites

After posting an internship vacancy, you will receive ~300 responses in a couple of days. Cool, but it's too early to rejoice. Only a couple percent of them will be valid. And your recruiters will spend hours filtering resumes. But even this method can be improved:

  1. Use auto-parsing of responses. Every career site has such a tool. It will help to reduce the funnel based on filters by age, experience, etc.

  2. Before sending a response, add a simple task as a mandatory field. This is not a test, but a filter to filter out people not from IT. For example, what is an IP address?

Specialized telegram channels

Ask the recruiter to put together a list of open channels and groups of specialized universities. Look for niche development chats — for example, on the Laravel framework. Meet their admins. And if they don’t mind, send them an invitation to an internship or, for example, a link to a landing page about a career in the company.

Online Education Platforms

All popular online education platforms are happy to have partners who are ready to employ graduates. You will get a pretty good funnel of trained juniors. At the same time, according to our estimates, a junior after the courses will ask for 60-80 thousand. This is expensive and not suitable for everyone. But if budgets allow, then course graduates are a reliable option. These people are highly motivated – they really want to join IT.

A good landing page will help you attract them to your company. It should tell about the internship areas and the training program, and also highlight the best aspects of your company and office. A link to such a landing page in the vacancy gave us a noticeable increase in the number of quality responses.

How to select

Our approach involves selecting interns using a test task. I am sure that you have different attitudes towards this tool, and many people frankly don't like him. I am one of those who believe that testing is not suitable for finding a qualified specialist. But in the case of interns, it is a good tool for assessing their knowledge.

Test

Our test consists of two parts. The first is questions and tasks in the form of a questionnaire, the time for answers is limited. For convenience, you can use Google Forms with the Form Timer add-on.

Make up several theoretical problems on the programming language:

  • What is the difference between single (' ') and double (” “) quotes when working with strings in PHP?

  • What are sessions in PHP? How do they work and why are they used?

We want the potential intern to know OOP theory:

  • What is a class constructor? What tasks does it perform?

  • What is encapsulation in OOP? What benefits does it provide?

We also evaluate skills in working with databases. Here we do not recommend giving complex tasks with aggregations and unions, because all this is covered in universities in the middle courses and disappears by the end of the training. If a person can make average queries, then he will definitely remember how to work with joins during the internship.

Example of tasks for composing a SELECT query:

  • Select from the “users” table all users over 10 years old and living in Berlin.

  • Display the total amount of all orders for each user from the “orders” table.

If your test task contains a code fragment that needs to be corrected, supplemented or explained, I recommend providing the code as an image to make it more difficult to copy and run through ChatGPT. However, neural networks are now very good at recognizing the content of images. So, share other ways that make it difficult to use AI in the comments.

The second part of the task is a practical task to develop a feedback form with validation by fields and saving to a file. You can also suggest developing a simple system for booking tickets at a movie theater.

I also recommend asking the candidate to put the code in a repository. This gives them bonus points, as it shows that the person is familiar with version control systems. Or at least read about GitHub before sending the test.

And again, a piece of advice. Ask the examiner to run all questions and practical tasks through AI. This way, he will immediately understand how to distinguish a human solution from an AI one.

Interview

And the final stage of selection is a personal acquaintance. When choosing an intern, the test result is not as important as the fire in the eyes. Therefore, evaluate enthusiasm, determination and emotional involvement during the interview. And be sure to ask to tell how the person solved the test and what difficulties he encountered.

If you like everything and you see a charged person in front of you, take him under your wing.

Who will teach?

Mentors are team leaders or senior developers. For them, this is, of course, an additional burden, but it is voluntary. Often, training of interns is tied to the company's motivation system. For example, each released intern can be converted into a bonus, vacation days, etc.

What qualities are important for a mentor:

  • Ability to explain complex things in simple language. For example, I ask a potential mentor to explain what a closure is to someone who is new to programming. While he explains, I ask silly questions to see how the potential mentor will react.

  • Empathy and patience when working with newcomers. Some things are impossible to remember the first time, you have to repeat them several times, but at the same time remain calm.

Some companies hire a special full-time teacher. And this solution has a big advantage: there is no need to distract the team from work. At the same time, the labor costs for a full-time mentor and four mentors from the team are comparable.

How will we teach?

Here are the principles we adhere to when creating the program:

  1. You provide the knowledge and tools, but the student learns them on his own.

  2. Each section has a standard study period.

  3. The theoretical blocks end with an online test.

  4. Practical blocks – homework on performing similar functionality.

  5. The intern meets with the mentor three times a week to discuss issues and check homework.

  6. The mentor tries not to give ready-made answers, but only to guide the trainee along the right path. If the question is complex, he suggests thinking about it. If it is simple, he gives the material to reread.

The standard duration of the internship is 4 months. This is enough to learn how to work with the framework, basic tools, and to start bringing benefits to the project team. After 4 months, you get a specialist with a good base, the ability to work in a team, and a firm intention to grow into a full-fledged developer in the next year.

Here is the structure of the self-paced program we offer:

A detailed program with examples and necessary explanations – in the full text of the guide.

How to integrate an intern into a team

After the second exam, the trainee is definitely ready to apply new knowledge in practice. That's why we introduce him to the project team.

After onboarding to the project and documentation, assign a mentor to the intern. This could be a Middle+ developer who will help the newbie with problem solving. Their goal is to guide the intern in the right direction, validate the decomposition and solution of problems. Such a person is sometimes called a buddy, and they do not train, but adapt the new colleague.

Middle+ is the best fit for this role. He has a good understanding of the subject area, can independently complete tasks and make decisions. In addition, mentoring is a good opportunity for him to improve.

A good option is to use the pair programming technique, where the buddy solves his problem together with the intern, while commenting on the actions.

Be sure to invite the intern to all dailies, standups, retrospectives and other team events so that he can quickly enter the work process and immerse himself in teamwork. Monitor the discipline of attendance.

How to Motivate an Intern

Learning can be difficult — there’s always a chance to stumble or get lost. That’s why it’s important for us to monitor our students’ motivation. After all, we don’t want them to burn out and leave IT without understanding anything about the field. Here are the motivation tools we use:

  1. Scholarship. The time when interns were forcibly driven to factories and exploited for free for production needs has long passed. Now everyone understands that any work (and studying is also work) should involve compensation.

    That's why we offer each intern a salary equal to one living wage. Yes, it's not much money. But we show the intern that we are really interested in him. And the intern, starting to receive money for studying, understands that everything is serious and should be taken responsibly.

    After successfully passing the first exam, we usually increase the stipend to 50% of the junior's salary. And after the second exam and joining the project team – up to 75% of the junior's salary.

  2. 1-to-1. HR specialists in our company meet not only with mentors but also with the intern every two weeks. This way we promptly identify problems and inconveniences that the intern is embarrassed to tell the mentor about. This also allows us to learn about difficulties in learning – the soft skills of HR specialists, as a rule, help to set a person up for a sincere conversation.

    In addition, it is important for us to monitor how the intern's personal interest in the subject being mastered develops. A person could have attended our analytics meetup, talked to analysts in the smoking room and realized that analytics is more interesting to him than development. We need to convey to him that he can change the direction of his studies, and this is normal at the start of his career.

  3. Full integration into the company. From the first day, the intern should feel like a member of a cool company and have access to all activities: meetups, corporate events, clubs, training materials, support.

And don't skimp on the cookies in the kitchen! The interns love them.

After training

After the basic training program, it is useful to carry out several important actions:

  1. I recommend holding retrospectives with each release to understand what was good and what needs to be improved. Feedback helps to refine the training program and better reveal difficult points.

  2. Issue personalized certificates confirming qualifications based on the materials studied.

Now that's it, you've released a new cool IT specialist into life.

Pressing questions

What if a junior eventually leaves your company, and you have invested so much effort into him?

It's not scary. He's been with you for at least two years. And most likely, he's paid for himself during this time. In addition, you brought him into IT, taught him a lot – he'll have only good impressions from working with you. And that means he'll recommend you to his friends and colleagues. All in all, only advantages.

Recruit a crowd of interns or guaranteed projects?

We recruit interns constantly, but in an adequate volume – 4-5 people per quarter in each direction. This is enough. In a year and a half, newcomers compensate for the natural turnover of personnel.

Acquaintances in the market act differently. They recruit a crowd of interns, give them materials and teach them. But in the end, they choose only 1-2 people to whom they offer work. The rest just get certificates.

How to monetize an intern in custom development?

In custom development, the customer pays for the number of developers in the team. It would be bad if someone sold him an intern under the guise of a developer. That's why we usually offer juniors as a free addition to Middle developers. When the junior gets stronger and starts to bring real benefits, we argue his work to the customer and offer to officially pay for his work.

We are fixing it

So, you, like us, are ready to scale the team not only at the expense of experienced guys from the market, but also at the expense of young and promising ones. The algorithm of your actions is simple:

  1. First of all, determine who you need: where this person studies or studied, how old he or she is, what skills and qualities are most important to you. Think long-term, predict your needs in the future.

  2. Start looking for interns: here it is better to use not only job and career sites, but also target platforms such as social communities of universities and communities of online schools.

  3. Prepare a not very difficult test to weed out irrelevant applicants. But the most important stage is the interview. We need people who really, really, really want to learn.

  4. Find a mentor in your team – a team leader or a senior developer. It is better if it is a person who can explain complex things simply and will not get angry with a newbie when he does not understand something.

  5. Design the training program so that the trainee receives both theoretical and practical knowledge. Test how well he or she assimilates the information by taking exams.

  6. When you feel that the padawan is ready, integrate him into the team of a real project. But do not abandon him alone, but assign a buddy – this is not a mentor, but a more experienced comrade, to whom you can turn with a difficult question.

  7. Don't forget about motivation. Any work should be paid, and studying is the same work. It is an investment in the future, the intern should feel that the company is interested in him.

I wish everyone smart interns and clear processes. I am ready to answer any questions in the comments. The expanded version of the guide is on GitHub. I also run a separate telegram channel about managing a development team — come read.

What else to read

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *