📜 ⬆️ ⬇️

How to evaluate the work of the programmer? Opinion of Yandex employees

It has long been arguing that a programmer’s job is a craft, a skill, or an art. At the same time, the question of the result evaluation constantly arises. About how different developers and managers in Yandex approach the issue of evaluating the work of a programmer, we will talk in this post.



In Yandex, hundreds of programmers are working, and the results of their work affect the services used by millions of people. When you have such a responsibility, you need to be able to stop and assess what can be done better, where you are most at ease and where these skills of yours will still be useful. To do this, you must be able to evaluate both your work and the work of the people with whom you create something together. We asked our colleagues about how to do this.

Andrew styskin Styskin
In Yandex - 8 years.
')
Came to Yandex by a Java developer to the Market search group. He was engaged in the classification of commodity texts and the extraction of facts from product descriptions. So began his passion for search and machine learning. Outside of work, Andrei made various IR-toys: a generator of poems on language models, a robot for pumping social networks. Now Andrey is in charge of the ranking department, in which a team of almost 200 people works.

image

In fact, there are two important characteristics. First, this is how aesthetically correct the programmer does: how beautiful his code is, we perceive it by others. And the second thing that may conflict with the first one, but at the same time it is very important, this is how much he knows how with his actions, with his code, to achieve results by some metrics. For example, search quality.


Anton pg83 Samokhvalov
In Yandex - 9 years.

Came to Market by a C ++ programmer. Worked on a variety of service tasks. A few years later I moved to search, where I took up the reliability and performance of the runtime search. Now he is working on an assembly system that will allow us to collect our entire code base in a few minutes on a large distributed cluster.

image

It seems to me that the most correct way is when your colleagues evaluate you. This is how to evaluate, a good page on the Internet or a bad one. If people come to it, then it is good, if not - bad. What is called page rank. Also, people can rate each other. If most people around you think that you are a good programmer, then you are a good programmer. If it does not, then it is not.


Andrew yafinder Plakhov
In Yandex - 6 years.

Came to Yandex as a senior developer. His first task was to create a new type of ranking factors - domain. He is currently in charge of the search functionality service - in particular, he is developing search tips.

image

And how to evaluate the work of the artist? In a sense, these are very similar questions. There are two steps - an aspiring artist and a professional artist. How to evaluate a beginner is understandable. It is much harder to rank among professional artists. Some tastes begin already, the criteria may become poorly verbalized. But nevertheless, then, unexpectedly, it turns out that really top artists all seem to be approximately the same. Even if in blind tests to show pictures of a great artist and pictures of his students, then people will more often choose master paintings. It seems to me that it is also difficult to verbalize with programmers, but nevertheless the internal hierarchy is always built.


Stepan Stepancheg Koltsov
In Yandex - 8 years.

The head of the monitoring development group in search. Steppe from those employees of Yandex, who left, but then returned. One of those who promote Rus t in Yandex and not only.

image

The work of any person must be evaluated by results. If a person has solved the task assigned to him, he is well done, if he has not decided it is not well done. But there are different tasks. There are those in which you can do everything somehow - if only it worked. Then no one cares how crooked and how it is done. And there are projects that live for a very long time - years. And there it is very important that after a person there remains a quality code so that he can transfer it to another.


Alexander sadovsky Sadovsky
In Yandex - 11 years.

I came to Yandex to work on projects related to the search. Under his leadership, a blog search , Yandex.XML were created, a new ranking algorithm was launched, and a robot for promptly indexing up-to-date information, an assessor service was created and a search quality measurement started. Sasha is the author of many publications in scientific and popular media about search engine algorithms and website promotion on the Internet.



This is a very interesting question, because a programmer is, on the one hand, seemingly a profession of intellectual work, and on the other, in some places it has become a craft. There are programming elements that are scaled, where knowledge is rather easily transferred from one programmer to another. And you need to evaluate here in different ways. Where programming has become a craft, where it has become more or less understandable by an automated process, concepts can be introduced, as in physical work — standards, output. Classics of the genre - the creation of corporate sites that are more or less the same create hundreds. And in the intellectual part it is necessary to assess the complexity of the task. Most likely, this can be done by talking with the programmer himself, with his colleagues, with those who understand the essence of the work. And the decision to evaluate in this case is quite complicated, based on common sense. It cannot be taken mechanically. And we, fortunately, have a lot of this more intellectual type of work, which is why the work in Yandex is interesting.


Mikhail Parakhin
In Yandex - 1 year.

After graduating from the MEPhI, he began working at ZAO SEC Modul. In the 90s it was almost the only place in Moscow where they were engaged in automated learning systems. Then he went to the company Parascript, which is actually a monopolist in the field of handwriting and typed text recognition. For many years he worked in the United States. The last seven years have been Microsoft, five of which headed the multimedia search services division at Bing. In the spring I came to Yandex as search technology director.

image

This is a difficult question, and I think no one knows the answer to it. But the best we have come up with is to ask those who work a lot with a person. Usually people around who read his code, communicate with him, watch how he works, are pretty good at knowing who is good and who is bad. In the review system that we are creating now, the emphasis is largely on polling such people. And to objectively evaluate, of course, there are many methods and attempts, but I do not know how to do this in reality for sure.


Mikhail Levin
In Yandex - 5 years.

A very large part of the activity is work in our academic programs. He teaches at the School of Data Analysis, participates in creating a curriculum at the Faculty of Computer Science at HSE and Yandex. Twice he won medals at ACM ICPC in the team of Moscow State University. Mv Lomonosov.

image

Evaluate the work of any employee need to result. According to the result, both in business and, if his work directly does not affect the business, in the creation of tools, infrastructure, internal things, including relations with colleagues. This is a whole complex. Programmers in this sense are no different from all the others. The only, probably, difference is that in our company, in many IT companies, they are those who create the product. Therefore, their work can be judged by how good the product is, how successful it is - and so much their work is good. Of course, they are not the only ones who share this responsibility. There are those who decide what to do in the product. They are responsible for how. A good programmer, of course, wonders why he does this and refuses tasks that are set simply from the ceiling.
.

Andrey Mishchenko
In Yandex - 10 years.

He came to Yandex as a developer in C ++, for a long time was the head of the Blog Search Development and wrote in Perl. Andrey is a Candidate of Physical and Mathematical Sciences. Now he is working on improving machine learning algorithms in search.

image

Each level has its own requirements. If the programmer is an intern, then he should be assessed mainly on how his eyes are burning, how much he wants to learn it all, how he can force himself not to be bored, to find those tasks that will be of interest to him. When a person is already starting to grow, it’s more important, of course, how much his return is, how much he does the tasks quickly, how well the decisions are of high quality and they don’t have to be redone later. If we go even higher and talk about the architect, then, naturally, his work needs to be assessed not because of how quickly he composed something, but according to how many changes in this architecture had to be made in a year, and how far she looked into the future .


Sergey svv Vavinov
In Yandex - 6 years.

Came to Yandex by Yandex.Video developer. He was mainly in the development of music, then in the service of media services. Made several projects for Yandex.Disk. Now - the head of the group of technologies for working with big data. One of the tasks Sergey is working on is Yandex’s projects for CERN.

image

There are several factors. The simple answer is, of course, to evaluate the result. The person spent so much time, decided or did not solve the problem. But this is only one side. The code he wrote needs to be maintained. It is necessary to maintain certain standards, he passed a review, to have uniform rules on how the development is being conducted, to have colleagues check each other and evaluate the code from the point of view of how it is suitable for long-term work on the project.


Gregory Bobuk Bakunov
In Yandex - 10 years.

Once came to work as a system administrator, and now - director of technology distribution.

image

Complex issue. It seems to me, by the result. In fact, every programmer has some task. And there are such programmers whose task is to conduct an interesting experiment. And then no assessment, except to study its result, you will not do. And there are programmers whose task is to create a product. And then you can look at how it functions correctly.

But it seems to me that it is right to talk about how badly to evaluate the work of a programmer. It seems to me that when evaluating the work of a programmer, it is absolutely wrong to roll into details. For example, to say that the programmer did everything well, but testers did not follow. Or the programmer did everything well, and the system administrators did not do the right thing. This manner of blaming everything on those around me is terribly annoying. It seems to me that at each point, on the contrary, you should try to take everything under your own control as tightly as possible, because it is better to check three times than not to check one. And in this situation, it seems to me that it is obvious to evaluate the work of a programmer by the quality of the product he deals with. Even if he makes a small gear in this watch, it is necessary to evaluate it by how accurately this watch works.

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


All Articles