Russian programmers are said to be the best in the world and facts support this statement: multiple winnings in the top international contests and high demand for Russian specialists on the global market. In this post, I’ll tell you why Russian programmers are the best and what makes them so special.
Russian programmers are the best in the world because of the strong traditions of teaching saved from the Soviet past. Nowadays, math is an obligatory subject at school with a more intense teaching plan than in most Western countries. This forms strong competition for places or faculties of computer science and programming. Local universities actively encourage students’ participation in programming championships where they produce outstanding results.
The success and reputation of Russian programmers are the results of the historical events that pushed the development of this sphere a long time ago.
Soviets prioritized computer science, calculations along with math, physics and engineering to achieve political goals within the country and on the international arena.
From 1929 to 1941, the Soviet government implemented the plan aimed to turn the country from an agrarian to industrialized with plants, factories, and manufacturing enterprises. To reach this goal they needed well-qualified mathematicians, physicians, engineers and specialists who could speed up calculations.
The Cold War was another factor that sped up the development of computer science in the Soviet State. The government tried its best not let the US achieve greater results in science, technology, and weaponization. Having been cut off the rest of the world, the Soviets had to work out their hardware and software themselves.
To succeed, they needed greater computer capacities and high-quality specialists. This explains how Russian programmers produce outstanding results. For instance, Polish teams became first in the ICPC twice over the last ten years.
In Soviet times, lifepaths for the smart and ambitious were limited. Many areas, such as politics and business have been banned. Along with this, the educational sphere was shown in the media of those times as something attractive, respectable and promising. Therefore many talented people chose to go into science.
At the same time, positions in education have never been well-paid. For this reason, they attracted people, driven by their innate enthusiasm and curiosity. So, the choice of being a mathematician, physicist or programmer was often made against all the circumstances such as very low income, high academic load, poor working conditions, and others. Scientists really loved what they do.
Universities often had insufficient equipment, so students had to learn how to get the maximum from what they have in the shortest period of time.
The old school tutors still teach train students and inspire teachers of the new wave. It’s important to keep exceptional talents as tutors. In the famous mathematic Russian ITMU on the Department of Software Technology, teach five world champions and two prizers of ICPC.
Maths is a very important subject at school. The basic scholar program far exceeds one of Europe, Australia, and the US. In Russia, young learners are not allowed to use calculators at the lessons.
It’s easy to understand what is 2*(3+5), but to get the idea of 2(a+b) is way more difficult. Students learn about abstract mathematical concepts very early. By the age of 13 students are supposed to know what linear equations are, to solve equations with two unknowns and apply them to real-life tasks.
Along with this, students have informatics lessons where they apply mathematical thinking to computer tasks. And this is the usual program. What young students learn at special mathematical schools is far beyond my understanding.
I was in a class focused on language learning, so math was a secondary subject. Despite this, by the age of 16, we made trigonometric calculations, solved logarithmic equations and equations with radicals.
The Russian school system is not flexible, and maths is an obligatory subject. No matter, what school or class you graduate from, you have to pass an exam on maths. So, an average Russian student has a good understanding of basics in this sphere.
Russia has a well-developed system of specialty schools with a strong emphasis on exact sciences. Such schools are very popular if not privileged. Almost every school has classes for in-depth studies of math.
Rigorous selection to Russian maths universities leads to picking up the most talented students. For example, to enter some faculties you should get 310 balls out of 300 for exams (additional 10 balls are granted for academic excellence or special achievements such as winning in olympiads where applicants demonstrate non-standard mathematical thinking).
In Saint Petersburg State University (the second largest university of the country) the competence to the Faculty of Modern Informatics was 60 people per place. Other mathematical specializations are on the top. In 2019 on 145 available places of the Faculty of Applied Mathematics the number of applications was 2122!
Such intense competition helps to choose not only those who know math well but also those who have exceptional talent and are able to apply this knowledge to extraordinary tasks.
The universities that are famous for their informatics and programming courses are located not only in Moscow or St. Petersburg but in other cities such as Saratov, Ekaterinburg. Qualifying rounds of international championships and State olympiads take place all over the country. This allows most talented programmers and teams to be revealed.
Russian Competitive Programming
Russian coding teams successfully represent the country on different programming championships.
- Over the last 20 years, the Russian team has been acknowledged the strongest in the prestigious “International Collegiate Programming Contest” 13 times.
- In the famous “Google Code Jam” with the number of participants around 50,000 for the last 6 years, the first prize was given to Gennady Korotkevich, a former student of ITMO (St. Petersburg).
- For the 8-year-old history of “Facebook Hacker Cup” Russian students took places 5 times, 2 times the winner was claimed an ITMU student Gennady Korotkevich.
But who are these coding celebrities?
Top Russian Coders
Gennady is the most titled coder of the world according to CodeForces.com. Though he is a Belorussian citizen, he is getting his degree in Russia, in ITMO, Saint Petersburg.
The Earth has never known someone more successful in international championships, including those organized by Google, IBM, and Facebook.
He takes the first place on CodeForces (a platform for coding championships participants).
Gennady decided his first programming task when he was only 8. His parents never forced him to do anything “except for having some rest when I was too busy with my hobby,” – he says.
Headhunters often offer him prestigious positions in international companies, but he is in no hurry to accept any job offers. He wants to get his Ph.D. first.
Petr is another star of Russian coding. He’s #1 in the rating of American Topcoder.com
He won in at least 16 local and international championships, including Facebook Hacker Cup, Internet Problem Solving Contest, Google Code Jam, and many others.
Petr adopted a passion for programming from his brother. Together with him, he went to a computer club. When they didn’t have a computer at home, Petr read books on programming.
These days he works in Google on search core of the system and this job is connected with the probability theory that Mitrichev learned at university.
During his job interview, he had to solve tasks similar to those he met on championships. Nowadays he creates such tasks for competitions like Google Code Jam himself.
Petr still weekly participates in online championships as he believes that to solve some tasks, you need to learn new approaches.
Andrey is a two-time ICPC champion and coach who graduated from St. Petersburg University. He won in ICPC in 2000 and 2001. Fourteen years later, the team he trained repeated his victory twice in 2014 and 2016.
Winning the world programming competition opens doors to the most prestigious positions and possibilities for immigration, but Lopatin didn’t accept any of them. He decided to continue his career in Russia and teach the next generation of genius coders. “I don’t understand why do I need this” – says Lopatin about work in Google – “Big companies offer fewer opportunities for development as a rule.”
How do Russians Learn Programming?
Programming requires solid mathematical knowledge. If you began learning math as a child, by your teenage years, you’ll form a special way of thinking.
The Russian school system is more focused on deep learning of exact sciences. For example, except for a big amount of math at school, there are many extra-curriculum science classes, programming, and these days even robotics technology clubs.
At Universities, Russian scholars are specially trained for championships. Mr. Lopatin says, that to become qualified sportsmen, beginners should train a couple of hours once or twice a week, high-ranked coders – three times a week for five hours. Students also participate in training camps all over the country.
There are also many local championships organized by IT companies such as Yandex, MailGroup, and others where students can have more practice before main international competitions.
Russian programmers perform outstanding results on the international arena. This success is the result of many factors, such as Soviet teaching heritage and the extreme competition to mathematical universities. This results in the birth of stars like Korotkevich, Mitrichev, and Lopatin.