Sat, 19 Jun 2021

They regularly win international informatics olympiads, work for IT companies all over the world and create popular online games and mobile apps, ranging from Tetris to Telegram. We look into how Russia has become one of the main production lines for turning out the best programmers in the world.

The uncomplicated video game 'Tetris' designed by Soviet programmer Alexey Pajitnov is known all over the world - in 2020 alone, the number of downloads of the official mobile version of the game exceeded 500 million.

Pavel Durov's messaging service 'Telegram' is used by over 500 million people around the world.

Google regards the 'Kotlin' programming language - created by Russian software developers Sergey Dmitriev, Eugene Belyaev and Valentin Kipyatkov - as its preferred language for the development of Android apps.

The 'Cut the Rope' brain teaser games developed by Russian programmers Semyon and Efim Voinov have been downloaded over one billion times.

Finally, for more than 10 years, Russian programmers have been coming top in major international olympiads, such as the International Collegiate Programming Contest (ICPC) and the International Olympiad in Informatics (IOI).

All these are just the most outstanding achievements by programmers from Russia and together, they fit into a coherent system that can be traced back to Soviet education.

The nuclear arms race and mathematics schools

The main reason for the development of applied mathematics and programming in the country was the USSR's desire to surpass the U.S. and its allies in the nuclear arms race, according to Mikhail Gustokashin, director of the Center of Student Competitions at the Higher School of Economics. To achieve this, good technical specialists were needed, and so olympiads in mathematics were held throughout the USSR.

"A high level of maths teaching in schools and universities was necessary to ensure parity in the military and scientific spheres with practically the whole of the rest of the world. For example, the USSR was one of the main founders of the International Olympiad in Informatics for secondary school students and in 1990 it hosted the second such olympiad," says Gustokashin.

In large Soviet cities, day and boarding schools specializing in mathematics and physics were opened and this, too, played a role in the development of programming in the country, believes Igor Sokolov, academician of the Russian Academy of Sciences and dean of the Faculty of Computational Mathematics and Cybernetics at Lomonosov Moscow State University.

"Well-organized work with talented children in specialized maths schools during the Soviet years and a network of olympiads in mathematics, physics, informatics and other subjects, continue to bear fruit," says Sokolov.

Pupils of Moscow's School No. 524 at a math lesson led by the institution's headmaster, Joseph Borukhov

Pupils of Moscow's School No. 524 at a math lesson led by the institution's headmaster, Joseph Borukhov

Alexander Cheprunov/Sputnik

Mikhail Mirzayanov, founder of Codeforces, a platform for enthusiasts of programming olympiads, agrees with Sokolov.

"It is important that these schools are still alive and well and to be educated in such a school is still regarded as prestigious. I come from Saratov and I went to the best maths school in the city. Finding yourself among talented teachers and classmates, there was a desire to prove to yourself that you were no worse than the others and that you could solve something better than anyone else - it was a strong motivation for me to move forward," Mirzayanov says.

According to Mikhail, the USSR's desire to get children "hooked" onto programming when they were still at school was also an influence.

"There were not just schools, but also clubs and specialist magazines. As a child, I used to read Yuny Tekhnik [Young Technician], as well as the Kvant [Quantum] mathematics magazine [popular Soviet science magazines for young readers], and I was delighted with them," recalls the Codeforces founder.

Popularity of olympiads

Russian children take part in olympiads from primary school onwards, beginning with the simplest district-level Russian language olympiads and continuing to national olympiads in different specialisms, including programming and computer science, in which the country's leading higher educational establishments are involved. Those who come top in these kinds of olympiads can enter, for instance, Lomonosov Moscow State University or other prestigious higher educational establishments without having to take the entrance exam.

Mikhail Mirzayanov started taking part in specialized olympiads from Year 8. He was determined to win, and so he would spend whole nights without a break studying new problems.

Vitaly Belousov/TASS

"Certain people like me need the competition. If you completely deprive them of the competitive spirit, they won't easily become motivated and develop their potential. In addition, some programmers progress further than the Russian olympiads and win at international ones, because they just like problem solving. It's a sort of professional sport for them. I was an enthusiast of them myself. It's more interesting than watching any film and you look forward to programming competitions more intensely than part two of your favorite film. It's a very interesting social phenomenon," Mirzayanov explains.

According to him, having to solve problems at speed helps many school pupils and students to discover the fundamentals of programming and to learn how to solve non-standard tasks and build cooperation with other olympiad participants when team competitions are involved. Programming competitions help participants to find sought-after and well-paid work in their future careers and to discover an interest that they can pursue for the rest of their lives.

Motivation, boredom and technical universities

Efim Voinov, one of the founders of video game developer ZeptoLab, which is responsible for the 'Cut the Rope' series of mobile games that enjoys popularity throughout the world, got interested in programming at the age of eight for want of any other entertainment. He believes that the same thing could also have motivated other programmers.

"I remember my parents giving us an 8-bit ZX Spectrum computer. There weren't many games you could buy for it, so we started studying Basic instruction code from unofficially-circulating samizdat publications, and soon started writing our own games. I remember being particularly impressed by the possibility of recreating the realistic flight of a projectile fired from a cannon following a ballistic trajectory and by the whole business of programming to reflect the laws of physics. It's possible that this vivid childhood impression influenced the development of the 'Cut the Rope' brain teaser game, which was to become a hit many years later," Voinov opines.

Enthusiastic teachers have also been known to develop a love of programming in their pupils and continue to do so.

"I went to an ordinary school. One thing I remember was the particular attitude of the IT teacher, who, on seeing that I knew how to program, excused my brother, the [subsequent] co-founder of the company, and me from lessons altogether. While our classmates were studying the rudiments of computer literacy, my brother and I sat at the teacher's computer and wrote our games. It was quite an honor!" recalls Efim.

Lomonosov Moscow State University. M. V. Lomonosov Moscow State University. Computing center at the Department of Computational Mathematics at the Faculty of Mechanics and Mathematics, Moscow State University. The first computer center in the USSR

Lomonosov Moscow State University. M. V. Lomonosov Moscow State University. Computing center at the Department of Computational Mathematics at the Faculty of Mechanics and Mathematics, Moscow State University. The first computer center in the USSR

Gennady Scherbakov/Sputnik

Another important stage in his life was attending the Moscow Institute of Electronics and Mathematics of the National Research University Higher School of Economics (MIEM NRU HSE). According to Voinov, Russia has quite a few good technical universities that train decent programmers.

"Maths was taught at a very high level there. I particularly remember the linear algebra course. The teacher was a very strict and demanding woman, but at the same time she explained everything in a very intelligible and interesting way. It was regarded as a particular achievement to get 'Excellent' for an exam of hers, and I remember that in some sense I developed a sporting interest in it," Voinov says.

At the same time, an important part of giving Russian students a sound training is teaching them the fundamentals of mathematics, according to Igor Sokolov, dean of Lomonosov Moscow State University's Faculty of Computational Mathematics and Cybernetics.

"Teaching at the Moscow University Faculty of Computational Mathematics and Cybernetics, as at many other faculties specializing in our field of study, consists of two elements - theoretical mathematical and computer science teaching and practical study. It is thanks to the theoretical element that our students can solve complex scientific and practical problems," Sokolov says.

Piracy, pay and Russia's strong home-grown IT companies

The IT market started developing in Russia in the midst of the difficult economic situation of the 1990s when many enterprises and research establishments were closing down, but this gave the country a head start over other countries, according to Mikhail Gustokashin from the Higher School of Economics.

"At that period, the world IT market was only just developing and Russia was in an even better position than the rest of the world in some ways: There was no need to maintain obsolete systems, and pirated software could be used for free and a lot of money saved on employees' salaries," Gustokashin says.

Mail.ru employees at work

Mail.ru employees at work

Evgeny Biyatov/Sputnik

These circumstances, he believes, allowed large and powerful home-grown IT companies like Yandex and Mail.ru to emerge. At the same time, a major influence was exerted by Russian universities, which proved to be fairly well prepared to provide a decent level of education domestically.

"The majority of Russian graduates also stay in Russia and work for Russian companies or branches of foreign companies. They can then pass on their expertise to new generations of Russian programmers," Gustokashin believes.

In the view of ZeptoLab co-founder Efim Voinov, high salaries are also becoming a key motivation for studying programming in Russia.

"The pay of programmers grows from one year to the next and is less and less linked to the local market. This is facilitated by the continuing IT company boom, globalization processes and the currently ubiquitous remote working arrangements. In the eyes of pupils and school leavers and their parents, this is also evidently a substantial argument in favor of studying computer programming," Voinov says in conclusion.

More Beijing News

Access More

Sign up for Beijing News

a daily newsletter full of things to discuss over drinks.and the great thing is that it's on the house!