About a strong matrix and atmosphere in the development team

Hello, Habr. Today we want to share with you an interview with the head of the development team of one of the new ABBYY products. We talked with him about hiring, the principles of team building, the development of developers, the grading system and other near-process things that somehow affect all developers and team leaders in the world. Well, or almost everyone.



Table of contents


  1. let's get acquainted
  2. About a strong matrix and atmosphere
  3. About developer development and team building
  4. About hiring. Rubric "Shanti Boris"
  5. About distribution, remote and open space

Today we talked with:

Alexey Shtukaturov - Development Manager in one of the new ABBYY products.
Elizaveta Shvets is the leader in IT brand at Dodo.
Boris Gulay is a senior developer at Dodo.


Lisa : Lesha, hello! Please tell me how you got to ABBYY, how long have you been working there?

Alexey : Hello everyone! I joined the company in 2008 as a fourth year student. And, in fact, the person who I am now became thanks to this company. He worked for about 7 years, then went to his startup, but now he’s back, because ABBYY is cool.

Lisa : Tell me a little about your path: with whom did you start and with whom did you go to startup?

Alexei : I came to ABBYY as an intern, got into the Linux development group. We were porting the recognition engine. Quite a fun start to your career, you immediately encounter a very large number of rakes, walk through them and harden.

Then they called me to the Timlids inLingvo . I released one full-fledged desktop version, then another version of LingvoLive (web service and a niche social network). And after that, from the position of team leader, he left as a co-founder in a startup. And now he’s returned to ABBYY and is leading the development of one of the new products.

About a strong matrix and atmosphere


Lisa : How easy is it for you to communicate with the company? To go to CTO or a leader, do you need to sign up?

Alexei : I can safely go to CTO, if he is free, discuss current issues with him. But usually I go to my leader.

Lisa : You worked in a large company, and you were in a startup, where, obviously, there is no hierarchy, all are brothers to each other. Tell me from the height of your experience: is ABBYY closer to red or turquoise?

Alexei: In my opinion, ABBYY retains a unique atmosphere. This is a really big company, we have many developers and there is a good hierarchy. However, there are no communication barriers. Yes, maybe the trainees don’t go to CTO, but they just don’t need to. Absolutely calm relationship between all levels of managers and developers in the development line. From this point of view, the atmosphere is not much different from a startup. The distance from one to the other is not very large. Given that ABBYY can combine the ease of communication with the effectiveness of management - this is generally fantastic, in my opinion.

Lisa : It turns out that you have a rigid hierarchy: are there leaders, are there employees? No, some kind of “we are not leaders, we are opinion leaders”, people-managers?

Boris: The fact is that we have a fairly flat structure in Dodo, formally my leader is CTO. At the same time, there is a leadership-team, which includes the product owner, who is responsible for the product, as well as a technical leader.

The technical leader in Dodo is a person who does not have direct managerial functions, but monitors the quality of the product, helps, trains, advises; a person who is responsible for people, for development, atmosphere, processes. He is CTO's eyes and hands, because with a flat structure, each of the hundreds of developers cannot personally come to CTO.

Do you have the same people responsible for people, development and technology, or are these two directions?

Alexei: We have a peculiar structure, it can be called a strong matrix. This is the name of project management systems when you have a rather strict hierarchy of linear management, and project and product teams are already assembled from functional branches. The strength of such a system is that all teams gather for a fairly long time. In fact, one product is one product team.

A fairly common story is when, in addition to team lead, the team has a technical lead that takes over the part related to the technical parts of the development, and the team lead is unloaded and can already easily deal with the team directly. For example, I do not have such a high linear load, so there is no additional techlide, and I combine the functions of development management and leadership of the development team.

Lisa: And how do you do this, are there any one-to-one and what techniques do you use?

Alexey : The standard set for linear guidance is the regular one-to-one. Every two weeks I meet with my subordinates, about once a month I try to meet after one, and every two weeks I meet with my leader. This is an easy way to relieve the current situation in a team. It gives an understanding of what is happening and what we can do in order to somehow respond to problems or, on the contrary, to encourage achievements. There are also team retrospectives. We try once or twice a month to organize in small groups, to substantively discuss what is going on, what problems we have and to choose ways to solve them.

About developer development and team building


Lisa : Is there any development plan, IPR, some sort of thing for developing a person in software, in hard?

Alexei : For each person, this is determined by his line manager. And so we have two components. One is the global developer development system at ABBYY. The scheme is this: developers have ranks and understandable requirements, understandable assessment methods for moving and raising this rank, for assessing a person’s compliance with a certain level and opportunities for financial growth in a company. Like classic grades.

Further, the task of the line manager is to monitor the development of their children so that they grow, develop. For example, the other day I bought team licenses for online courses. All such stories are on line managers. Well, I also take care that my leads can sooner or later replace me in my place.

Lisa : And how many people do you have in developing everything and in your team in particular?

Alexei : There are 14 people in my team, I'm 15th. And I have two development teams. Usually in development groups from 3 to 7-10 people. And there are several hundred developers in the company.

Lisa: Almost like ours. We have about 120 developers, and more than 300 people in a team. Can you tell me by what criteria you look at a person’s compliance with grades, are there any technical parameters, compliance with cultural values ​​or human software?

Alexei: I do not know people who, according to soft skills, do not fit into those established criteria of the company that exist. We conduct the selection in such a way that people fit well into the team and they were interested in us. Further assessment of software skills is left to the line managers. Its approval in most cases is crucial when evaluating a grade. And then the evaluation itself on the grade goes solely by hard, the results of work that the employee demonstrated during his work at the company for a specific period are evaluated. The code that he wrote, the tasks that he solved, are evaluated. An independent anonymous assessment by experts takes place and a decision is made. A fairly standard story in IT, as I understand it. It’s hard to come up with something different from this.

Lisa: We noticed that all companies go along the same path. When the company is smaller, everyone comes and says: we have complete agile, we do what we want. The older the company, the more difficult it becomes. Without a structure, it is no longer possible to effectively develop and manage processes.

Alexei : Without a structure, it is really impossible to manage, because if there are no grades, then how will we assess whether a person is worthy of us raising his salary?

Lisa : Has it somehow changed since 2008?

Alexey : Since 2008, this scheme has been functioning.

Boris : What has changed for your being?

Alexei: During my time, the organization of departments has changed. When I came and went, there was a system that has a technology department in which all R&D is assembled. R&D is understood as research in the field of OCR, Capture, NLP. And there were food departments, within which products were directly made. Each product department was an independent unit with its product director, who was responsible for everything.

The product director had a development manager and a head of Quality Control Department (technical control department). These positions are completely duplicated in all product departments.
When I came back to ABBYY, this structure changed. The whole development is a single mechanism and the division into products is carried out according to the matrix scheme. This is the only change that has occurred from an organizational point of view.

. « »


Lisa : Now I’ll change the topic abruptly, I can’t help but ask how your employment looks like? What stages do applicants go through? Boris recently published an article about an interview in the Dodo with a description of the stages, what if someone comes in handy, who wants to come to us. And how does this work for you?

Alexei : If we leave out the initial HR-screening and phoning, then the applicant passes three technical interviews. This is an interview with the leader who is recruiting the team, then with the development manager and CTO. In most cases, the first two stages are combined into one, because the team lead to which the person goes to the team and the development manager of the area (we call it Development Manager) usually conduct the interview together. Thus, the number of stages is reduced to two.

When I rejoined ABBYY, I had a problem hiring front-end developers. Because from the moment when HR contacted the candidate until the interview with CTO, a month passed. And for front-end hiring, due to the large shortage of personnel, this was simply unacceptable. Sensible front-ends, having entered the market, find a job literally in a week.

We made an optimization: we agreed with CTO that we would give him a full report on how the interview went. As a result, they removed one more stage, and now there is an exclusive branch of front-end tenders, when we really decide from one interview whether to hire or not. At the interview itself, we conduct a fairly deep assessment of technical and software skills. In the course of an hour and a half, we were able to pull out from a person all the information we needed.

Boris: What software skills do I need to get into ABBYY? Or should not be?

Lisa : We have the rubric “Shanti Boris”. I propose to play and ask him a question, how in a real interview to check whether Boris is suitable for ABBYY in software.

Alex : Let's try. Skip the standard greeting and get down to business right away. Boris, what is most important for you in your work?

Boris : To get up to work in the morning, you did it with joy, and not with disgust.

Alexei : What do you need for this? I will explain. You can get up to work with joy, working as a security guard. And what exactly brings you joy at work?

Boris: In general, physical labor attracts me. If they paid for it comparable to the development, I might have gone somewhere as a plumber, I know how to do it well, I help my parents with this. But regarding IT, it is a strong team in which to grow, interesting tasks and less politics.

Alexey : Where would you like to grow?

Boris : I would like to grow in technology, because in IT, to stay at that level, you must be in a strong team. Technology is changing, especially in the front. And I'm a full stack. Every day, someone brings a new framework to the frontend. And I would like to grow in people's management: I want to learn how to find a common language with the most nasty and unpleasant people.

Alexei: You say that it would be interesting for you to grow in the technical part and that technologies are changing rapidly, especially in the front. And how do you feel about these innovations in the front line?

Boris : Calm down. This is not a question of a person or a team, but of adapting a new technology in a company. A good company should not stay on old technologies just because everyone knows how to do it. New technologies often bring something good, which improves the quality of the code, the development, and the operation of the application.

You need to be able at the company level to separate good technology from just the same, but on the other hand. And this should be done by the guys who will use it. Good practice is some technical meetings at which the one who brought in must defend the idea of ​​this new technology before the same developers. It really impresses me. Now we don’t have this, but I would like to do such a thing. Brought a new framework - come on, tell and convince that it is better than the old one.

Alexei: Convincing that the new framework is better than the old one is easy. The introduction of a new framework is a technological risk; most likely, it, solving some problems, most likely causes others. The question is, what would you look at when choosing a new framework? How do you make a decision that it is suitable for launching in production, and that even let it wait half a year?

Boris : Based on the fact that we need the framework itself, it brings something useful, I would look at the stars on the Github: how many people downloaded, what bugs there are, what they write about it on StackOverflow, everyone is trying to solve some problems or ask about functionality? In general, the reviews can make an impression and understand what to do with it.

We had a similar story, I told FrontronConf about Electron. We chose it quickly enough, without enough research, and then it turned out that despite a bunch of stars and downloads, he has a million problems and a thousand bugs. A real case when the number of stars and downloads does not correlate with the quality of the code.

Alexei : Code review: what do you usually look at?

Boris : There are general rules that we have adopted. It concerns, rather, the style, names of variables, as we write functions. And then you need to look at the code: as a person realized the task, you still need to dive into it. A review is not only about the quality of the code, it is about sharing knowledge. I looked at his code, how he solved the problem, I understand what he generally did approximately. If he quits tomorrow, I must be able to catch it.

Alexei: Tell me about your Definition of Done.

Boris : Speaking about mine personally, it’s necessary: ​​the code is compiled, the tests pass. It is a common story that the code compiles and the tests are forgotten to fix. And then I run the tests with my hands. In principle, such a team’s Definition of Done is in terms of committing in a shared thread or posting some publicly. Plus, we have this in Dodo: when the task is completed, it is rolled out at test pizzerias and works.
Alexei: Do you check the compliance with the models?

Boris : Before the commit, a designer comes to the general branch and makes a design-review.

Alexei : What do you dislike about your current job? Why are you leaving?

Boris: I came here to try, and this is not a secret. I had two offers. I faced the same choice as most people who come to me for interviews in Dodo. For me, the deciding factor was the person who was interviewing. I realized that I could work with him whatever the company and tasks. I think the chemistry that comes up at the interview is the best thing. A person is not better convinced than a pleasant interview.

Now our company structure is changing, we are growing, becoming more hierarchical. This story about leadership-team arose because we grew up and managing in the old way becomes difficult. This can be a reason for leaving not only for me, therefore we try to work on it.

Alexei: Everything, I asked briefly typical questions, which I usually ask at interviews with people.

Lisa : Boris came to you?

Alexei : Absolutely in software skills. Returning to the question of Boris about what software skills are important for people - this is the attitude to work and to the code, an understanding of what a code review is, how and why it is done, this is the attitude to the current work. The only case when we refused a candidate based on soft skills was when a person came and poured mud on the current employer. It was rather unpleasant to even listen, although everything was presented in a cheerful manner.

About distribution, remote and open space


Disclaimer: . , , ABBYY , .

Lisa : Lesha, we called you because the bird brought on the tail that ABBYY has distributed teams, and you know how to work remotely. Tell me, do you have a lot of employees working on the remote, do you have a team on the remote?

Alexey : Probably, we should start with the fact that the company has offices in 13 countries of the world. A very large amount of communication takes place online. For example, the product that we make, its ideologist, inspirer and driver, permanently lives in the States. We have about 4 meetings a week with him, so I only see him in Zoom. This is a global company.

As for our team, we have about 30% of the team in normal mode working on a remote site (this is even before self-isolation and quarantine). Of those whom we hired recently, 80% of people are remote workers, unfortunately. I will explain why. On the one hand, there are no problems with remote development; we, in my opinion, have perfectly built communication processes. Development does not depend on whether a person sits in an office or not. “Unfortunately” - because it’s much more comfortable to come to an employee and chat with him, purely humanly it’s nice. Live chatting is nicer than chatting on Skype. Now this is not, so I say "unfortunately".

A third of the teams in ABBYY are remote, and there are no problems with that. To make people fit into the team, we make business trips from other regions of Russia to the head office in Moscow when they are employed, they come and spend a week here. Then we repeat this periodically: that is, for about a week a person arrives, communicates with the team. This is a good time to adapt. And the processes are exactly the same as we built inside the team, they are broadcast outside for remote employees and everything works.

Lisa : Is there a difference between processes in a remote team and physically located in one place?

Alexei: Given that there are employees in the team who work in the office, and those who work remotely, we did not make any differences in the processes. That is, planning is a general meeting at which the whole team gathers, stand-up is a general meeting at which the whole team gathers, some in the office - in front of the TV, some are connected remotely. Even those who work in the office periodically connect by distance, because we generally have such an attitude that you can periodically work from home.

Now we all switched to remote work and did not change our processes. Everything is as it is, exactly what we are doing. The only thing that we do not meet in the offices and meeting rooms, everything was transferred to Zoom.

Lisa : You don't have an open space?

Alexei: We have different ways of placing guys. There are people who sit in cubes - such a classic ABBYY-shny landing, about 2.6 square meters of personal space. There are three walls around you, and you only see a person who can sit in a cube opposite you.



There are options when they work in the office, it is designed for 6-9 people. Inside the office is open space. We are sitting in teams just like that. This is the most comfortable story when the ratio of freedom and communication with noise in the room is optimal.

A lot of suffering due to open space. In my startups I sat in open spaces for 50 people. No, I'm not ready to put my guys in such an environment.

Lisa : Is there a difference between motivation for people who work remotely and who come to the office? Have you noticed this?

Alexei : I would share the situation when a person consciously chooses a remote job, and the current one, when we all find ourselves in a remote place. In the first case, it is a person’s choice, his conscious decision, and he must calculate his strength and behave independently so as not to burn out. Now that we have transferred the teams to a remote location, I spend one-to-one regularly communicate with the guys and ask how comfortable they feel.

In general, most of them say that working from home is not much different. Due to the fact that we kept the working rhythm, and we had built work processeswhen we all worked in the office, this working rhythm is carried over to now. Further, when you have a working rhythm, you maintain a work-life balance. Having such work experience in the office helps to maintain this rhythm very well at home.



Podcast Nothing of the Thing. This article is a transcript of one of the releases of our podcast. We became interested in what the culture looks like, teams and processes are being built in various technology companies like Miro, Yandex, Amazon, Microsoft, Food. Therefore, we met with the guys from there and chatted on these topics.

You can listen to the full version of the release with ABBYY:


All Articles