The smartest: how the career of the winners of the world IT championships developed. Code of the winners: how programmers from Russia gained worldwide recognition Andrey Lotin inversion

A team of students from St. Petersburg University won the World Programming Championship, which ended on May 19 in Phuket. The Russians solved the problems 7 minutes faster than the students of Shanghai University, the Harvard team took third place. A total of 128 teams participated in the final. The SPbU team included Igor Pyshkin, Stanislav Ershov, Alexei Gordeev, as well as coach Andrey Lopatin - employee social network VKontakte and former developer of the Telegram messenger. In 2000 and 2001, he himself won the student world championship as part of the St Petersburg University team.

"Secret" spoke with coach Andrey Lopatin, who has been preparing students for the Olympiad for a year.

- What is stronger - St Petersburg University or ITMO?

This is an eternal question. Depends on who you ask. St. Petersburg State University won four times, ITMO - six times.

Tell us a little about yourself. I read that you graduated from the legendary Lyceum No. 239 in St. Petersburg, where many famous people studied from Grigory Perelman to Boris Grebenshchikov and met Nikolai Durov there (co-founder of VKontakte and Telegram. - Approx. "Secret").

Yes, it was. Lyceum №239 is one of the best in St. Petersburg. There's a lot famous people studied at the same time with us, for example, Inna Druz. But I did not finish it, I studied there from the 8th to the 10th grade, and finished the 11th grade at the language school No. 238. An experiment was conducted with our set: we studied English, French, Latin, Ancient Greek and other languages, studied philosophy, oriental studies, and ancient culture.

My parents are teachers. His mother taught mathematics at school, and his father was a military teacher, he commanded a company in the ASO (emergency rescue squad).

- When did you get interested in programming?

It started with the fact that a book about the Basic language fell into my hands, I read it, but no practical application could not find. I got acquainted with computers in the early 90s, they brought them to a language school, and I tried to reproduce some programs from the book from memory. I was surprised to learn that Basic has many different dialects and what I know about the language from this book does not work well on computers. I started learning different programming languages ​​and really got into algorithms in the ninth grade.

In the eighth grade, I wrote some programs, mostly in Assembler - now it sounds pretty crazy, it's the lowest-level machine language, but then there weren't many options. For example, he wrote a Forth language compiler - a program that recorded sound from a tape recorder.

- you wanted to practice scientific work related to programming and mathematics?

While still at school, I was a member of the Russian team in computer science and went to international Olympiads for schoolchildren. Then I entered St. Petersburg State University, where they told us a lot about algorithms, I was already seriously studying them.

I managed to work in science, but not for very long, after university I was more engaged in practical things. For example, he coached a programming team, worked on VKontakte and Telegram, and was involved in a project in the field of Veeroute transport logistics. I have been working at VKontakte since 2008, when the standard architecture stopped working, I had to make my own, we created it together with Nikolai.

- In which Olympiads did you win?

Student finals of the 2000 and 2001 World Championships, Nikolai Durov and I, in 2009 I won the Topcoder marathon. Then these were very important events, but now they have somehow reduced their influence.

- They also have Facebook, IBM and other companies as partners there.

Facebook is now running its own competitions. Maybe they support them a little, I don't go into the intricacies of the relationship between Topcoder and Facebook, well, it works - and it's good. The guys are actively involved in Topcoder, I also sometimes remember the past, it’s useful for me to participate, I just don’t always have enough time. The numbers speak for themselves: before they invited 72 people only according to the algorithms to the final, and now only 8-12. Maybe they couldn't compete.

We have a strong project in Russia Code Forces, which, in my opinion, has become more popular in the world than Topcoder, it is made by Misha Mirzayanov from Saratov University. This is a good case - how a person from algorithmic programming created the world's leading project in his field. There, five thousand programmers participate in each round.

Do you prepare students first of all for the International Student Olympiad? Is this the most important Olympics in the world?

Yes, first of all it is the ACM ICPC World Championship. Over the past 16 years, teams from St. Petersburg have taken first place nine times - either we or ITMO. This championship is considered the most prestigious. Universities from all over the world compete there, three people per team. PhD students are allowed because in English it is called Ph.D. But there are restrictions on the age and number of attempts: you can participate in the semi-final and quarter-final competitions no more than five times, in the final - no more than two.

- I saw that Saratov University also won.

Yes, Saratov University won just with the coach Misha Mirzayanov.

- And before 2000 there were a lot of American universities, then there was no one in Russia?

It used to be such a local event, and then IBM came in with sponsorship, they launched a very active campaign to attract people. Russian teams have been participating since 1995.

- What are our main competitors? Chinese?

Depends on the year, but usually Poles, Chinese, MIT students. The Poles have a very strong school in Warsaw. They won several times, and this year they are among the favorites (the interview took place before the championship, the Warsaw University team took fifth place. - Approx. "Secret").

Do programmers have a monetary motivation to participate in competitions, or is it more of a desire to solve some problem and prove to themselves that they could do it?

There is also monetary motivation. Plus participation in the Olympiad helps to build a career. At once invitations from different firms begin to pour in.

- But there are theoretical programmers, and there are those who solve applied problems?

There are people on teams who do theoretical mathematics and what is called computer science, but often companies need such mathematicians. In business, you also have to calculate the integral or something like that, optimization problems cannot be solved otherwise. Theory is important, but people more often want to solve practical problems.

- How did the technological boom affect the profession of a programmer? Is demand up now?

This profession has always been prestigious, there have been all sorts of dot-com booms and stuff. Already in the late 90s, programming in Russia received very good money in dollars. Some went to the West - for example, my school coach left at the invitation of Microsoft in the USA back in 1997. When I was in high school, a lot of people thought about a career as a programmer to make a good salary, but I was just curious. Now the computer and mobile technology have firmly entered our lives, programmers are needed everywhere, and now, as then, people receive good salaries.

Are more people leaving now?

I think it's about the same. At one time, it felt like less was leaving - this is the period from 2004 to 2012. I remember how in 2005 Google held an event and immediately invited the finalists of the Olympiads to work, and we counted with the guys how much of the salary would be left after deducting taxes, living expenses. It turned out that there was no particular point in going for the sake of money. Now, because of the dollar exchange rate, they probably began to leave more often.

I would say that 30-50% leave olympiads. Some want to do science, they leave for American, Canadian, German universities, some then return.

- How often do you train?

Team - three times a week for five hours, plus fees several times a year. There are also all sorts of competitions - the already mentioned TopCoder, Codeforces, Facebook, Google, VKontakte, Yandex contests - you can’t remember everything. The guys participate in them so as not to lose shape. This is already a sporting event, where it is necessary not only for the head to work. There is chess: someone says that it helps to plan, calculate people's moves - I played chess myself, it seems to me that it helped me to participate in other competitions, because I already had experience of competition. Although programming is an intellectual sport that is much closer to reality.

- Where do the fees usually take place?

Sometimes we gather in Petrozavodsk, in early April we went to the training camp at the Moscow Institute of Physics and Technology, our team won, although there were also participants from Shanghai. Unfortunately, there was no team from Warsaw that beat us at the previous training camp in Petrozavodsk. It would be interesting to meet again and see how we improved. In 2007 they had a very strong team. She beat everyone head on and won the world championship. In 2008, this team jumped to an unattainable height based on the results of all training camps, there was not even a thought that someone else could win. And last year, this team with one task did not work out in the final and they did not receive a single medal, although the medals are given to the 12 best teams - four gold, four silver and four bronze.

- Drive and adrenaline as in a big sport?

The load is very high, the participants are knocked out for a long time, although when I became a coach, I realized that being a participant is not the worst thing. The participant can at least do something, but the coach is simply isolated and he can’t do anything when he wants to suggest. It's very nerve-wracking.

- Then these people, as a rule, get a job in large companies?

Often. I remember when the team won a silver medal in 2010, they were given a job at VKontakte. I think it was useful for them, because they learned what responsibility is when you work for a big company and a big task. This helped them feel more confident in the final, they received a gold medal and became European champions in 2011. Now people from that team work on VKontakte and Telegram.

Big companies constantly offer jobs to both the guys and me. Not so long ago, I received a letter from Google in the following form: please tell me in which office would you like to work? London or Zurich? I once participated in the year 2003 in the Olympics, which was sponsored by Samsung, they still periodically send letters: maybe you still want to?

Photo: © Alexander Lopatin / lopatins.net

- Do you consider such options at all?

It is completely unclear why I do this. As a rule, in large companies there is much less opportunity to try something.

There is a feeling that programmers are such a closed community of people who are comfortable with each other and not always with the outside world. Is there such a thing?

Programmers can be introverted due to the fact that they have a slightly specific way of thinking, so they come up with all sorts of jokes about them, like “soap, rinse, repeat” and so on. But there are, on the contrary, open guys. By the way, they say that the guys from the team with which I traveled in 2008-2009 regularly played plate and ball and invited teams from all over the world to play with them and thus set the trend. In Russian computer schools, it seems to me, great attention dedicated to making a good person grow up. Such an environment, which may have been formed since Soviet times - songs with a guitar, amateur performances, all that. Social work some is underway, for example, a performance can be staged.

Do you notice that there is a rejuvenation of the profession? 20-year-old programmers win competitions and get jobs in large companies.

Talented young people are always there, periodically there are people who show very good results in an early return. For example, when I was in the 11th grade, seventh grader Petya Mitrichev from the 57th school almost prevented me from entering the international school Olympiad. After Petya Mitrichev, there was Gena Korotkevich, who in the fifth grade was a few points short of a gold medal at the same international Olympiad.

- But is there still some value in those who wrote the code 30 years ago? Or is it time for them to rest?

Experience helps fix some special effects faster, it plays a role, but the fact is that the languages ​​programmers write in change very quickly. Knowledge modern technologies and the ability to adapt plays a big role.

If the speed of technology development continues to grow, then yes, the old-timers may have to retire. I will try to adapt. Now it is fashionable to talk about the technological singularity, perhaps if the speed grows exponentially, it will be difficult for adult programmers to keep up with the young ones.

- How can a company attract a programmer besides solving interesting problems and getting paid?

It seems to me that companies should be more open and participate in competitions and olympiads. It is necessary that people from companies constantly meet and communicate with programmers. After all, what is the Olympics? This is one of the ways to become a programmer. Many criticize the Olympics as if they are out of touch with reality. This is not so, the tasks that are solved at the competitions are part of some big tasks.

Do you notice among programmers people with entrepreneurial thinking, people who want to start their own business?

Among my environment, there is little of this, although the topic is interesting. I don't know why people don't think about it for some reason. Maybe you need to think about how to reverse this trend.

Who sponsors Russian students at the championships

The list of 12 winners in 2016 included four more teams from Russia: MIPT students took fourth place, ITMO - seventh, UrFU - eighth, Nizhny Novgorod State University - tenth. The World University Programming Championship has been held since the 1970s. Initially, representatives of American universities participated in it, over time, students from other countries began to take part in the competition. Since 2000, Russian teams have won the ACM ICPC (International Collegiate Programming Contest) 11 times, and the St Petersburg University team has won first place three times.

An example is Looksery, which was the first in the world to make face recognition technology, entered the tops of many countries with its application and earned money immediately after launch. If an entrepreneur takes a cool core of finalists and surrounds them with professionals, creates good working conditions and sets the task to move only forward and solve complex problems, he will get a huge effect.

I brought ten teams to the championship, we sponsored St. Petersburg State University and the Ural team, Innopolis, Zaporozhye University from Ukraine, and gave a little more to other universities - conditionally, so that they could pay for tickets to Phuket. I myself am a former Olympiad student, though in mathematics, and I built three of my startups on the backbone of the finalists of the Olympiads. Five years ago, my company SPB Software was bought by Yandex for $38 million, we were leaders in our segment on the global market, another company, Handster, was bought by Opera. In general, 60% of Olympiads work in Looksery (all of them became millionaires in two years after the sale of the company. - Approx. "Secret").

I try to donate 10% of income to sponsor our teams, for me it's charity, I don't expect any return. On the other hand, you want to donate in a relevant area. When Olympiads know you, it is easier to involve them in work on projects.

The car escaped from the streets of Orlando (Florida, USA) and rushed along the highway towards the coast. The newly minted programming world champions Nikolay Durov, Andrey Lopatin and Oleg Eterevsky celebrated their victory. In 2000, Russia for the first time won the prestigious ACM ICPC (Association for Computing Machinary International Collegiate Programming Contest) championship, which has been held since 1977. “We rented a car and drove to the ocean. Everyone was delighted with this idea,” recalls one of the team’s coaches Maxim Shafirov. The second-year students of the Faculty of Mathematics and Mechanics of St. Petersburg State University received brand new laptops as prizes. At the university they were honored as heroes.

Since then, Russian teams have often been among the winners. Programmers from St. Petersburg - more often than others. St Petersburg University students are still coached by Andrey Lopatin, ITMO students (Saint Petersburg University information technologies, mechanics and optics) - Andrei Stankevich, who also participated in the World Championship in 2000, but lost to Durov's team.

The headhunters of the tech giants keep a close eye on such competitions. IBM, which, following Apple, AT&T and Microsoft, has become the general sponsor of the World Programming Championship, invites all finalists for an internship. “When Facebook and Google were growing rapidly, they also attracted programmers there. Now they hold their own competitions,” says Andrei Stankevich. Russian companies have gone the same way - Yandex organizes the Yandex.Algorithm tournament once a year, Mail.ru Group holds the Russian Code Cup.

“The path to any company is open to champions. But not all interviews are successful. Not because of professional, but because of personal qualities. Many programmers are deep introverts,” says Roman Elizarov, the first Russian to receive an invitation to the international programming championship in 1996.

How do talented programmers fit into the business environment?

The Bro Code

Nikolay Durov, Andrey Lopatin and Oleg Eterevsky first attracted attention as programmers, being high school students of the Physics and Mathematics Lyceum. “They hacked into the network of the organizers of the Programming Olympiad and, to show off, they began to send messages to all the participants. We disqualified the team,” recalls Elizarov, then an ITMO student who helped organize tournaments for schoolchildren. “We then apologized for a long time. They were young. But it was a challenge - they said that they closed all the holes, ”Andrey Lopatin smiles, giving an interview to Forbes in the audience where he studies with gifted students of St. Petersburg State University.

Already in his first year, Nikolai Durov was offered a place in the university's programming team, but he refused to participate without friends. When the ambitious trio went to Florida a year later, the coaches understood that the team would definitely be in the top ten. “It was enough to see how well the team works, how Kolya thinks,” recalls another of their coaches, Natalia Voyakovskaya, a former teacher at St. Petersburg State University and an employee of Lanit-Tercom, which sponsored the team. Durov was the undisputed leader of the team. “It kind of felt right away. He is, of course, all in himself. But if you talk to him, which is not easy, you get a lot of pleasure. The intellect of Kolya Durov is a powerful thing,” adds Voyakovskaya.

Six years after defending his Ph.D. thesis, Nikolai Durov again had to take on the functions of a team leader. The younger brother Pavel asked him to help with the development of the code for the VKontakte social network. Nikolai first invited Lopatin (they parted ways with Eterevsky back at the university, he now works in the Russian office of Google). He immediately agreed: "Because to work with familiar people." At first the code was written by two people. Gradually began to pull up their students.

Among the developers of the core - the internal code on the basis of which the entire social network functions, where 68 million people visit daily - there are many participants in international competitions.

“They wanted to do something interesting – why not give that opportunity,” says Lopatin. Nikolai Durov did not communicate with Forbes.

Durov's team optimized the distribution of the load on the servers, which accelerated the work of the social network. For VKontakte, they even created their own version of the PHP programming language, which was called KPHP. The Russian network introduced many options for users earlier than Facebook, which served as an example for it, for example, the internal currency. VKontakte is a quality software product. A thing for which you are not ashamed even once, ”says Maxim Shafirov, who has not communicated with his former wards for a long time.

Mikhail Levin, head of big data analysis service at Yandex (winner of two ACM Championships ICPC), notes that "championships" are very smart, but often write "macaroni" - poorly readable code, incomprehensible to other developers. Helping Lopatin to prepare students for competitions, Durov drew their attention to the ease of implementation of the code: they figured out how to reduce the code of complex algorithms from 20 Kb to 1 Kb.

The skills of the "Olympiads" help in their work, but their adaptation to work on a commercial product, according to Lopatin, is always difficult. “The closer a company is to a startup, the faster this process happens. And VKontakte lived in just such an atmosphere for a long time, ”he notes. When preparing students for the championships, Lopatin tried to take into account not only talent, but also the human factor - who will work with whom, what happens in the team, how to calm down before the final. Before the final in Beijing, for example, Lopatin led the programmers to karaoke - a video where he incendiary performs the Beatle song Obladi Oblada scored over a thousand views on YouTube.

Two dozen VKontakte programmers were housed in the famous Singer House, but did not change their habits, even when the company became a "gold mine".

While the founder of the network, Pavel Durov, scattered five-thousand-dollar bills from the window of the headquarters and took top managers to Dubai for the weekend on a rented plane, Nikolai Durov could easily be met with a book in the subway.

“Durov is almost Perelman,” says Elizarov.

The atmosphere changed in 2013, when a corporate conflict arose around the social network. In September 2014, Mail.ru Group, controlled by the richest Russian Alisher Usmanov, completely consolidated VKontakte, buying out 48% from the UCP fund for $1.47 billion. Twelve programmers, following Pavel Durov, left Russia and are working on the Telegram messenger. But VKontakte is still attractive to star coders. According to Lopatin, now the team has two winners of the last world championship, who moved to the company from Yandex.

He himself left the project, but did not follow Durov. “They broke up, Lopatin is no longer working on Telegram,” his friend assures. Lopatin does not want to talk about Telegram, but confirms that he has focused on teaching. There are job offers, but so far he has not chosen anything. “It is important for me to do things that will be useful. Invest in tomorrow's generation,” says the programmer.

Business on your own

Roman Elizarov, who held school tournaments for programmers, in 2002 founded the company Devexperts with partners, which develops software for the financial sector. He divides programmers into those who are ready to work according to patterns, and those who like to look for solutions to unique problems. The latter are more in demand, but also much more demanding of employers. Before tech companies began to explode and vacuum up the talent market, the only alternative for those who were dissatisfied with their jobs was to start their own business. “Now there are more opportunities,” he admits. “And in the early 2000s, many had to become entrepreneurs.”

At the end of 1999, a riot broke out in the Prague office of the Russian-German company TogetherSoft. Programmer Sergey Dmitriev persuaded his colleagues Evgeny Belyaev and Valentin Kipyatkov to open their own business. He ignited them with the idea to create a convenient product for programmers. “The IDEs that existed at that time (an integrated environment for programmers. — Forbes) did not suit us, and we could not understand why they do not have many of the so obviously necessary functions that can be implemented on modern computers. The three of us discussed this and realized that we have a lot of thoughts on this matter, and for sure, not only the three of us need such an IDE, ”says Kipyatkov.

In February 2000, programmers who left TogetherSoft opened JetBrains in a rented apartment in Prague. Soon a second office appeared, in their native St. Petersburg.

The founders were well versed in programming and recruited the same people.

In 2002, Maxim Shafirov, the former coach of the Durov team, became the tenth member of the team (he came as a simple programmer, since 2012 he has been heading the Russian office).

The company specializes in software for programmers. The first and still the main product of JetBrains is the IntelliJ IDEA integrated development environment. “There is a construction goods store where builders buy axes, saws, hammers. Here we are doing the same, but for programmers,” explains Shafirov. There was no shortage of clients - the developers advised each other on a new product. The first major client was Goldman Sachs.

JetBrains has been profitable since the first year. But in 2003, when the company had already opened an office in Boston, growth stopped: programmers began to massively switch to the free product Eclipse, sponsored by IBM. JetBrains had only to improve their IntelliJ IDEA. “There will be those who will defend the advantage of Eclipse, but most now use the JetBrains product,” says Mikhail Levin from Yandex.

This challenge prompted the company to diversify its business. IntelliJ IDEA was designed only for the Java platform, which was attacked by Microsoft with its DotNet. “We started making a ReShaper plugin that complements the functionality of this platform,” says Shafirov. The new product came out in the middle of 2004 and, according to Shafirov, shot right away. The number of clients grew to 25,000 and the staff to 80 people. Where are the developers from?

“At that time I was still teaching at St. Petersburg State University, half of my students ended up in the company,” Shafirov admits.

JetBrains currently has about 20 products. At the end of 2010, we opened an office in Munich in order to retain talented employees who wanted to go abroad. In the first two years, there were too many applicants, they had to impose a restriction on moving - no more than 12 people a year. Now about 100 people work in the Munich office, more than 300 in the St. Petersburg office.

In June 2013, the entire JetBrains team in St. Petersburg moved into a new seven-story building. “After this move, I began to feel JetBrains as a solid company,” says Kipyatkov. In 2014, revenue exceeded $110 million: the last three years the growth was almost 40%. At the same time, about 40% of revenue comes from the United States.

The founders stepped away from operational management, delegating authority to two CEOs in Russia and Germany.

Dmitriev became interested in bioinformatics and the problem of aging, lives in Munich, like Evgeny Belyaev. Valentin Kipyatkov stayed in St. Petersburg and still does a lot of programming himself. “He likes it,” Shafirov says.


Course work

Steam swirls over a basin of liquid nitrogen. The thermometer shows -192.9 degrees Celsius. A RAM module is thrown into the container, pulled out with pliers and inserted into the computer slot. Letters and numbers appear on the monitor - the key to the encrypted data. The lower the temperature, the longer the data is stored - this is the meaning of the "cold boot attack". This focus is closely followed by schoolchildren and students participating in the NeoQuest cybersecurity competition. For the third year it has been held by the St. Petersburg company "Neobit", created by Petr Zegzhda, head of the Department of Information Security computer systems Petersburg Polytechnic University, and his son Dmitry, a professor in the same department.

The company, which employs about a hundred students and teachers, develops information security systems (back in the 1990s, at the university, on the initiative of FAPSI, a Specialized Center for Information Security was created - SCSI). In fact, this is a private research institute, Dmitry Zegzhda clarifies.

Most of the development of "Neobit" is associated with government orders. One of the most ambitious developments is the Febos project: an operating system that controls the operation of virtual machines on which other operating systems are installed, such as Linux, Windows with all applications. "Febos" is also used in the developments of the company for the protection of video conferencing. Among the promising areas that Neobit employees are working on are cloud technologies and security analysis of consumer devices, the so-called "Internet of things": household appliances, "smart" homes.

At the same time, the Neobit office is completely different from a secret facility.

Along the corridor littered with building materials (renovation has begun), young employees in jeans and T-shirts scurry about.

Students come to the company in their 2nd or 3rd year as interns. "This" method of immersion "- individual work- most effective method mastering knowledge,” notes Dmitry Zegzhda. Those who are especially advanced are hired part-time.

True, not everyone likes this approach. One of the former employees complains that "Neobit" simply uses students as an inexpensive labor force, some work "for credit". "This is ridiculous. How do you imagine the implementation of important projects with government customers, where you will depend on whether a student does something for you or not? - says Zegzhda Jr. The only restriction is that employees are not allowed to work remotely.

According to the SPARK system, over the five years since its foundation, revenue has grown 10 times, to 78 million rubles (2012). The owners do not disclose fresh financial indicators.

What is attractive about this kind of work for students? Ilya Medvedovsky, CEO of Digital Security, studied with Zegzhda and worked for several years as an analyst for SCZI under his leadership. He recalls testing a Novell NetWare 3.12 LAN that was planned for government use. “I was a network hacker, I was terribly interested in it, and I eventually broke it,” recalls Medvedovsky. He believes that Zegzda has created one of the strongest information security schools in the country, and is willing to hire graduates.

It is easier for students from Neobit to get into other IT companies. “If a specialist from the department or from Neobit comes to me for an interview, you don’t even have to ask general questions on qualifications and level of knowledge,” says Artur Kotelevsky, founder of the Akribia holding, ex-director of Neobit.

Zegzhda Sr. graduates work at Yandex, Google, Dell, Siemens, Bloomberg, Deutsche Bank, Cisco, and many have founded their own companies in Russia and abroad.

science and life

At the beginning of the 2000s, Andrey Lopatin, a teacher at the Faculty of Mathematics and Mechanics of St. Petersburg State University, in a team with Pavel Durov's brother Nikolai, won the ACM-ICPC student world championship in programming for two years in a row. Then he took the position of deputy technical director of the Vkontakte social network, and after that - the general director of the Telegram messenger. In 2014, already as a coach, Andrey led to the victory in the same competition for mathmech students, once again securing the leading positions of Russian programmers in the world market.


Egor, Dmitry, Pavel, have you ever thought of creating something of your own, like the Durov brothers?

Dmitry: In order for this to accurately shoot, it must be either a very good idea, or a lot of luck.

Is Vkontakte an idea or luck?

Paul: Success was predictable. By the time the network was created, Facebook already existed all over the world. The company simply occupied this market in Russia, although the competition was high: Odnoklassniki and the then quite popular My Krug worked.

Okay, luck and an idea. Any ideas?

Dmitry: So we will tell you. (Laughs.)

Egor: There are a lot of issues of setting goals, promotion, working with the audience and other things. I, for one, am not interested. I'm interested in programming.

Dmitry: Egor sees himself as Nikolai Durov rather than Pavel.

Dmitry: No, why? I even rarely use mail, I do everything through Vkontakte. Employees of Russian companies for some reason do not support each other. When I worked at Yandex, I did not understand why people are on Facebook, but they are not on Vkontakte. Now it’s the other way around: I see how many colleagues “google” rather than ask Yandex. This is due to an ideology that is unthinkable for me, similar to the one to “get out of Russia”. And I'm not on Instagram because I just don't like posting my lunch.

Andrey: If you write to me on Facebook, then in two weeks I will answer. It is often inconvenient to be there: God forbid I open it from my phone, and he will tell me that I need to install the Messenger application, which I need to download ... And Facebook has absolutely crazy news delivery.

With all the stories about algorithms and servers, I feel like I'm on The Big Bang Theory. What is it like to communicate with people who often do not understand what you are talking about?

Dmitry: I feel a much bigger gulf with a low man common culture, who drinks every day, smokes like a steam locomotive, constantly swears. And if you are talking about communication with the humanities, then no problem, I adequately relate to the fact that people can show themselves in other areas.

Paul: It so happened that in my social circle there is practically no one who is not from the field of programming. I do not really understand where I can massively intersect with them. Chat with a fellow traveler on the train, why not, but I still regularly communicate with like-minded people.

Do you consider yourself smarter than others?

Andrey: And what are the criteria? In order to answer this question, we must remember that the IQ test was invented by mathematicians. If the humanities had done it, things could have been different. Here I was trained at school for these tests so that I showed results for 180 points. I would call the mind an infinite dimensional space in which everyone is gifted in their own way. Maybe someone is lazy or discouraged and does not want to develop their abilities personally, but it is never too late.

THE SHOOT PLACE:

Rowing club "Znamya"
Vyazovaya st., 4

The club on Krestovsky Island was founded in 1889 by German expats. The building has a typical architecture for such structures: a boathouse with a gate, above it a wardroom with a balcony, a tower was used to post signals and monitor the fairway. There was a restaurant on the territory of the club, which was visited by the artist Mikhail Vrubel and Alexander Blok. It is alleged that it was here that the poet wrote a poem that begins with a quatrain:
We met at sunset.
You cut the bay with an oar.
I loved your white dress
Having fallen out of love with the refinement of dreams.

Text: Kristina Shibaeva
Photo: Artem Usachev
Style: Vadim Ksenodokhov

We thank the rowing club "Znamya" and personally Svetlana Grigorieva for help in organizing the shooting

Over the past 17 years, Russian programmers have won the ACM ICPC world programming championship 11 times, and in the last five years the cups have been leaving for Russia every year. RBC magazine found out how the careers of several finalists of one of the most prestigious programming competitions in the world developed

Photo: Askhat Bardynov for RBC

The International Student Programming Championship Association for Computing Machinary International Collegiate Programming Contest (hereinafter referred to as ICPC) has been held since 1977. 100-120 teams consisting of three people reach the final, which takes place each time in different countries. The organizers of the tournament play 12 sets of medals - four gold, silver and bronze medals.

Over the entire period of the ICPC, students have become champions mainly from two Russian universities - St. Petersburg State University (SPbGU) and St. Petersburg National Research University of Information Technologies, Mechanics and Optics (ITMO). In 2006, the team of Saratov State University won.

The competition is student, but even after five to ten years, participation in it is quoted when hiring, Alexander Pashintsev, head of the Amazing Hiring platform recruitment group, told RBC magazine. Most often, medalists and champions of such Olympiads are hired by Internet giants - Yandex, VKontakte, Facebook, Google, Amazon, Mail.Ru Group, Avito or specialized companies involved, for example, in high-frequency trading, Pashintsev notes. According to him, in large IT companies 5-10% total number employees are specialists who have passed through ICPC tournaments.

Young people who win specialized olympiads may be of interest to large Western companies that are used to training employees on their own, says Irina Lukavskaya, senior consultant of the IT and Telecom department at the Cornerstone recruitment agency. The level of salaries of such employees depends on the modernity of the technology in which they understand and the number of professional competitors in the market. For example, for those who work with the 1C software, a monthly salary of 150 thousand rubles. - worthy, continues Lukavskaya, and AVAR-developers (they know internal language German SAP programming) even before the crisis of 2008 earned more than 200 thousand rubles. per month.

Several ICPC members declined to communicate due to the corporate policies of the companies they currently work for. RBC magazine spoke with four ICPC champions and medalists and found out how their careers have developed and whether their "Olympic" past helped them.

playing coach

Andrey Lopatin, two-time world champion in programming (2000 and 2001), believes that he manages to combine a career in IT and pedagogy. His former mentor, senior lecturer at the Faculty of Information Technology and Programming at St. Petersburg State University Natalya Voyakovskaya, left after 15 years of work, and Lopatin, after the second victory in the ICPC, took the place of the head coach of the university. “I wanted the business to live. If I hadn’t picked it up, it would have fallen apart,” says the champion teacher.

Interest in the competition at St Petersburg University is growing: just ten years ago, the number of people wishing to engage in sports programming did not exceed 100 people a year. Now the number of students who want to test their strength in the championship reaches 200 people annually: students from various faculties of St. Petersburg State University come to Lopatin. These are mostly mathematics students - everyone has their own successes, but on average, training takes about three to five years. Approximately 50 people pass the final selection for participation in the competition, and only three people go to the ICPC final.


Andrey Lopatin is sure that programmers are a valuable resource if they can not only write code, but also know how the program should work

At the initial stage, you can practice once or twice a week for several hours, Lopatin shares his experience, at a more advanced level - three times a week for five hours. It is also necessary to constantly do homework. For example, students who have not solved some problems during the classes are required to complete them at home, otherwise there will be no progress, the trainer notes.

With a good level of preparation, students begin to participate in field events once a month and a half: teams from different universities gather at one of the universities and compete with each other. The strongest venue in Russia in terms of participants and coaches is located in Petrozavodsk state university says Lopatin.

From time to time, training camps are also held abroad, but they are usually “much weaker than in Russia” due to the average level of training of the participants, says one of the country’s head coaches. Russia in last years dominates the ICPC. Among those who can fully compete with Russian programmers, Lopatin calls American ones, but this happens at the expense of "imported" students - Poles, Chinese and others, since leading US universities come to study from all over the world.

“They say the Chinese have training camps similar to ours, but we were never invited to them, so it’s not known for certain,” Lopatin grins. When he himself was a schoolboy and participated in programming competitions, there were a lot of rumors about Chinese participants: they were supposedly taken to the mountains for a year and forced to train. Like it or not, but the Chinese teams are "quite strong competition," Lopatin becomes serious.

Programming requires "great mathematical knowledge," he continues: if you start to get acquainted with mathematics from childhood, then a certain mindset develops. At ICPC, a participant needs not only to write code, but also to solve a complex problem and discover something new, and without mathematical thinking and knowledge of algorithms is nowhere, the coach is categorical. Every year, the tasks at the championship become more difficult - tasks that seemed unrealistic 15 years ago can now be solved in 15 minutes.

Many IT companies hold their own programming competitions: this allows them to search for future employees. However, ICPC is the most prestigious competition: its participants are not just coders who create programs, but specialists who figure out how such a program can be arranged, Lopatin explains. ICPC finalists can save the employer's budget: 10,000 servers will cost the company $50 million, and two smart programmers can tell you what needs to be done in order not to buy these servers, the trainer explains.

Preparing SPbU teams for programming competitions is Lopatin's main job. Over the years, he worked at VKontakte and Telegram, created by Pavel Durov, but now, in parallel with pedagogy, he is engaged in advising the Russian service for building VeeRoute logistics routes. Lopatin admits that since his last personal championship 15 years ago, he turned down about ten large companies that called him to work.

Head of cats

Dmitry Egorov became the ICPC world champion at the age of 20 - in 2014, when he was a third-year student at the Faculty of Mathematics and Mechanics of St. Petersburg State University. Now he is the head of the database development and optimization department of the largest social network in Russia, VKontakte, and continues to study at the graduate school of the National Research University high school economy. However, combining university with work is a common thing for Yegorov.

The future world champion graduated from the Physics and Mathematics Lyceum No. 239 in St. Petersburg, a prestigious school where, for example, mathematician Grigory Perelman, who proved the Poincaré conjecture, and the brother of the founder of VKontakte, Pavel Durov, Nikolay, who worked with him on the creation and development of the social network.


Dmitry Egorov headed the VKontakte department a year ago. Under his leadership - four world champions in programming. (Photo: Askhat Bardynov for RBC)

In 2014, the final of the ICPC championship was held in early July in Yekaterinburg. The St Petersburg University team, in which Yegorov played, took first place - this was Russia's third consecutive victory in the world tournament.

In the first years of his studies at the university, Egorov interned at Yandex - from 2012 to 2014. In the company, the reception of "trainees" is put on stream, so if you want and "a certain level of basic training," it's not difficult to get there, says the student. He calls the internship at Yandex "extremely useful" - not only from the point of view of the acquired programming skills, but also from the point of view of organization within a large company. After the internship, Yegorov realized that he did not see himself as an ordinary employee of a large corporation. “I was always ready to work noticeably more and better than others, but I also expect greater returns,” explains the former St Petersburg University student. In large companies, there are not enough opportunities for growth and development, they lack an individual approach, Yegorov complains. And this applies not only to Yandex, but also to other IT giants like Google. “If you want a quiet life with a good salary and confidence in the future, then large IT companies are a great option. But it's not for me," says the ICPC champion.

Immediately after the award ceremony, one of the VKontakte employees approached Egorov and offered to join the team. A few months later, the student came to work in the largest social network. The prospects for him are obvious: in the spring of 2014, Pavel Durov left VKontakte, after which many developers left the company. “Despite tens of millions of users a day, the spirit of a startup was again hovering around,” the champion smiles. Less than a year later, Yegorov headed the department, in which he came to an ordinary position. There are seven people in his department: all of them participated in the ICPC in different years, four became world champions.

The direction of development and optimization of databases is ideal for former Olympiads, Egorov is sure. A few years ago, all highly loaded parts of the VKontakte website were transferred to their own and optimized for the needs of the company databases, since all the solutions available on the market turned out to be ineffective for the company. “In simple terms, I am responsible for ensuring that kilotons of custom cats are not lost anywhere,” Egorov laughs.

A master's student is not ready to assess the degree of importance of his department for the company: in VKontakte it is difficult to distinguish between key and secondary development departments. For full-fledged work and development, all components are needed - databases, back-end, front-end, and a group of system administrators, and mobile development. Without any of these parts, the site will begin to degrade pretty quickly, Yegorov is sure. “You don’t ask which human organ is more important - the brain or the heart? Without any of them, a person can only live in jokes, ”he says.

All winners of the ICPC championships, as a rule, can choose a place of work from a fairly large list. For example, the general sponsor of the World Championship, IBM, during the awards ceremony, distributes an invitation to all winners to contact their HR service and discuss vacancies, Egorov recalls. For himself, he immediately decided that he did not want to leave Russia.

“For many IT people, moving abroad is something of an obsession that they cultivate in each other,” says Egorov. He does not regret choosing VKontakte as an employer, and calls the mass migration of IT specialists abroad "an absolute disaster for the country."

Field of Opportunities

Gleb Leonov, a 1st-year student of the Faculty of Mechanics and Mathematics of St. Petersburg State University, and two friends saw an announcement at the university booth about the recruitment of those wishing to take up Olympiad programming. A graduate of the mathematical school - the Academic Gymnasium of St. Petersburg State University, where Pavel Durov studied - became interested. So he got into the "class" of Andrei Lopatin. Twice Leonov became the ICPC finalist, once he won a silver medal.

During his studies at St. Petersburg State University, Leonov did not work part-time: there was no special need for this, and studying and training in programming took a lot of time, he recalls. After university, Leonov entered graduate school, but left a year later: he wanted to concentrate on programming.


Gleb Leonov from childhood loved to solve math problems, and already at the university I became interested in Olympiad programming (Photo: Askhat Bardynov for RBC)

Now ICPC finalists receive a lot of offers from potential employers: ten years ago, their opportunities were more modest. However, even then Google called programmers for interviews. Leonov was never attracted by the prospect of working in one of the largest American IT corporations.

Leonov assures that it is now easy for ICPC participants to go abroad and find work there: for example, the level of written English of Olympiads automatically rises to a high level, since all the conditions of the tasks are indicated in English at competitions and trainings. In addition, most of the specialized educational literature can only be found in this language, the ICPC medalist throws up his hands.

Participation in championships and work in companies are not the same thing. When it comes to sports programming, then your goal is to solve the problem as quickly as possible and write a program. And while working in the company, the goal of a specialist is to develop software that can be modified. Sometimes it is necessary to “cut” the program into parts and replace one of the “details” without touching the rest, so the main thing in the work of a programmer is a practical skill. It is difficult to get it at the university, says Leonov. Moreover, the higher the position, the more additional skills are needed.

Leonov has been working for JetBrains in St. Petersburg for seven years now. Founded in 1999 in Prague by Russian programmers Sergey Dmitriev, Evgeny Belyaev and Valentin Kipyatkov, JetBrains develops software for IT professionals. Now, in addition to Prague and St. Petersburg, the company has offices in Moscow, Munich, Boston and Novosibirsk. Leonov got a job at JetBrains himself - he asked for contacts from the company's employees and sent a resume.

“If a student has reached the finals of the world championship, then he most likely has the ability and he will easily pass the interview for the position of junior programmer,” Leonov smiles.

Now the ICPC finalist is developing tools, though not for programmers. For whom - Leonov refused to answer, citing the company's internal rules. Several times a year, he participates in individual programming competitions held by Google, Facebook, Mail.Ru Group, and others. The qualifying stages are held via the Internet, and the finalists are invited to the final stage in different cities of the world. “Of course, I don’t get into the finals, because I do more for myself,” Leonov admits.

Google Core

Petr Mitrichev took over his passion for mathematics from his older brother, who was also involved in programming. Mom, a chemist by education, bought Peter books on mathematics. When there was no computer in the house, Mitrichev Jr. read literature on programming and went with his brother to the Center for Children and Youth Creativity, where they studied in a computer circle. At the age of seven, he entered the district school No. 827, and at the age of 14 he moved to a specialized class of school No. 57 in Moscow, and then applied to the Mechanics and Mathematics Department of Moscow State University.

At school, a computer science teacher invited Mitrichev to take part in the Olympiad in the North-Western District of Moscow in programming. “Once you get into this system, it’s easier to participate in other Olympiads,” Mitrichev recalls. He also participated in the All-Russian Olympiad for schoolchildren, went several times to two-week training camps in different cities, where they train, among other things, future ICPC participants.


Petr Mitrichev weekly participates in competitions for programmers online. After winning the ICPC, it became his hobby. (Photo: Askhat Bardynov for RBC)

Unlike students from St. Petersburg State University and ITMO, Mitrichev and his classmates from the Mekhmat did not have one coach. Acted as informal mentors former members ICPC, who shared their experience both online and at the training camp. Yevgeny Pankratiev, a leading researcher at the Laboratory of Computational Methods of the Mechanics and Mathematics of Moscow State University, helped to participate in the competition: he organized trips and assisted in paperwork. Mitrichev reached the ICPC final twice - in 2003 in the USA and in 2005 in China, when he was a first and third year student, respectively. Both times in the team, he took second place.

During his studies, Mitrichev occasionally worked part-time, but did not look for a full-time job. Winning the ICPC does not give a 100% guarantee of receiving an interesting offer from a potential employer, he is sure. "ICPC serves rather social means connections between a professional player and a good company-employer,” smiles Mitrichev. Competitions teach programming well, after which any work in the specialty becomes on the shoulder, he says. However, at the Olympiad it is important to program quickly and without errors, and you can take your time in work. At the same time, he admits: the ability to write code quickly and without errors leads to the fact that you do not have to redo the work several times.

ICPC finalists can organize similar competitions within large corporations or analytics (for example, stock trading). Mitrichev considered the last option for himself after graduating from university. “There you can earn for your old age in a shorter period of time,” he admits.

However, since 2007, Mitrichev has been working at Google - first in the Moscow office, since 2015 - in the Swiss one. At an interview in one of the largest IT companies in the world, Mitrichev had to solve problems that are similar to those encountered in the ICPC finals, the programmer recalls. True, now he is engaged in the search engine of the Google site, and this work is more connected with the theory of probability, which Mitrichev studied at the university. The speed acquired during the competition helps, when necessary, for example, to create a prototype of the program and understand whether it works.

Now Mitrichev helps Google hold its own programming competitions - Google Code Jam, comes up with tasks for tournaments together with colleagues. Mitrichev himself took part in this competition twice and took third place in 2005 and first in 2006. The programmer admits that he discussed possible cooperation with representatives of VKontakte, Facebook and Yandex, but now it seems to him that Google is the best option, “because the company solves interesting problems, and its employees are smart people who are pleasant to work with” .

Since the ICPC, Mitrichev has been participating in online competitions on a weekly basis. According to him, in order to solve some problems, he has to relearn: “It is easier for the new generation in this regard: they immediately learn modern methods programming". Now Mitrichev heads one of the leading ratings of the American corporation Topcoder.com, which has been holding competitions in sports programming since 2001.

Read also: