📜 ⬆️ ⬇️

How IT professionals work. Alexey Rybak, head of Badoo development

image

On November 7 and 8, the HighLoad ++ 2016 conference was held in Skolkovo. More than 200 experts made presentations on high-load services, problems of working with them, administration, and much more.

At the site, we were able to communicate with different experts. Most of them write code, or they wrote it in the past. They told us about their mode of work and rest, their professional habits, the tools they use, and much more.
')
We interviewed everyone in a blitz survey format. It will be interesting to find out what unites these IT-specialists, in what they are similar. Perhaps their answers will help to identify some general patterns, useful tips that will help many of us.

Our guest today is Alexey Rybak, head of development at Badoo .

What do you do in the company?

The development head has two tasks. The first is to build a professional, modern, efficient engineering organization. This is such a big “cloud” of various engineering teams: development, testing, administration, monitoring, business intelligence department, and for two offices - in London and in Moscow. The workflow should be as streamlined as possible: products start up quickly and be updated, vacancies are closed by cool guys, for whom class work conditions are organized; communication must be clear and productive, and so on.

The second task is to manage the Moscow office. This adds administrative work.

Badoo is now at a rather interesting developmental stage. On the one hand, we are a fairly large, well-known company. On the other hand, we keep the dynamics of a startup, launch new features in just a few hours or days, release mobile products several times a month, backend and web / mobile web several times a day. And this is a challenge: try to keep the rhythm and pulse in such an already impressive organization.

In the Moscow office, the processes have been debugged for a long time: the office has grown from 50-60 people to 140 in 2011-2012. And the London office is growing right now, there is a lot to build here, because almost all client development is concentrated here. Today, more than one hundred engineers work in each of the offices. And from the point of view of the product, it is also an interesting time: as a company, Badoo has become more like a “platform” or even an “incubator”, within which not one product, but many, is made on one technological platform.

One word (phrase) best describes how you work.

A huge amount of talk.

Speech about constant communication and interaction?

Constant communication with colleagues. At some points you just need to listen and ask questions, and at others you can help, explain, give advice on how to do it.

How many hours a day do you spend on work?

It is difficult to say, because most of the communication is by email and phone. If this is not taken into account, then, I think, 8-10 hours.

How many hours do you sleep?

I try at least 7 hours.

What are you doing on the way to / from work?

I do not spend much time on the road. As a rule, I try not to do work: I listen to music and radio programs. On the way from work, you often have to talk on the phone - because of the temporary difference between London and Moscow: in the winter you return home at nine o'clock in the evening, and there are six more, and life is in full swing.

What kind of todo-manager do you use personally?

Firstly, I have notes on the iPhone. Secondly, I decided for myself that if I miss the notes, then whatever the todo-manager, it will not work effectively. Thus, it turns out, I limit myself. I'm pretty ascetic about this.

In the mail I have a todo folder. Part of the task is in the inbox as "unread". All old school.

What kind of task manager do you use / issue tracker / repository?

Version control system - git, task manager and issue tracker - JIRA.

Do you use JIRA in business units?

Yes, but the people there are far from converting all their internal tasks into “tasks”, however all product tasks are conducted in JIRA - along with the mock-ups, PRD (product requirement documents), and so on.

What is your working environment? Framework, other third-party products?

We actively use HipChat. Unfortunately, it is far from ideal, but it is well integrated with the features we need. We actively use IDE - PHPStorm, for example, although, personally, when I programmed a lot, I managed to do the good old vim. As for open source - full of all sorts of libraries, do not list briefly.

Are there any internal projects in the company and why were they created?

We have a big enough company: there are already more than 200 engineers. Examples of internal projects - many. We encourage different activity of employees, but in general, of course, we want all internal development to be used by us somehow later.

I will give examples of both infrastructure and a couple of product projects. If we talk about products, then, for example, a few years ago a student who wrote under iOS came to our London office. He wanted to be an intern with us, but he seemed to have time for only a month in the summer. And we have a very large code base, in a month just to figure it out, to write something interesting in production, there are few chances. Therefore, the guys from the mobile development offered him to make the Badoo Reception App. Now this project is used both in London and in Moscow.

This application for accounting of visitors in the office. We are certified for the highest level of PCI DSS, so for us it is simply necessary, as it is one of the main certification requirements. The application works as follows: you come to the reception desk, where a tablet, an iPad, is located on a special counter, through which you must register and register your visit. You enter the names - yours and the employee you came to.

The application remembers all visitors and by the first letters suggests an employee from the list who receives through the back office API, therefore this part is filled especially quickly for frequent visitors, for example, teachers of the English language. Then you take pictures, leave a signature. Nearby is a printer that prints your badge, which, according to the rules, you need to attach yourself to your clothes - and all this happens in just half a minute. When you leave, find yourself in the list (you need to find your photo and substitute the desired name) and click "gone", that's it.

image

There is another project - a rather serious internal HRM system that solves important HR tasks, the first task is to automate the process of Performance Review. Initially, we wanted to buy such a system, but in 2011 we did not find anything on the market that would work normally and could be quickly and easily customized for us.

Thus, our Performance review tool was born, which allows us to review employees of our teams. The review is based on the 360-degree method, that is, collecting feedback on the work of an employee from various sides. The guys briefly describe the results of their work for the period, it does not take a lot of time (20 minutes), but allows you to sit down regularly and think about what was done, whether there is a result, progress in processes and tasks. Then colleagues are selected (peers) who can evaluate and give feedback on these tasks. For a programmer, this can be not only programmers, but also testers, product managers, opinions are important from different angles. As a result, managers look at the whole picture as a whole, what has been done, with what result, what their colleagues think, and give their final assessment.

The system also allows for the calibration of grades - to compare the grades of children who are at the same level, to compare their results, this is also done online. In some cases, we are going personally, but nonetheless we try to do everything online so that the “bureaucratic” procedures distract from work as little as possible and are as simple as possible so that they can be carried out from home or on vacation, for example. Based on the estimates, the bonus is calculated, that is, despite the ambiguity of the majority of bonus systems, we regularly evaluate the results of work, give feedback and pay bonuses.

The second task, which this system solves - the accounting of all absences, vacations, day offs, sik-deev, sick leave - time off tool, facilitates and simplifies this bureaucratic slice of employees' lives.

And, of course, a corporate directory with photos, phones, Skype, birthdays and other data. There you can, for example, order a call by pressing a button: the bell automatically rings on your phone and the other party’s phone. In general, in a few years the system has developed into a very useful product.

Now a fresh example of an infrastructure project. This year we were one of the first to switch to PHP7 - we started training when the 7th branch was still in the state of release candidate.

First, we found some unpleasant bugs - and the team of Dima Stogov, the main developer of PHP7, quickly figured out and fixed them. For our part there was at least one engineer who was almost always engaged in this project, corresponded with a PHP-team, changed something on the stand, experimented.

Secondly, we had to completely change our approach to testing, and we made a special project SoftMocks and put it on github. We wrote about this in detail in the article about switching to PHP7 ( https://habrahabr.ru/company/badoo/blog/279047/ - Badoo switched to PHP7 and saved $ 1M) and in a separate article on SoftMocks ( https: // habrahabr.ru/company/badoo/blog/279617/ - "SoftMocks: our replacement runkit for PHP 7"). Quite to yourself internal infrastructure projects.

What annoys you most when you work?

When something annoys me, it's a signal that I'm doing something wrong. The work of the manager is always accompanied by a bunch of distractions. Therefore, it is necessary to change and change the world around you in such a way as to either live with it or change it, but not get annoyed. Purely human, of course, I am upset by a large number of instant messengers, each of which begins to “twang”, especially in the evening. There are about five communication channels, and often they are activated in parallel. But it certainly annoys many.

What professional literature would you recommend?

I do not read much, and somehow I rarely find in professional books something new and useful for work. I used to read a bunch of technological blogs, about new tools and technologies, but now - very rarely, there is a lot of noise, little use, time is running out. If we talk about the books that once made a strong impression on me, there were four of them: “Introduction to the databases” of Data, “Zen and the art of caring for a motorcycle” Pirsig, “The Way of Kamikaze” by Jordon and “From Good to Great” Colinsa Well, I advise novice managers to read the classics of both the general purpose type Drucker and the purely IT-style of the same Yordon, DeMarco.

What do you prefer: electronic reading rooms or paper books?

Both those and those. If I read any art book, I am pleased when it is paper. If I need to read something at work, I prefer that it was not a book, but an article, in the books a lot of water. And then it's easier to work with her in electronic form.

What equipment (computers, tablets, smartphones) and why do you prefer at work and at home?

For a long time (early 2000s), I had Windows and Linux on the same machine, both at home and at work. Then only Linux remained at work. Linux should always be the default, and if you need something specific, where Windows must have, I rebooted into Windows. Virtualization did not work very well then.

When I got a Mac, I suddenly realized that there was almost everything I needed, and to write and debug code, and the necessary office applications, and so on. But around the same time, my focus has already changed dramatically - the number of technical projects has rapidly decreased. So now I'm happily sitting on a Mac. At home, I haven't had a computer for several years now: I carry a working Mac everywhere. And when I remember that I had to reassemble a kernel module for wifi once after buying my first laptop, I’ll tremble. On Mac, everything just works.

What do you listen when you work?

During work I do not listen to music. It seems to me that music is something that should tear you to shreds, or at least translate into a completely different state. Work at the same time is not very successful.

Which life hack allows you to be more efficient?

I have a lot of time for communication, a lot of communication - by mail. 10 years ago I wrote differently: I tried somewhere to be more polite, articulate, and neat. Now I am writing compressed, you can not call it life hacking, but I had to relearn. True, this leads to other problems. People sometimes don't understand me. Find new unknown meanings. Sometimes they get upset and write long answers. In short, I'm still learning. But if you constantly write some messages, like it or not, you will squeeze them.

I stopped using trackers: I don’t see the big picture, it’s difficult to assess the prioritization of large projects, everything is sinking in details. In mindmaps it's easier for me. But to my shame, I began to work actively with them only 2-3 years ago.

Well, everything connected with the mail (how to arrange filters, put them into folders) - this, too, cannot be called life hacking. You just have to do all this.

What applications and services can you do without in your work or in your personal life?

Email client Gmail, Google Docs.

What professional advice from the past could you give yourself?

Listen more. Sometimes, like any living person, I don’t have enough patience for too long in the exhausting discussion process, something in me, and I say: “To hell with everything. We do it like this, and if it breaks, we will fix it. Let's just do it. ” Naturally, sometimes this leads to problems. The ability to listen allows you not to make hasty decisions.

What would you recommend to a person trying to go the same way?

I think there should be divided into stages. The first stage is graduation from the university. I am a physicist by training, and my programming skills have been developed only in the field of numerical methods. I did it quite well, but it has a rather weak relation to the real work of the programmer. So I had to be self-taught. But I was not very good self-taught. So, if you understand that your profession will be related to IT, but now you are somewhere in chemistry, biology, physics, or somewhere else, find someone who would be your mentor or could give you the opportunity internship Due to some kind of pride or laziness, I bumped all the bumps myself, and this was, in my opinion, longer than it could be.

The second stage is a career path and employment in the right companies. Choose a grocery company so that the result of your work is exactly the product on which the company earns money. That is, that you were not just a service, but the person who makes the product. For me it was important that the company earned not to resell my time. Of course, the company also needs to be technologically advanced: so that engineers constantly improve the technological stack, systematically work on technical debt, so that you can go to learn something or go to talk at specialized conferences (Badoo sends dozens of people to the Highload ++ conference every year, as far as I know we are inferior in the number of participants to only one well-known bank, where many more employees work). All this was very important for me - work in a technology product company.

For those who have just taken the programmer’s path, I can recommend reading this interpretation of my speech ( https://habrahabr.ru/company/mailru/blog/269687/ ) to the students of Technopark, in which I talk about the adaptation of yesterday’s students to work in a software company.

The third stage is management. Management is the ability to listen and make decisions, including for others, but finding the right balance; this ability to understand that there is never an unequivocal answer to a question - there is a compromise. Everything is a function of time, people, tasks. There is no universal rule that is carved somewhere, and only it will lead to success. But the main thing: show an active position and look less for external excuses, be reasonably persevering and demanding of yourself and others - and everything will turn out.

Source: https://habr.com/ru/post/315210/


All Articles