Hi, Habr! A couple of months ago, my colleagues
talked about expanding the team 5 times: from 50 to 250 developers by the end of 2020. As you might have guessed, we are now paying a lot of attention to hiring. At the same time, we are not ready to “take quantity”, hiring everyone, saying “we will see later”. It is important for us that a person really becomes a part of our team for years to come. It was this motive that once led us to a new interview format - a test day. About him, and will be discussed under the cut.
Spoiler with numbers.In 1.5 years, we hired more than 40 people and only 4 developers left us: one went to run his business, and the rest moved to Europe.
Intro
So that the candidate and I can know each other well, there is a very long payline for hiring:
')
- HR interview,
- technical interview
- interview with CTO.
The latter, by the way, is very important:
Sasha is a heart-to-heart talker who knows how to lead even the most severe and insular geeks into frank conversation.
In addition to all this, we are having a test day with candidates. It would seem, why still a day? What do we want to know about the candidate and what do we want to show him? And who ever agrees to this?
Test day in Dodo
Starting test days was not an easy decision. The HR team was not thrilled by the even greater lengthening of the hiring pipeline: “Good specialists will not come to us so much, they already have several offers on hand!” They said. However, there were other opinions. A test day is a unique opportunity for a potential employee to learn about the real conditions in the company without getting a job there. For example:
- Learn about the real working conditions . What are the jobs, furniture, computers. Are there windows in the rooms where IT-shniki sit (after all, they are often put in rooms without windows: “all the same, they watch their monitors all day”).
- Find out who will have to work . Timlid interviewing is great, but you will have to work in a team. And to see who it consists of before accepting an offer is definitely not superfluous. Imagine that you will work in tandem with one of the developers and you will have the opportunity to spy on other couples and see if you can work alongside these people.
"Side by side" literally. We actively practice pair programming. Working in pairs is much more efficient, especially for developers who have recently come to us. And the test day gives a unique opportunity to conduct a "test drive" of the pair work in person. - Find out what really have to do . All these lists of cutting edge technologies that indicate in vacancies are great, we ourselves have longer than Rapunzel Spit. But he rarely has to do with current tasks for which they will take you. It would be nice to take a look at backlog, at the product code and
cry to understand what you have to do and whether you want to do it. - Learn about the tools you have to use . Learn in practice about the coding rules and how they are followed. For example, we decided to work in Rider, and not Visual Studio. This may be so unusual that it will become critical when making a decision to leave us. There are similar nuances almost everywhere (as a rule, for historical reasons) and it is better to learn about them before signing an employment contract.
- Learn how the real work day goes on in the team . In any decent team you will have at least daily stand-ups. It is important to see how they pass in order to understand how team members communicate with each other, what is the atmosphere in it. In Dodo, we go a little further and invite a candidate for the general public activities of the current day: devForum, planning or review. We have something happening every day, so there is an opportunity to take a broader look at the interaction of potential colleagues with each other.
For a candidate, a test day is, first of all, an opportunity to make an informed decision whether he is ready to work in this company. Zero advertising bullshit, only real facts.
If I had such opportunities at every place where I ended up doing, I would definitely not go to some of them. And would now be much less gray.
Of course, this is a test day and opportunities for the company to look at the candidate in the case:
- We want to reliably recognize "interview masters" . The best way to do this is to look at a person in the process of real work. How quickly does he begin to navigate the new code? Reading the code is, by some estimates, up to 70% of the developer's time. At the same time, we look at what solutions he proposes for the task, how the code is written, whether it follows the accepted standards.
- We want to understand how active a person is, he is able to initiate a decision himself . Of course, immediately begin to offer solutions for unfamiliar code is difficult. But in large systems like Dodo IS , you will encounter unfamiliar code after a year of work. If a person on a test day is sitting with a view of “Come on, show me how to do it” - this is a bad sign.
- We want to find out how comfortable a person is at work . This is especially important when working in pairs: won't a potential colleague "pull out the keyboard" from a partner? Can you calmly convince him of the correctness of his decisions or explain his mistakes? Pair work is a very close interaction of the intellects and the new employee should not be “toxic” in such an interaction.
Based on the above, the “test day” can never be less than 5 hours. We also try to take a candidate for dinner, this gives him the opportunity to look at potential colleagues in informal communication. And we look at the candidate outside the office.
At the same time, it does not make sense to extend this practice to all vacancies in a row. For example, we do not spend test days for juniors: novice developers require serious efforts by the team to dive into the code and when working on tasks. One day will not be able to show their potential.
The format of the test day we came up with as an alternative to the test task. I think that it is obvious to many that the completed test task (especially for the developer) leaves more questions than answers. At the same time, many excellent candidates simply score on him.
results
Indeed, in 1.5 years we hired more than 40 people and only 4 developers left us: one went to run his business, and the rest moved to Europe.
Popular questions about the test day
The very fact of the test day is surprising to the candidates. Recovering from the shock, they ask mostly the same questions. I will answer them in the form of blitz. I think it will be interesting to you, my reader:
- Is the test day paid for? Not.
- What if I'm in another city? If a vacancy implies office work, you need to come to this office on a test day. What is logical. Otherwise, it will not turn out to learn anything from the list above.
- Do you have to go for lunch? Not. You can bring your own - it's even better if you plan to always have your own. You can find out if our kitchen is suitable for your dinners.
- What to take with you? In winter, it is worth taking a shift - it will be more convenient. Nothing else.
Want to try a test day? Come - we will spend!