About hiring in software teams
Lisa: Now I’m going to change the subject abruptly, I can’t resist asking what your hiring looks like? What stages do applicants go through? Boris recently published an article about the interview in Dodo with a description of the stages, suddenly someone will come in handy, who wants to come to us. And how is it arranged with you?
Alexey: If we leave out the initial HR screening and the call, then the applicant goes through three technical interviews with us. This is an interview with the manager who is recruiting the team, then with the development manager and with the CTO. In most cases, the first two stages are combined into one, because the team leader, to whom the person goes to the team, and the head of the development direction (we call him Development Manager) usually conduct an interview together. Thus, the number of stages is reduced to two.
When I re-joined ABBYY, I had a problem hiring frontend developers. Because from the moment HR contacted the candidate to the moment of the interview with the CTO, a month passed. And for frontend hiring, due to a large shortage of personnel, this was simply unacceptable. Smart frontenders, having entered the market, find a job literally in a week.
We carried out optimization: we agreed with the CTO that we would provide him with a full report on how the interview went. As a result, another stage was removed, and now there is an exceptional branch of frontenders, when we really decide from one interview whether to hire or not. At the interview itself, we conduct a fairly in-depth assessment of technical and soft skills. We got the hang of pulling out all the information we need from a person in an hour and a half.
Boris: What soft skills should I have to get into ABBYY? Or shouldn’t they be?
Lisa: We have a heading “Boris’s Shanti”. I suggest playing and asking him a question, as in a real interview, to check whether Boris is suitable for ABBYY software.
Alexey: Let’s try it. Let’s skip the standard greeting and get right to the point. Boris, what is the most important thing for you in your work?
Boris: So that when you get up for work in the morning, you do it with joy, and not with disgust.
Alexey: What do you need for this? I’ll explain. You can get up for work with joy, working as a security guard. And what exactly brings you joy at work?
Boris: In general, physical labor attracts me. If the pay there was comparable to the development, I might have gone somewhere as a plumber, I’m good at it, I help my parents with this. But regarding IT – a strong team in which you can grow, interesting tasks and less politics.
Alexey: And where would you like to grow?
Boris: I would like to grow in technology, because in IT, to stay at that level, you have to be in a strong team. Technology is changing, especially at the front. And I’m a full stack. Someone brings a new framework to the frontend every day. And I would like to grow in the management of people: I want to learn how to find a common language with the most nasty and unpleasant people.
Alexey: You say that it would be interesting for you to grow in the technical part and that technologies are changing rapidly, especially at the front. And how do you feel about these innovations in the frontend in general?
Boris: Calm down. This is not a question of a person or a team, but of adapting a new technology in the company. A good company should not stay on old technologies just because everyone knows how to do it. New technologies often bring something good that improves the quality of the code, development, and operation of the application.
You need to be able at the company level to separate good technologies from just the same, but on the other hand. And it should be done by the guys who will use it. Good practice is some kind of technical meetings at which the one who brought it must defend the idea of this new technology to the same developers. I am very impressed with this. Now we don’t have such a thing, but I would like to do such a thing. I brought a new framework – come on, tell me and convince me that it’s better than the old one.
Alexey: It’s not difficult to convince that the new framework is better than the old one. The introduction of a new framework is a technological risk, most likely, by solving some problems, it is likely to cause others. The question is, what would you look at when choosing a new framework? How do you decide that this is suitable for launching into production, and let it wait another half a year?
Boris: Based on the fact that we need the framework itself, it brings something useful, I would look at the asterisks on the Github: how many people downloaded it, what bugs are there, what they write about it on StackOverflow, everyone is trying to solve some problems or asking about functionality? In general, according to the reviews, you can make an impression and understand what to do with it.
We had a similar story, I told on FrontendConf about Electron. We chose it quickly enough, without sufficient research, and then it turned out that despite a bunch of asterisks and downloads, it has a million problems and a thousand bugs. A real case where the number of asterisks and downloads does not correlate with the quality of the code.