First of all, Russians areย heavily prepared;ย they areย not ordinary students.
Their universities typically have a special department, which specializes ONLY in solving abstract Olympiad problems.
Studying there is free, but in order to get in, you need to win a contest. Only 1 in 500-1000 students is accepted and only from eligible specialities (math and computer science).
The competition is insane. According to Sergey Monin, they either have outstanding programming skills or are math prodigies.
Second, all teachers are ex-winners (i.e. they won a few international contests but simply outgrew the program. Now they teach newbies). Essentially the same group of people will win repeatedly.
Finally, universities have direct benefits from this. During any convenient opportunity, they boast by saying โWE WON A WORLD CHAMPIONSHIP!โ (Read: our university is better than MIT, Stanford, and Berkeley combined.) Additionally, itโs often used to get financial aid from the government.
Not surprisingly, with such selection and training, they win contests.
Now back to tech companiesโฆ
Russia has tech companies like; JetBrains, Kaspersky, Dr. Web, Nginx many of small and medium-sized companies in every city.
But…
Why Russia Donโt Have Giants Tech Companies Such As Google, Microsoft, and so on?
The answer is simple – Programming skills are not enough. In order to succeed, a company needs designers, managers, competent leadership, investors, customer support, and so on.
Finally, โ๐ฐ๐ผ๐บ๐ฝ๐๐๐ฒ๐ฟ ๐๐ฐ๐ถ๐ฒ๐ป๐ฐ๐ฒโ ๐ฎ๐ป๐ฑ โ๐๐ผ๐ณ๐๐๐ฎ๐ฟ๐ฒ ๐ฒ๐ป๐ด๐ถ๐ป๐ฒ๐ฒ๐ฟ๐ถ๐ป๐ดโ are two different fields. While they can solve difficult, abstract problems their code is often messy and unreadable. To build complex systems, you need to have vision on software architecture and be a team player.
ยฉSergey Monin