How we redid the interview structure, and what came of it
Our development team has been growing at about 20% per year for more than 4 years. We are constantly looking for technical specialists and are improving our hiring. We tried many approaches to make the process more efficient: from changing the order of the selection stages to large contests for analysts and programmers. For several years of active selection, we have gained great experience, and today I want to talk about how part of our HR team works.
Under the cat I describe how we now look at the hiring process in C2C - a team that develops and supports Avito functions for private users. We redid the structure of the interview, divided it into sections, and included programming tasks. We found interviewers within the team, prepared them and trained with joint Skype and personal interviews, taught us how to write reviews about the candidates.
The C2C team works for the most massive segment of our users - individuals. Every change in functionality is immediately noticeable to millions of people. This is a great responsibility. C2C is divided into units, each of which is responsible for its part of the user scripts. There is a unit that develops functions for those who search on Avito (search by text, photo and map, search filters), for those who agree on a deal (we have our own messenger) and so on.
Each candidate for the technical direction of the C2C team goes through two or three stages.
- Acquaintance + technical skype.
- Acquaintance with the team (optional).
This process takes more time than interviewing other teams. But we deliberately took this step, as in the end we won a lot as a selection. The multi-stage process has benefited everyone: both business and those who come to work for us - the first gets a highly qualified specialist who is ideally suited to existing tasks, the second comes into a cool team and works on those tasks that interest him.
It all starts with meeting the candidate by mail, phone or instant messenger. HR gives him all the information on projects and tasks in advance, talks about our selection stages, so that the need to write an algorithm on a piece of paper is not a surprise.
We intentionally use paper - this shows errors and corrections in the process of solving problems. This helps to understand the candidate’s train of thought: where he had to be pointed out, where he thinks out the decision himself and so on. Thus, we understand some potential weaknesses that can / should be tightened during the trial period.
After that, we plan a technical Skype interview, (where there will be a code and technical issues).
Skype is led by team leaders or developers. Such an interview takes up to 45 minutes. The time for the interview is flexible: we sometimes skype early in the morning or after 20 hours. After this, the interviewer writes the interview protocol and feedback in a standardized way. This allows you to easily reproduce the screening process in your head after a year. After 40 minutes of Skype and solving one or two problems, it becomes clear whether we should continue to communicate personally.
Dmitry Kunin, Head of Trust & Safety Unit Development:
“Skype interviews are a minimal investment of time, which allows us to understand how the company and the candidate are suitable for each other, to guess which team the candidate can strengthen and, most importantly, what. And this “what” is determined by a certain range of tasks, where sometimes not even the exact and correct answer is evaluated, but the train of thought, ingenuity and the ability to propose innovative solutions. No, we don’t ask about how to color M & M's - the questions are strictly related to the subject area. ”
Usually we orient candidates for feedback within seven days, but try to respond faster. Sometimes it turns out that right on skype we can tell the candidate that he needs to tighten up, advise courses, books, podcasts. There were cases when candidates returned to us after a few months already oriented specifically to our tasks and prepared for them.
A face-to-face interview in an office consists of four parts, each hour. We choose a convenient option for the candidate: we can divide the interview into two days or spend it all at once. Nonresident employees pay the fare. In four hours, we guide the candidate through the sections on programming, architecture, and the platform. In the end, we introduce the potential leader.
During this time, we evaluate whether a person is suitable for us in culture and spirit, talk about units and work processes, answer questions, try to understand whether the candidate will be interested in working with us.
To make a quality decision, it is very important for us to evaluate the candidate from different angles. Therefore, each hour of the interview is conducted by a single colleague specializing in his interview section.
Ivan Lukyanov, C2C Development Director:
“We believe that the higher the level of a specialist, the more thorough the selection should be. A big interview is inevitable if we want to make sure that we are ready for many years to do cool things side by side with a future colleague. ”
In the programming section, we ask you to solve problems on algorithms. Yes, on the leaves.
When we talk about architecture , it’s important for us to understand whether the candidate worked with large applications, what his vision is.
In the next section, we talk in detail about the candidate's skills and his past experience .
Dmitry Korolkov, development manager of the unit Messenger:
“Current trends in highload development and a fairly low entry threshold make Golang very attractive for learning a programming language. Now there are a lot of resumes on the market with a mention of Go, however, people who know how runtime of the language is arranged “under the hood” are much smaller. ”
Here are examples of what we can ask different developers.
- We can ask Golang developers about optimizing the application (for example, if there is a task to submit data in JSON format and it is clear that serialization is time-consuming in the profile). Discuss the benefits of goroutine over threads. Well, finally, ask what runtime does in Go.
- When we interview iOS developers, we check the depth of knowledge of the platform programming language. We can say that we analyze specific code examples, and how it will / will not work in the end. We ask about various platform features, for example, about memory management.
- If we are talking with a php programmer, be sure to ask how arrays are arranged in PHP.
- Most likely, we will discuss with the android developer all possible ways not to lose the state of the screen (user input, data, operations performed). Let's talk about ways to do something asynchronously and process the result.
- At interviews of front-end developers, we test our knowledge of JS, ask questions about the HTTP protocol and how the browser works, and also check the basic knowledge of algorithms.
During the final section of HR, together with the leader, they ask the candidate for a resume, talk about the tasks and processes in Avito.
Sergey Mashkov, development manager, BuyerX unit:
“It is important not only to be sure that the candidate meets technical expectations, but also to understand that he fits into the culture of the company as a whole and of a specific unit and / or team in particular. Obtaining this knowledge is the main goal of the final interview. ”
We do not focus on any section, the results of all stages are important. Without technical knowledge, it is impossible to make a good product for users. But in the same way it is important for us that the employee shares the values of the team and the company. We want to be sure that you can rely on him in work. The ability to work in a team, focus on constructive discussion and problem solving are important points for us. Avito engineers are team players.
As well as with Skype interviews, we can always give the candidate feedback, suggest aspects that can then be pulled up. As a rule, we take no more than seven days to make a final decision. This is enough to analyze everything. HR stay in touch and are always ready to answer candidates' questions. Following the discussion, we contact the finalist, clarify his impressions and make a job offer. In some cases, we suggest arranging an additional meeting with the team.
As a result, we see that the new approach has paid off. The company receives high-level professionals. New colleagues say that our interviews helped them decide on Avito, as they showed the full range of future tasks. We plan to adhere to the described approach further.
I must say that even if the candidate did not go through our sections, this time was not wasted - our interviewers try to give the applicants feedback, advice on where to grow further and what to focus on in your development.
After accepting the offer, the candidate enters his team in Avito. Colleagues integrate it into affairs and tasks. In parallel, the HR team leads the employee during his adaptation. You can read more about the early days in Avito here . And I am ready to answer questions about how they tested and implemented a new interview scheme.