Le plus intelligent : comment s'est développée la carrière des vainqueurs des championnats du monde d'informatique. Code des gagnants : comment les programmeurs russes ont reçu une reconnaissance mondiale. Inversion d'Andrey Lopatin

Une équipe d'étudiants de l'Université de Saint-Pétersbourg a remporté le championnat du monde de programmation qui s'est terminé le 19 mai à Phuket. Les Russes ont résolu les problèmes 7 minutes plus vite que les étudiants de l'Université de Shanghai ; l'équipe de Harvard a pris la troisième place. Au total, 128 équipes ont participé à la finale. L'équipe de l'Université d'État de Saint-Pétersbourg comprenait Igor Pyshkin, Stanislav Ershov, Alexey Gordeev, ainsi que l'entraîneur Andrey Lopatin - employé réseau social VKontakte et ancien développeur du messager Telegram. En 2000 et 2001, il a lui-même remporté le Championnat du monde étudiant au sein de l'équipe de l'Université d'État de Saint-Pétersbourg.

The Secret s'est entretenu avec l'entraîneur Andrei Lopatin, qui a passé un an à préparer les étudiants pour les Jeux olympiques.

- Qu'est-ce qui est le plus fort : l'Université d'État de Saint-Pétersbourg ou l'ITMO ?

C'est une question éternelle. Cela dépend à qui vous demandez. L'Université d'État de Saint-Pétersbourg a gagné quatre fois, l'ITMO six fois.

Parle-nous un peu de toi. J'ai lu que vous êtes diplômé du légendaire lycée n° 239 de Saint-Pétersbourg, où ont étudié de nombreuses personnalités allant de Grigori Perelman à Boris Grebenshchikov, et que vous y avez rencontré Nikolai Durov (co-fondateur de VKontakte et Telegram - Note de The Secret).

Oui, c'est arrivé. Le lycée n°239 est l'un des meilleurs de Saint-Pétersbourg. il y en a plusieurs des personnes célèbres Par exemple, Inna Druz a étudié en même temps que nous. Mais je ne l'ai pas terminé, j'y ai étudié de la 8e à la 10e, et j'ai terminé la 11e à l'école de langues n°238. Une expérience a été menée avec notre ensemble : nous avons appris l'anglais, le français, le latin, le grec ancien et d'autres langues, suivi la philosophie, les études orientales et la culture ancienne.

Mes parents sont enseignants. Sa mère enseignait les mathématiques à l'école et son père était professeur militaire ; il commandait une compagnie de l'ASO (équipe de secours d'urgence).

- Quand avez-vous commencé à vous intéresser à la programmation ?

Ça a commencé quand je suis tombé sur un livre sur le langage Basic, je l'ai lu, mais rien application pratique Je ne l'ai pas trouvé. J'ai fait connaissance avec les ordinateurs au début des années 90, ils nous les ont apportés dans une école de langues et j'ai essayé de reproduire de mémoire certains programmes du livre. J'ai été surpris d'apprendre que le basique a de nombreux dialectes différents et que ce que je sais sur la langue grâce à ce livre ne fonctionne pas bien sur les ordinateurs. J'ai commencé à étudier différentes langues programmation et s'est sérieusement immergé dans les algorithmes en neuvième année.

En huitième année, j'ai écrit quelques programmes, principalement en Assembleur - maintenant, cela semble assez fou, c'est le langage machine de niveau le plus bas, mais à l'époque, il n'y avait pas vraiment d'options. Par exemple, j'ai écrit un compilateur en langage Forth - un programme qui enregistrait le son à partir d'un magnétophone.

- Tu voulais étudier travail scientifique lié à la programmation et aux mathématiques ?

Alors que j'étais encore à l'école, j'étais membre de l'équipe russe d'informatique et j'ai participé à des Olympiades internationales pour les écoliers. Ensuite, je suis entré à l'Université d'État de Saint-Pétersbourg, où on nous a beaucoup parlé des algorithmes, je les étudiais déjà sérieusement.

J'ai réussi à travailler dans le domaine scientifique, mais pas pour très longtemps ; après l'université, je me suis davantage impliqué dans des choses pratiques. Par exemple, coacher une équipe de programmation, travailler sur VKontakte et Telegram et travailler sur un projet dans le domaine de la logistique des transports Veeroute. Je travaille chez VKontakte depuis 2008, lorsque l'architecture standard a cessé de fonctionner, j'ai dû créer la mienne, Nikolai et moi l'avons créée.

- Quels Jeux olympiques as-tu gagnés ?

Finales étudiantes des Championnats du Monde 2000 et 2001, nous sommes en compagnie de Nikolai Durov, en 2009 j'ai remporté le marathon Topcoder. Il s’agissait alors d’événements très importants, mais ils ont aujourd’hui, d’une manière ou d’une autre, réduit leur influence.

- Ils ont également Facebook, IBM et d'autres sociétés comme partenaires.

Facebook organise actuellement ses propres concours. Peut-être qu'ils les soutiennent un peu, je n'entre pas dans les subtilités de la relation entre Topcoder et Facebook, mais ça marche - et c'est bien. Les gars participent activement à Topcoder, je me souviens aussi parfois du passé, c'est utile pour moi de participer, je n'ai juste pas toujours assez de temps. Les chiffres parlent d'eux-mêmes : auparavant, ils invitaient 72 personnes à la finale uniquement selon des algorithmes, mais maintenant il n'y en a plus que 8-12. Peut-être qu'ils ne pouvaient pas supporter la concurrence.

En Russie, nous avons un projet fort, Code Forces, qui, à mon avis, est devenu plus populaire dans le monde que Topcoder, il est réalisé par Misha Mirzayanov de l'Université de Saratov. C'est un bon cas : comment une personne issue de la programmation algorithmique a créé le projet leader mondial dans son domaine. Là-bas, cinq mille programmeurs participent à chaque tour.

Préparez-vous principalement les étudiants à l’Olympiade internationale des étudiants ? Est-ce les Jeux olympiques les plus importants au monde ?

Oui, tout d’abord, il s’agit du Championnat du monde ACM ICPC. Au cours des 16 dernières années, les équipes de Saint-Pétersbourg ont remporté neuf fois la première place - soit nous, soit ITMO. Ce championnat est considéré comme le plus prestigieux. Des universités du monde entier s'y affrontent, à raison de trois personnes par équipe. Les étudiants de troisième cycle sont autorisés car en anglais, cela s'appelle Ph.D. Mais il existe des restrictions sur l'âge et le nombre de tentatives : vous ne pouvez pas participer plus de cinq fois aux compétitions de demi-finale et de quart de finale, et pas plus de deux fois aux finales.

- J'ai vu que l'Université de Saratov avait également gagné.

Oui, l'Université de Saratov a gagné avec l'entraîneur Misha Mirzayanov.

- Et avant 2000, il y avait beaucoup d'universités américaines, alors qu'il n'y en avait pas en Russie ?

Auparavant, il s'agissait d'un événement tellement local, puis IBM est venu avec le parrainage et a lancé une campagne très active pour attirer les gens. Les équipes russes ont commencé à participer en 1995.

- Quels sont nos principaux concurrents ? Chinois?

Cela dépend de l'année, mais généralement des étudiants polonais, chinois et du MIT. Les Polonais ont une école très forte à Varsovie. Ils ont gagné plusieurs fois, et cette année ils font partie des favoris (l'interview a eu lieu avant le championnat, l'équipe de l'Université de Varsovie a pris la cinquième place. - Note de The Secret).

Les programmeurs ont-ils une motivation financière pour participer à des compétitions, ou s'agit-il plutôt d'un désir de résoudre un problème et de se prouver qu'ils en sont capables ?

La motivation monétaire est également présente. De plus, la participation à l'Olympiade aide à bâtir une carrière. Immédiatement, les invitations de différentes entreprises commencent à affluer.

- Mais il y a des programmeurs théoriques, et il y a ceux qui résolvent des problèmes appliqués ?

Dans les équipes, il y a des gens qui font des mathématiques théoriques et ce qu'on appelle l'informatique, mais souvent les entreprises ont aussi besoin de tels mathématiciens. En affaires, il faut aussi calculer l’intégrale ou quelque chose comme ça ; les problèmes d’optimisation ne peuvent pas être résolus autrement. La théorie est importante, mais les gens souhaitent souvent résoudre des problèmes pratiques.

- Comment le boom technologique a-t-il affecté le métier de programmeur ? La demande a-t-elle augmenté maintenant ?

Ce métier a toujours été prestigieux, il y a eu toutes sortes de booms Internet, etc. Déjà à la fin des années 90, la programmation en Russie rapportait très bien en dollars. Certains sont partis en Occident - par exemple, mon coach scolaire est parti aux États-Unis à l'invitation de Microsoft en 1997. Quand j'étais au lycée, beaucoup de gens pensaient devenir programmeur afin d'avoir un bon revenu, mais j'étais juste intéressé. Aujourd'hui, les ordinateurs et la technologie mobile sont fermement ancrés dans nos vies, les programmeurs sont nécessaires partout et, aujourd'hui comme autrefois, les gens reçoivent de bons salaires.

- Maintenant plus de gens sortie?

Il me semble que c'est à peu près la même chose. Il fut un temps où l’on avait l’impression que moins de gens partaient : c’était la période de 2004 à 2012. Je me souviens qu'en 2005, Google a organisé un événement et a immédiatement invité les finalistes des Olympiades à travailler, et les gars et moi avons calculé combien de salaire il resterait après déduction des impôts et des frais de subsistance. Il s'est avéré qu'il ne servait à rien d'y aller pour l'argent. Aujourd’hui, en raison du taux de change du dollar, les gens partent probablement plus souvent.

Je dirais que 30 à 50 % partent olympiades. Certains veulent faire des sciences, ils vont dans des universités américaines, canadiennes, allemandes, certains reviennent ensuite.

- À quelle fréquence t'entraînes-tu?

Entraînement en équipe - trois fois par semaine pendant cinq heures, plus des camps d'entraînement plusieurs fois par an. Il existe également toutes sortes de concours - les concours TopCoder, Codeforces, Facebook, Google, VKontakte, Yandex déjà mentionnés - vous ne pouvez même pas vous souvenir de tout. Les gars y participent pour rester en forme. C’est déjà un événement sportif où il ne faut pas seulement garder la tête active. Il y a les échecs : quelqu'un dit que ça aide à planifier, à calculer les mouvements des gens - j'ai moi-même joué aux échecs, il me semble que cela m'a aidé à participer à d'autres compétitions, car j'avais déjà de l'expérience en compétition. Même si la programmation est un sport intellectuel bien plus proche de la réalité.

- Où se déroulent habituellement les camps d'entraînement ?

Parfois nous nous réunissons à Petrozavodsk, début avril nous sommes allés à un camp d'entraînement au MIPT, notre équipe a gagné, même s'il y avait aussi des participants de Shanghai. Malheureusement, l'équipe de Varsovie, qui nous avait battus lors du précédent camp d'entraînement à Petrozavodsk, n'était pas là. Ce serait intéressant de se revoir et de voir comment nous avons progressé. En 2007, ils avaient une équipe très forte. Elle a battu tout le monde tête baissée et a remporté le championnat du monde. En 2008, cette équipe a atteint une hauteur inaccessible, sur la base des résultats de tous les camps d'entraînement et entraînements, on ne pensait même pas que quelqu'un d'autre pourrait gagner. Et l'année dernière, cette équipe n'a réussi aucune tâche en finale et n'a reçu aucune médaille, bien que des médailles soient décernées aux 12 meilleures équipes - quatre d'or, quatre d'argent et quatre de bronze.

- Du dynamisme et de l'adrénaline comme dans les grands sports ?

La charge est très élevée, les participants sont assommés pendant longtemps, même si lorsque je suis devenu coach, j'ai réalisé : être participant n'est pas la pire des choses. Au moins, le participant peut faire quelque chose, mais le coach est tout simplement isolé et ne peut rien faire lorsqu'il veut donner des conseils. C'est très angoissant.

- Alors ces gens, en règle générale, obtiennent des emplois dans les grandes entreprises ?

Souvent. Je me souviens que lorsque l'équipe a remporté une médaille d'argent en 2010, ils ont obtenu un emploi chez VKontakte. Je pense que cela leur a été utile car ils ont appris ce qu'est la responsabilité lorsqu'on travaille pour une grande entreprise et une grande tâche. Cela les a aidés à se sentir plus en confiance lors de la finale, ils ont reçu une médaille d'or et sont devenus champions d'Europe en 2011. Désormais, les membres de cette équipe travaillent sur VKontakte et Telegram.

Les grandes entreprises proposent constamment des emplois aux gars et à moi. Il n'y a pas si longtemps, j'ai reçu une lettre de Google sous la forme suivante : veuillez me dire dans quel bureau aimeriez-vous travailler ? À Londres ou à Zurich ? J'ai participé une fois aux Jeux olympiques de 2003, sponsorisés par Samsung, ils m'envoient encore périodiquement des lettres : peut-être que vous le souhaitez toujours ?

Photo : © Alexandre Lopatin / lopatins.net

-N'envisagez-vous pas du tout de telles options ?

On ne sait absolument pas pourquoi j'en ai besoin. En règle générale, dans les grandes entreprises, il y a beaucoup moins de possibilités d'essayer quelque chose.

On a le sentiment que les programmeurs constituent une communauté fermée de personnes qui se sentent à l'aise les unes avec les autres et pas toujours avec le monde extérieur. Existe-t-il une telle chose?

Les programmeurs peuvent être introvertis en raison du fait qu'ils ont une façon de penser légèrement spécifique, alors ils inventent toutes sortes de blagues à leur sujet comme « faire mousser, rincer, répéter », etc. Mais au contraire, il y a des gars ouverts d’esprit. À propos, on dit que les gars de l'équipe avec laquelle j'ai voyagé en 2008-2009 jouaient régulièrement au bowling et invitaient des équipes du monde entier à jouer avec eux et ainsi créer la tendance. Dans les écoles d'informatique russes, il me semble, grande attention se consacrent à garantir qu’une personne grandisse bien. C'est un environnement qui s'est peut-être développé depuis l'époque soviétique - chansons avec une guitare, performances amateurs, tout ça. Activité sociale une sorte de travail est en cours, par exemple, une pièce de théâtre peut être mise en scène.

Remarquez-vous que le métier se rajeunit ? Les programmeurs de 20 ans remportent des concours et obtiennent des emplois dans de grandes entreprises.

Il y a toujours des jeunes talentueux, des gens apparaissent périodiquement qui montrent de très bons résultats dès leur retour précoce. Par exemple, lorsque j'étais en 11e année, Petya Mitrichev, élève de septième de l'école n°57, m'a presque empêché de me qualifier pour l'Olympiade scolaire internationale. Après Petya Mitrichev, il y avait Gena Korotkevich, qui, en cinquième année, était à quelques points de remporter une médaille d'or à la même Olympiade internationale.

- Mais y a-t-il encore une certaine valeur chez ceux qui ont écrit du code il y a 30 ans ? Ou est-il temps pour eux de prendre leur retraite ?

L'expérience permet de corriger certains effets spéciaux plus rapidement, elle joue un rôle, mais le fait est que les langages dans lesquels les programmeurs écrivent changent très rapidement. Connaissance technologies modernes et la capacité d’adaptation joue un grand rôle.

Si le rythme du développement technologique continue de croître, alors oui, les anciens devront peut-être prendre leur retraite. Je vais essayer de m'adapter. Il est désormais à la mode de parler d'une singularité technologique ; peut-être que si la vitesse augmente de façon exponentielle, il sera difficile pour les programmeurs plus âgés de suivre le rythme des plus jeunes.

- Comment une entreprise peut-elle attirer un programmeur en plus de résoudre des problèmes et un salaire intéressants ?

Je pense que les entreprises devraient être plus ouvertes et participer à des compétitions et des olympiades. Il est nécessaire que les gens des entreprises rencontrent et communiquent constamment avec les programmeurs. Après tout, qu’est-ce que les Jeux olympiques ? C'est l'une des façons de devenir programmeurs. Beaucoup de gens critiquent les Jeux olympiques comme s’ils étaient déconnectés de la réalité. Ce n’est pas le cas, les problèmes résolus dans les compétitions font partie de problèmes plus vastes.

Remarquez-vous parmi les programmeurs des gens ayant un esprit d'entreprise, des gens qui souhaitent créer leur propre entreprise ?

Dans mon entourage, il n'y a pas grand chose de tel, même si le sujet est intéressant. Je ne sais pas, pour une raison quelconque, il n’est pas courant d’y penser. Peut-être devons-nous réfléchir à la manière d’inverser cette tendance.

Qui parraine les étudiants russes aux championnats

La liste des 12 lauréats en 2016 comprenait quatre autres équipes russes : les étudiants du MIPT ont pris la quatrième place, l'ITMO la septième, l'UrFU la huitième et l'Université d'État de Nijni Novgorod la dixième. Le Championnat du monde de programmation étudiante a lieu depuis les années 1970. Initialement, des représentants d'universités américaines y ont participé et, au fil du temps, des étudiants d'autres pays ont commencé à participer au concours. Depuis 2000, les équipes russes ont remporté 11 fois l'ACM ICPC (Concours international de programmation collégiale) et l'équipe de l'Université d'État de Saint-Pétersbourg a remporté la première place à trois reprises.

Un exemple est Looksery, qui a été le premier au monde à créer une technologie de reconnaissance faciale, est entré dans les sommets de nombreux pays avec son application et a gagné de l'argent immédiatement après son lancement. Si un entrepreneur prend un noyau cool de finalistes et les entoure de professionnels, crée de bonnes conditions de travail et se donne pour tâche d'avancer et de résoudre des problèmes complexes, il obtiendra un effet énorme.

J'ai amené dix équipes au championnat, nous avons parrainé l'Université d'État de Saint-Pétersbourg et l'équipe de l'Oural, Innopolis, l'Université de Zaporozhye d'Ukraine et avons donné un peu plus à d'autres universités - sous condition, afin qu'elles puissent payer leurs billets pour Phuket. Je suis moi-même un ancien étudiant des Olympiades, bien qu'en mathématiques, et j'ai construit trois de mes startups sur l'épine dorsale des finalistes des Olympiades. Il y a cinq ans, ma société SPB Software a été rachetée par Yandex pour 38 millions de dollars, nous étions leaders dans notre segment sur le marché mondial, une autre société, Handster, a été rachetée par Opera. Looksery emploie généralement 60 % des athlètes olympiques (tous sont devenus millionnaires dans les deux ans suivant la vente de l'entreprise. - Note de « Secret »).

J'essaie de reverser 10% de mes revenus pour sponsoriser nos équipes, pour moi c'est de la charité, je n'attends aucun retour. En revanche, vous souhaitez faire un don dans un domaine pertinent. Lorsque les participants aux Olympiades vous connaissent, il est plus facile de les inciter à travailler sur des projets.

La voiture s'est échappée des rues d'Orlando (Floride, États-Unis) et s'est précipitée sur l'autoroute en direction de la côte. Les nouveaux champions du monde de programmation Nikolai Durov, Andrey Lopatin et Oleg Eterevsky ont célébré leur victoire. En 2000, la Russie a remporté pour la première fois le prestigieux ACM ICPC (Association for Computing Machinary International Collegiate Programming Contest), organisé depuis 1977. «Nous avons loué une voiture et sommes allés à l'océan. Tout le monde était ravi de cette idée», se souvient l’un des entraîneurs de l’équipe, Maxim Shafirov. En guise de prix, les étudiants de deuxième année de la Faculté de mathématiques et de mécanique de l'Université d'État de Saint-Pétersbourg ont reçu des ordinateurs portables flambant neufs. Ils étaient célébrés comme des héros à l’université.

Depuis, les équipes russes figurent souvent parmi les vainqueurs. Les programmeurs de Saint-Pétersbourg sont plus susceptibles que les autres. Les étudiants de l'Université d'État de Saint-Pétersbourg sont toujours encadrés par Andrey Lopatin, étudiants de l'ITMO (Université de Saint-Pétersbourg technologies de l'information, mécanique et optique) - Andrei Stankevich, qui a également participé au Championnat du monde en 2000, mais a perdu contre l'équipe de Durov.

Les chasseurs de têtes des géants de la technologie surveillent de près ces compétitions. IBM, qui, après Apple, AT&T et Microsoft, est devenu le sponsor général du championnat du monde de programmation, invite tous les finalistes à un stage. « Lorsque Facebook et Google se développaient activement, ils y attiraient également des programmeurs. Maintenant, ils organisent leurs propres compétitions », explique Andrei Stankevich. Les entreprises russes ont suivi le même chemin - Yandex organise une fois par an le tournoi Yandex.Algorithm, Mail.ru Group - Russian Code Cup.

« Le chemin vers toute entreprise est ouvert aux champions. Mais tout le monde n’obtient pas d’entretien. Non pas à cause de qualités professionnelles, mais à cause de qualités personnelles. De nombreux programmeurs sont profondément introvertis », déclare Roman Elizarov, le premier Russe à avoir reçu une invitation au championnat international de programmation en 1996.

Comment les programmeurs talentueux s’intègrent-ils dans l’environnement commercial ?

Le code des frères

Nikolai Durov, Andrey Lopatin et Oleg Eterevsky ont d'abord attiré l'attention en tant que programmeurs, alors qu'ils étaient lycéens au lycée de physique et de mathématiques. «Ils ont piraté le réseau des organisateurs de l'Olympiade de programmation et, pour se montrer, ont commencé à envoyer des messages à tous les participants. Nous avons disqualifié l'équipe », se souvient Elizarov, alors étudiant à l'ITMO qui a aidé à organiser des tournois pour les écoliers. « Nous nous sommes ensuite longuement excusés. Ils étaient jeunes. Mais c'était un défi : ils disaient qu'ils avaient bouché tous les trous », sourit Andrei Lopatin, donnant une interview à Forbes dans la salle de classe où il enseigne aux étudiants doués de l'Université d'État de Saint-Pétersbourg.

Dès sa première année, Nikolai Durov s'est vu offrir une place dans l'équipe de programmation de l'université, mais il a refusé de participer sans amis. Lorsqu'un an plus tard, le trio ambitieux se rend en Floride, les entraîneurs comprennent que l'équipe atteindra définitivement le top dix. "Il suffisait de voir à quel point l'équipe travaillait bien, comment Kolya pensait", se souvient une autre de leurs entraîneurs, Natalia Voyakovskaya, ancienne enseignante à l'Université d'État de Saint-Pétersbourg et employée de Lanit-Terkom, qui a parrainé l'équipe. Durov était le leader incontesté de l'équipe. «Cela a été immédiatement ressenti d'une manière ou d'une autre. Bien sûr, il ne pense qu’à lui-même. Mais si vous le faites parler, ce qui n'est pas facile, vous obtenez beaucoup de plaisir. L’intelligence de Kolya Durov est une chose puissante », ajoute Voyakovskaya.

Six ans après avoir soutenu sa thèse de doctorat, Nikolai Durov a dû à nouveau assumer les fonctions de chef d'équipe. Jeune frère Pavel lui a demandé de l'aider à développer le code du réseau social VKontakte. La première chose que Nikolaï a faite a été d'inviter Lopatin (lui et Eterevsky ont rompu à l'université ; il travaille maintenant au bureau russe de Google). Il a immédiatement accepté : « Parce que vous travaillez avec des gens que vous connaissez. » Au début, le code a été écrit par deux personnes. Peu à peu, ils ont commencé à accueillir leurs étudiants.

Parmi les développeurs du noyau - le code interne sur la base duquel fonctionne l'ensemble du réseau social, visité chaque jour par 68 millions de personnes -, il y a de nombreux participants à des compétitions internationales.

"Ils voulaient faire quelque chose d'intéressant - pourquoi ne pas leur donner cette opportunité", explique Lopatin. Nikolai Durov n'a pas communiqué avec Forbes.

L'équipe de Durov a optimisé la répartition de la charge sur les serveurs, ce qui a accéléré le travail du réseau social. VKontakte a même créé sa propre version du langage de programmation PHP, appelée KPHP. Le réseau russe a introduit de nombreuses options pour les utilisateurs avant Facebook, qui lui a servi d'exemple, par exemple la monnaie interne. VKontakte est un produit logiciel de haute qualité. Une chose dont on n'a jamais honte», note Maxim Shafirov, qui n'a plus communiqué avec ses anciens pupilles depuis longtemps.

Mikhail Levin, responsable du service d'analyse Big Data chez Yandex (lauréat de deux Championnats ACM ICPC), note que les « championnats » sont très intelligents, mais écrivent souvent des « pâtes » - un code peu lisible et incompréhensible pour les autres développeurs. Tout en aidant Lopatin à préparer les étudiants aux concours, Durov a attiré leur attention sur la facilité de mise en œuvre du code : ils ont compris comment réduire le code d'algorithmes complexes de 20 Ko à 1 Ko.

Les compétences des « athlètes des Olympiades » les aident dans leur travail, mais leur adaptation au travail sur un produit commercial, selon Lopatin, est toujours difficile. « Plus une entreprise est proche d’une startup, plus ce processus est rapide. Et «VKontakte» a longtemps vécu précisément dans cette atmosphère», note-t-il. Lors de la préparation des étudiants aux championnats, Lopatin a essayé de prendre en compte non seulement le talent, mais aussi le facteur humain - qui travaillera avec qui, ce qui se passe dans l'équipe, comment se calmer avant la finale. Avant la finale à Pékin, par exemple, Lopatin a emmené les programmeurs au karaoké - une vidéo de lui interprétant énergiquement la chanson des Beatles Obladi Oblada a gagné plus de mille Vues sur Youtube.

Deux douzaines de programmeurs de VKontakte étaient hébergés dans la célèbre Singer House, mais n'ont pas changé leurs habitudes, même lorsque l'entreprise est devenue une « mine d'or ».

Tandis que le fondateur du réseau, Pavel Durov, jetait des billets de cinq mille dollars par la fenêtre du siège social et emmenait les hauts dirigeants passer le week-end à Dubaï dans un avion de location, Nikolaï Durov se retrouvait facilement avec un livre dans le métro.

"Durov est presque Perelman", dit Elizarov.

L'atmosphère a changé en 2013, lorsqu'un conflit d'entreprise a éclaté autour du réseau social. En septembre 2014, le groupe Mail.ru, contrôlé par le plus riche Russe Alisher Usmanov, a complètement consolidé VKontakte en rachetant 48 % du fonds UCP pour 1,47 milliard de dollars. Douze programmeurs, après Pavel Durov, ont quitté la Russie et travaillent sur la messagerie Telegram. Mais VKontakte reste attractif pour les codeurs stars. Selon Lopatin, l'équipe compte désormais deux vainqueurs du dernier championnat du monde, qui ont rejoint l'entreprise depuis Yandex.

Il a lui-même quitté le projet, mais n'a pas suivi Durov. "Ils se sont séparés, Lopatin ne travaille plus sur Telegram", assure sa connaissance. Lopatin ne veut pas parler de Telegram, mais confirme qu'il se concentre sur l'enseignement. Il y a des offres d’emploi, mais il n’a encore rien choisi. « C’est important pour moi de faire des choses qui sont utiles. Investissez dans la génération de demain », affirme le programmeur.

Entreprise seul

Roman Elizarov, qui a organisé des tournois scolaires pour les programmeurs, a fondé en 2002 la société Devexperts avec des partenaires, développant des logiciels pour le secteur financier. Il divise les programmeurs entre ceux qui sont prêts à travailler selon des modèles et ceux qui aiment trouver des solutions à des problèmes uniques. Ces derniers sont plus demandés, mais aussi beaucoup plus exigeants de la part des employeurs. Jusqu'à ce que les entreprises technologiques commencent à croître rapidement et à aspirer le marché des talents, la seule alternative pour ceux qui étaient insatisfaits de leur emploi était de créer propre business. "Il y a plus d'opportunités maintenant", admet-il. « Et au début des années 2000, de nombreuses personnes ont dû devenir entrepreneurs. »

Fin 1999, une émeute couvait dans les bureaux pragois de la société russo-allemande TogetherSoft. Le programmeur Sergei Dmitriev a persuadé ses collègues Evgeniy Belyaev et Valentin Kipyatkov d'ouvrir leur propre entreprise. Il leur a inspiré l'idée de​​créer un produit pratique pour les programmeurs. « Les IDE existant à cette époque (environnement intégré pour les programmeurs. - Forbes) ne nous satisfaisaient pas et nous ne comprenions pas pourquoi ils ne contenaient pas bon nombre des fonctions évidemment nécessaires qui pourraient très bien être implémentées sur les ordinateurs modernes. Nous en avons discuté tous les trois et avons réalisé que nous avions beaucoup de réflexions à ce sujet et que nous n'étions probablement pas les seuls à avoir besoin d'un tel IDE », explique Kipyatkov.

En février 2000, les programmeurs qui ont quitté TogetherSoft ont ouvert JetBrains dans un appartement loué à Prague. Bientôt, un deuxième bureau apparut dans leur Saint-Pétersbourg natal.

Les fondateurs connaissaient bien la programmation et recrutaient des personnes qui étaient les mêmes.

En 2002, le dixième membre de l'équipe était Maxim Shafirov, l'ancien entraîneur de l'équipe de Durov (il est venu comme simple programmeur et dirige le bureau russe depuis 2012).

L'entreprise est spécialisée dans les logiciels pour programmeurs. Le premier et toujours le principal produit de JetBrains est l'environnement de développement intégré IntelliJ IDEA. « Il existe un magasin de matériaux de construction où les constructeurs achètent des haches, des scies et des marteaux. Nous faisons la même chose, mais pour les programmeurs », explique Shafirov. Les clients ne manquaient pas - les développeurs se conseillaient mutuellement sur le nouveau produit. Le premier client majeur fut Goldman Sachs.

JetBrains est rentable depuis sa première année. Mais en 2003, alors que l'entreprise avait déjà ouvert un bureau à Boston, la croissance s'est arrêtée : les programmeurs ont commencé à se tourner en masse vers le produit gratuit Eclipse, sponsorisé par IBM. JetBrains n'avait plus qu'à améliorer son IntelliJ IDEA. "Il y aura ceux qui défendront l'avantage d'Eclipse, mais la majorité utilise désormais le produit JetBrains", note Mikhail Levin de Yandex.

Ce défi a incité l'entreprise à diversifier ses activités. IntelliJ IDEA était destiné uniquement à la plateforme Java, que Microsoft attaquait avec son DotNet. "Nous avons commencé à créer le plugin ReShaper, qui complète les fonctionnalités de cette plateforme", explique Shafirov. Le nouveau produit a été lancé mi-2004 et, selon Shafirov, a décollé immédiatement. Le nombre de clients est passé à 25 000 et le personnel à 80 personnes. D'où viennent les développeurs ?

"A cette époque, j'enseignais encore à l'Université d'État de Saint-Pétersbourg, la moitié de mes étudiants se retrouvaient dans l'entreprise", admet Shafirov.

JetBrains propose actuellement environ 20 produits. Fin 2010, ils ont ouvert un bureau à Munich pour retenir les collaborateurs talentueux souhaitant partir à l'étranger. Au cours des deux premières années, il y avait trop de candidats et une restriction de déplacement a dû être introduite - pas plus de 12 personnes par an. Actuellement, environ 100 personnes travaillent au bureau de Munich et plus de 300 à celui de Saint-Pétersbourg.

En juin 2013, toute l'équipe JetBrains Saint-Pétersbourg a déménagé dans un nouveau bâtiment de sept étages. « Après ce déménagement, j'ai commencé à penser que JetBrains était une entreprise solide », explique Kipyatkov. En 2014, le chiffre d'affaires a dépassé 110 millions de dollars : au cours des trois dernières années, la croissance a été de près de 40 %. Dans le même temps, environ 40 % des revenus proviennent des États-Unis.

Les fondateurs se sont éloignés de la direction opérationnelle et ont transféré l'autorité à deux directeurs généraux en Russie et en Allemagne.

Dmitriev s'est intéressé à la bioinformatique et au problème du vieillissement, vit à Munich, comme Evgeny Belyaev. Valentin Kipyatkov est resté à Saint-Pétersbourg et réalise encore beaucoup de programmation lui-même. "Il aime ça", dit Shafirov.


Travaux de cours

La vapeur tourbillonne au-dessus d’un bassin d’azote liquide. Le thermomètre indique -192,9 degrés Celsius. Un module RAM est jeté dans le conteneur, retiré avec une pince et inséré dans l'emplacement de l'ordinateur. Des lettres et des chiffres apparaissent sur le moniteur - la clé des données cryptées. Plus la température est basse, plus les données sont stockées longtemps - c'est le sens de « l'attaque par démarrage à froid ». Cette orientation est suivie de près par les écoliers et étudiants participant au concours de cybersécurité NeoQuest. Pour la troisième année, elle est réalisée par la société pétersbourgeoise Neobit, créée par Piotr Zegzda, chef du département de sécurité de l'information. systèmes informatiques Université polytechnique de Saint-Pétersbourg et son fils Dmitry, professeur du même département.

L'entreprise, qui emploie une centaine d'étudiants et d'enseignants, développe des systèmes de sécurité de l'information (dans les années 1990, à l'université, à l'initiative de la FAPSI, un Centre Spécialisé pour la Sécurité de l'Information a été créé - ICPS). En fait, il s'agit d'un institut de recherche privé, précise Dmitry Zegzhda.

La plupart des développements de Neobit sont liés aux commandes gouvernementales. L'un des développements les plus ambitieux est le projet Febos : un système d'exploitation qui contrôle le fonctionnement de machines virtuelles sur lesquelles sont installés d'autres systèmes d'exploitation, comme Linux, Windows avec toutes les applications. « Phebos » est également utilisé dans les efforts de l’entreprise pour protéger les visioconférences. Parmi les domaines prometteurs sur lesquels travaillent les employés de Neobit figurent les technologies cloud et l'analyse de la sécurité des appareils grand public, ce qu'on appelle « l'Internet des objets » : appareils électroménagers, maisons « intelligentes ».

Le bureau de Neobita ne ressemble pas du tout à une installation secrète.

De jeunes salariés en jeans et tee-shirts se précipitent dans le couloir jonché de matériaux de construction (les travaux de rénovation ont commencé).

Les étudiants arrivent dans l'entreprise en 2ème ou 3ème année en tant que stagiaires. "Cette "méthode d'immersion" - travail individuel- la plupart méthode efficace maîtriser les connaissances », note Dmitri Zegzhda. Les personnes particulièrement avancées sont embauchées à temps partiel.

Certes, cette approche ne plaît pas à tout le monde. Un des anciens salariés se plaint que Neobit utilise simplement les étudiants comme main d’œuvre bon marché, certains travaillant « contre crédit ». "Ca c'est drôle. Comment imaginez-vous réaliser des projets importants avec des clients gouvernementaux, où vous dépendrez du fait que l’étudiant fasse quelque chose pour vous ou non ? - dit Zegzda Jr. La seule restriction est que les employés ne sont pas autorisés à travailler à distance.

Selon le système SPARK, en cinq ans depuis sa création, les revenus ont été multipliés par 10, pour atteindre 78 millions de roubles (2012). Les propriétaires ne divulguent pas d'indicateurs financiers récents.

Pourquoi ce type de travail attire-t-il les étudiants ? Ilya Medvedovsky, PDG de Digital Security, a étudié avec Zegzhda et a travaillé pendant plusieurs années comme analyste au Digital Security Center sous sa direction. Il se souvient de la façon dont il a testé le réseau local Novell NetWare 3.12, qu'ils prévoyaient d'utiliser dans les agences gouvernementales. "J'étais un pirate informatique, cela m'intéressait terriblement et j'ai fini par le casser", se souvient Medvedovsky. Il estime que Zegzda a créé l'une des écoles de sécurité de l'information les plus solides du pays et embauche volontiers des diplômés.

Neobit permet aux étudiants d'accéder plus facilement à d'autres entreprises informatiques. "Si un spécialiste du département ou de Neobit vient me voir pour un entretien, je n'ai même pas besoin de poser de questions générales sur les qualifications et le niveau de connaissances", explique Artur Kotelevsky, fondateur de la holding Acribia, ex-directeur de Neobit. .

Les diplômés de Zegzda Sr. travaillent chez Yandex, Google, Dell, Siemens, Bloomberg, Deutsche Bank, Cisco, beaucoup ont fondé leur propre entreprise en Russie et à l'étranger.

la science et la vie

Au début des années 2000, Andrei Lopatin, professeur à la Faculté de mathématiques et de mécanique de l'Université d'État de Saint-Pétersbourg, en équipe avec le frère de Pavel Durov, Nikolai, a remporté le championnat du monde étudiant ACM-ICPC de programmation pendant deux ans dans un rangée. Il occupe ensuite le poste de directeur technique adjoint du réseau social VKontakte, puis de directeur général de la messagerie Telegram. En 2014, Andrey, déjà en tant qu'entraîneur, a mené les étudiants en mathématiques et en génie mécanique à la victoire dans le même concours, consolidant ainsi la position de leader des programmeurs russes sur le marché mondial.


Egor, Dmitry, Pavel, n'avez-vous pas pensé à créer quelque chose qui vous soit propre, comme les frères Durov ?

Dmitri : Pour que cela fonctionne correctement, il doit s’agir soit d’une très bonne idée, soit d’une grande part de chance.

VKontakte est-il une idée ou une chance ?

Paul: Le succès était prévisible. Au moment de la création du réseau, Facebook existait déjà dans le monde entier. L'entreprise a simplement occupé ce marché en Russie, même si la concurrence était forte : Odnoklassniki et Moi Krug, alors très populaire, opéraient.

D'accord, de la chance et une idée. Des idées?

Dmitri : C'est ce que nous vous dirons. (Des rires.)

Égor : Il y a beaucoup de questions ici sur la définition d'objectifs, la promotion, le travail avec le public, etc. Par exemple, cela ne m'intéresse pas. Je suis intéressé par la programmation.

Dmitri : Egor se considère davantage comme Nikolai Durov que comme Pavel.

Dmitri : Non pourquoi? J'utilise rarement le courrier électronique, je fais tout via VKontakte. Pour une raison quelconque, les employés des entreprises russes ne se soutiennent pas. Quand je travaillais chez Yandex, je ne comprenais pas pourquoi les gens étaient sur Facebook, mais ils n'étaient pas sur VKontakte. Maintenant, c’est l’inverse : je vois combien de collègues « Google » plutôt que de demander à Yandex. Cela est dû à une idéologie qui m’est impensable, semblable à celle de « sortir de Russie ». Et je ne suis pas sur Instagram parce que je n’aime tout simplement pas publier mon déjeuner.

Andreï : Si vous m'écrivez sur Facebook, je vous répondrai dans environ deux semaines. Ce n'est pas pratique d'être là souvent : à Dieu ne plaise, je l'ouvre sur mon téléphone et il me dit que je dois installer l'application Messenger, qu'il faut télécharger... Et Facebook a des fils d'actualité absolument fous.

Avec toutes les histoires sur les algorithmes et les serveurs, j’ai l’impression d’être dans la série télévisée « The Big Bang Theory ». Qu’est-ce que ça fait de communiquer avec des gens qui n’ont souvent aucune idée de ce dont vous parlez ?

Dmitri : Je ressens un écart bien plus grand avec une personne basse culture générale qui boit tous les jours, fume comme une locomotive et jure constamment. Et si l’on parle de communication avec les gens dans le domaine des sciences humaines, alors pas de problème, je suis bien conscient du fait que les gens peuvent s’exprimer dans d’autres domaines.

Paul: Il se trouve que dans mon cercle social, il n'y a pratiquement personne qui ne soit pas issu du domaine de la programmation. Je ne comprends pas vraiment où je peux les chevaucher en masse. Discuter avec un compagnon de voyage dans le train - pourquoi pas, mais je communique régulièrement avec des personnes partageant les mêmes idées.

Vous considérez-vous plus intelligent que les autres ?

Andreï : Quels sont les critères ? Pour répondre à cette question, il faut rappeler que le test de QI a été inventé par des mathématiciens. Si les sciences humaines avaient fait cela, les choses auraient pu être différentes. À l'école, ils m'ont entraîné à passer ces tests et j'ai obtenu des résultats de 180 points. J’appellerais l’esprit un espace de dimension infinie dans lequel chacun est doué à sa manière. Peut-être que quelqu’un est paresseux ou désespéré et ne veut pas développer ses capacités personnelles, mais il n’est jamais trop tard.

LE LIEU DE TIR :

Club d'aviron "Znamya"
Rue Viazovaya, 4

Le club de l'île Krestovsky a été fondé en 1889 par des expatriés allemands. Le bâtiment a une architecture typique pour de telles structures : un hangar à bateaux avec un portail, au-dessus un carré avec un balcon, une tour servait à poster des signaux et à surveiller le chenal. Sur le territoire du club se trouvait un restaurant visité par l'artiste Mikhail Vrubel et Alexander Blok. On prétend que c’est ici que le poète a écrit un poème commençant par le quatrain :
Nous vous avons rencontré au coucher du soleil.
Vous traversez la baie avec une rame.
J'ai adoré ta robe blanche
Être tombé amoureux de la sophistication des rêves.

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

Nous remercions le club d'aviron de Znamya et personnellement Svetlana Grigorieva pour leur aide dans l'organisation du tournage

Au cours des 17 dernières années, les programmeurs russes ont remporté 11 fois le championnat du monde de programmation AFM ICPC, et au cours des cinq dernières années, les coupes ont été remportées chaque année en Russie. Le magazine RBC a découvert comment s'est développée la carrière de plusieurs finalistes de l'un des concours de programmation les plus prestigieux au monde.

Photo : Askhat Bardinov pour RBC

Le championnat international de programmation étudiante de l'Association for Computing Machinary International Collegiate Programming Contest (ci-après dénommé ICPC) a lieu depuis 1977. Jusqu'à la finale, qui a lieu à chaque fois différents pays, atteint 100 à 120 équipes composées de trois personnes. Les organisateurs du tournoi proposent 12 séries de médailles – quatre médailles d'or, d'argent et de bronze chacune.

Pendant toute la durée du CIPC, les étudiants de deux universités russes sont devenus des champions : l'Université d'État de Saint-Pétersbourg (SPbSU) et l'Université nationale de recherche sur les technologies de l'information, la mécanique et l'optique de Saint-Pétersbourg (ITMO). En 2006, l'équipe de l'Université d'État de Saratov a gagné.

Le concours est réservé aux étudiants, mais même après cinq à dix ans, la participation est prise en compte lors de l'embauche, a déclaré au magazine RBC Alexander Pashintsev, chef du groupe de recrutement de la plateforme Amazing Hiring. Le plus souvent, les médaillés et les champions de ces Olympiades sont embauchés par des géants de l'Internet - Yandex, VKontakte, Facebook, Google, Amazon, Mail.Ru Group, Avito ou des sociétés spécialisées engagées, par exemple, dans le trading à haute fréquence, note Pachintsev. Selon lui, dans les grandes entreprises informatiques, 5 à 10 % nombre total les employés sont des spécialistes passés par les tournois ICPC.

Les jeunes qui remportent des concours spécialisés peuvent intéresser les grandes entreprises occidentales, habituées à former elles-mêmes leurs employés, explique Irina Lukavskaya, consultante senior au département informatique et télécommunications de l'agence de recrutement Cornerstone. Le niveau de salaire de ces employés dépend de la modernité de la technologie qu'ils maîtrisent et du nombre de concurrents professionnels sur le marché. Par exemple, pour ceux qui travaillent avec logiciel Le salaire mensuel « 1C » est de 150 000 roubles. - digne, continue Lukavskaya, et les développeurs ABAR (sachez langage interne Programmation SAP allemande) avant même la crise de 2008, ils gagnaient plus de 200 000 roubles. par mois.

Plusieurs membres du CIPC ont refusé de communiquer en raison des politiques d'entreprise des entreprises pour lesquelles ils travaillent actuellement. Le magazine RBC s'est entretenu avec quatre champions et médaillés du CIPC et a découvert comment leur carrière s'est développée et si leur passé « olympique » les a aidés.

Entraîneur-joueur

Andrey Lopatin, double champion du monde de programmation (2000 et 2001), estime avoir réussi à combiner carrière dans l'informatique et l'enseignement. Son ancien mentor, maître de conférences à la Faculté des technologies de l'information et de programmation de l'Université d'État de Saint-Pétersbourg, Natalya Voyakovskaya, est parti après 15 ans de travail, et Lopatin, après sa deuxième victoire au ICPC, a remplacé l'entraîneur-chef de l'université. . «Je voulais que l'entreprise vive. Si je ne l’avais pas ramassé, il se serait effondré », raconte l’enseignant champion.

L'intérêt pour la compétition à l'Université d'État de Saint-Pétersbourg augmente : il y a dix ans, le nombre de personnes disposées à participer à des programmes sportifs ne dépassait pas 100 personnes par an. Aujourd'hui, le nombre d'étudiants souhaitant tester leur force dans le championnat atteint 200 personnes par an : des étudiants de diverses facultés de l'Université d'État de Saint-Pétersbourg viennent à Lopatin. Il s'agit principalement d'étudiants en mathématiques - chacun a ses propres réussites, mais la formation dure en moyenne environ trois à cinq ans. La sélection finale pour participer au concours est d'environ 50 personnes, et seules trois personnes atteignent la finale du CIPC.


Andrey Lopatin est convaincu que les programmeurs constituent une ressource précieuse s'ils peuvent non seulement écrire du code, mais aussi savoir comment le programme doit fonctionner.

Au stade initial, vous pouvez étudier une à deux fois par semaine pendant plusieurs heures, Lopatin partage son expérience, à un niveau plus avancé - trois fois par semaine pendant cinq heures. Il faut aussi constamment faire ses devoirs. Par exemple, les élèves qui n'ont pas résolu certains problèmes pendant les cours doivent les terminer à la maison, sinon il n'y aura aucun progrès, note le formateur.

Avec un bon niveau de préparation, les étudiants commencent à participer à des événements sur place une fois par mois ou par mois et demi : dans l'une des universités, des équipes de différentes universités se réunissent et s'affrontent. Le site le plus puissant de Russie en termes de participants et d'entraîneurs se trouve à Petrozavodsk. Université d'État, dit Lopatin.

Des camps d'entraînement sont également organisés de temps en temps à l'étranger, mais ils sont généralement « beaucoup plus faibles qu'en Russie » - en raison du niveau moyen de formation des participants, explique l'un des entraîneurs principaux du pays. La Russie en dernières années domine le CIPC. Parmi ceux qui peuvent pleinement rivaliser avec les programmeurs russes, Lopatin cite les américains, mais cela se fait au détriment des étudiants « importés » - Polonais, chinois et autres, puisque les principales universités américaines viennent étudier du monde entier.

"Ils disent que les Chinois ont des camps d'entraînement similaires aux nôtres, mais nous n'y avons jamais été invités, donc nous n'en sommes pas sûrs", sourit Lopatin. Lorsqu'il était lui-même écolier et participait à des concours de programmation, de nombreuses rumeurs circulaient concernant les participants chinois : ils auraient été emmenés dans les montagnes pendant un an et forcés de s'entraîner. Que cela soit vrai ou non, les équipes chinoises constituent « une concurrence assez forte », devient Lopatin sérieux.

La programmation nécessite « beaucoup de connaissances mathématiques », poursuit-il : si l’on commence à apprendre les mathématiques dès l’enfance, on développe un certain état d’esprit. Au ICPC, le participant n'a pas seulement besoin d'écrire du code - il doit résoudre un problème complexe et découvrir quelque chose de nouveau, et sans pensée mathématique et la connaissance des algorithmes n'est nulle part, le coach est catégorique. Chaque année, les tâches du championnat deviennent plus compliquées : des tâches qui semblaient irréalistes il y a 15 ans peuvent désormais être résolues en 15 minutes.

De nombreuses entreprises informatiques organisent leurs propres concours de programmation : cela leur permet de rechercher de futurs collaborateurs. Cependant, l'ICPC est le concours le plus prestigieux : ses participants ne sont pas seulement des codeurs qui créent des programmes, mais des spécialistes qui imaginent comment structurer un tel programme, explique Lopatin. Les finalistes de l'ICPC peuvent économiser le budget de l'employeur : 10 000 serveurs coûteront à l'entreprise 50 millions de dollars, et deux programmeurs intelligents peuvent vous dire ce qu'il faut faire pour éviter d'acheter ces serveurs, explique le formateur.

La préparation des équipes de l’Université d’État de Saint-Pétersbourg aux concours de programmation est la tâche principale de Lopatin. Au fil des années, il a travaillé chez VKontakte et Telegram, créé par Pavel Durov, mais désormais, parallèlement à l'enseignement, il est engagé dans le conseil pour le service russe de construction d'itinéraires logistiques VeeRoute. Lopatin admet que depuis son dernier championnat personnel il y a 15 ans, il a refusé une dizaine de grandes entreprises qui l'avaient appelé à travailler.

Chef des chats

Dmitry Egorov est devenu champion du monde ICPC à l'âge de 20 ans - en 2014, alors qu'il était étudiant en troisième année à la Faculté de mathématiques et de mécanique de l'Université d'État de Saint-Pétersbourg. Il dirige désormais le département de développement et d'optimisation de bases de données du plus grand réseau social de Russie « VKontakte » et poursuit ses études de maîtrise. Université Nationale de Recherche SupérieureÉcole d'économie. Cependant, combiner l'université et le travail est une chose courante pour Egorov.

Le futur champion du monde est diplômé du lycée de physique et de mathématiques n°239 de Saint-Pétersbourg, une école prestigieuse où, par exemple, le mathématicien Grigori Perelman, qui a prouvé la conjecture de Poincaré, et frère Nikolay, fondateur de VKontakte Pavel Durov, qui a travaillé avec lui sur la création et le développement du réseau social.


Il y a un an, Dmitry Egorov dirigeait le département VKontakte. Sous sa direction, il y a quatre champions mondiaux de la programmation. (Photo : Askhat Bardinov pour RBC)

En 2014, la finale du championnat ICPC s'est tenue début juillet à Ekaterinbourg. L'équipe de l'Université d'État de Saint-Pétersbourg, dans laquelle jouait Egorov, a pris la première place - il s'agissait de la troisième victoire consécutive de la Russie au tournoi mondial.

Au cours des premières années de ses études à l'université, Egorov a effectué un stage chez Yandex - de 2012 à 2014. L’entreprise embauche régulièrement des « stagiaires », donc si on a l’envie et « un certain niveau de formation de base », ce n’est pas difficile d’y arriver, précise l’étudiant. Il qualifie le stage chez Yandex de « extrêmement utile » - non seulement du point de vue des compétences en programmation acquises, mais aussi du point de vue de l'organisation au sein d'une grande entreprise. Après le stage, Egorov s'est rendu compte qu'il ne se considérait pas comme un employé ordinaire d'une grande entreprise. « J'ai toujours été prêt à travailler sensiblement plus et mieux que les autres, mais j'attends également de meilleurs résultats », explique l'ancien étudiant de l'Université d'État de Saint-Pétersbourg. Les grandes entreprises n'ont pas suffisamment d'opportunités de croissance et de développement, elles manquent d'une approche individuelle, déplore Egorov. Et cela s'applique non seulement à Yandex, mais aussi à d'autres géants de l'informatique comme Google. « Si vous souhaitez mener une vie tranquille, bénéficier d'un bon salaire et avoir confiance en l'avenir, les grandes entreprises informatiques constituent une excellente option. Mais ce n'est pas pour moi », déclare le champion du CIPC.

Immédiatement après la cérémonie de remise des prix, l'un des employés de VKontakte s'est approché d'Egorov et lui a proposé de rejoindre l'équipe. Quelques mois plus tard, l'étudiant est venu travailler sur le plus grand réseau social. Les perspectives pour lui sont évidentes : au printemps 2014, Pavel Durov a quitté VKontakte, suivi de nombreux développeurs qui ont quitté l'entreprise. « Malgré des dizaines de millions d'utilisateurs par jour, l'esprit startup était à nouveau dans l'air », sourit le champion. Moins d'un an plus tard, Egorov dirigeait le département, où il accéda à un poste privé. Il y a sept personnes dans son département : toutes ont participé au CIPC au cours des années différentes, quatre sont devenues champions du monde.

L'orientation du développement et de l'optimisation des bases de données est idéale pour les anciens participants aux Olympiades, en est sûr Egorov. Il y a quelques années, toutes les parties très chargées du site VKontakte ont été transférées vers les propres bases de données de l'entreprise, optimisées pour les besoins de l'entreprise, car toutes les solutions disponibles sur le marché se sont révélées inefficaces pour l'entreprise. "Si nous parlons dans un langage simple, alors je suis responsable de veiller à ce que les kilotonnes de chats utilisateurs ne se perdent nulle part », rit Egorov.

Un étudiant en master n'est pas prêt à évaluer le degré d'importance de son département pour l'entreprise : dans VKontakte, il est difficile d'identifier les départements de développement clés et secondaires. Pour un travail et un développement à part entière, tous les composants sont requis - bases de données, back-end, front-end et groupe administrateurs système et le développement mobile. Sans aucun de ces éléments, le site commencera à se dégrader assez rapidement, en est sûr Egorov. « Vous ne demandez pas quel organe humain est le plus important : le cerveau ou le cœur ? Sans aucun d’entre eux, une personne ne peut vivre que de plaisanteries », dit-il.

En règle générale, tous les gagnants des championnats ICPC peuvent choisir leur lieu de travail parmi une liste assez longue. Par exemple, lors de la cérémonie de remise des prix, le sponsor général du Championnat du monde, IBM, distribue une invitation à tous les gagnants pour qu'ils contactent leur service RH et discutent des postes vacants, se souvient Egorov. Pour sa part, il a immédiatement décidé qu'il ne voulait pas quitter la Russie.

«Pour de nombreux informaticiens, partir à l'étranger est une sorte d'obsession qu'ils cultivent les uns chez les autres», explique Egorov. Il ne regrette pas d'avoir choisi VKontakte comme employeur et qualifie la migration massive d'informaticiens à l'étranger de « désastre absolu pour le pays ».

Champ des possibles

Gleb Leonov, étudiant en 1ère année à la Faculté de mécanique et de mathématiques de l'Université d'État de Saint-Pétersbourg, et deux amis ont vu une annonce sur le stand de l'université invitant les gens à participer au programme des Olympiades. Un diplômé de l'école de mathématiques - le gymnase académique de l'Université d'État de Saint-Pétersbourg, où Pavel Durov a étudié - s'est intéressé. C’est ainsi qu’il s’est retrouvé dans la « classe » d’Andrei Lopatin. Leonov est devenu deux fois finaliste du CIPC et a remporté une médaille d'argent.

Pendant ses études à l'Université d'État de Saint-Pétersbourg, Leonov ne travaillait pas à temps partiel : cela n'était pas particulièrement nécessaire, et les études et la formation en programmation prenaient beaucoup de temps, se souvient-il. Après l'université, Leonov est entré aux études supérieures, mais l'a quitté un an plus tard : il voulait se concentrer sur la programmation.


Gleb Leonov aimait résoudre des problèmes depuis son enfance Problèmes mathématiques, et déjà à l'université je me suis intéressé à la programmation des Olympiades (Photo : Askhat Bardinov pour RBC)

Aujourd'hui, les finalistes du CIPC reçoivent de nombreuses offres d'employeurs potentiels : il y a dix ans, leurs opportunités étaient plus modestes. Cependant, même à cette époque, Google appelait des programmeurs pour des entretiens. Leonov n'a jamais été attiré par la perspective de travailler dans l'une des plus grandes sociétés informatiques américaines.

Leonov assure qu'il n'est désormais plus difficile pour les participants du CIPC de partir à l'étranger et d'y trouver du travail : par exemple, le niveau d'anglais écrit des participants à l'Olympiade s'élève automatiquement à un niveau élevé, puisque lors des compétitions et des entraînements, toutes les conditions des tâches sont indiquées. sur langue anglaise. De plus, la majeure partie de la littérature pédagogique spécialisée se trouve uniquement dans cette langue, le médaillé du CIPC hausse les épaules.

Participer à des championnats et travailler en entreprise, ce n’est pas la même chose. Si nous parlons de concernant la programmation sportive, votre objectif est de résoudre le problème et d'écrire un programme le plus rapidement possible. Et lorsqu’on travaille en entreprise, le but d’un spécialiste est de développer des logiciels modifiables. Parfois, il est nécessaire de « couper » un programme en plusieurs parties et de remplacer l’une des « parties » sans toucher au reste. L’essentiel dans le travail d’un programmeur est donc la compétence pratique. Il est difficile de l'acquérir à l'université, explique Leonov. De plus, plus le poste est élevé, plus des compétences supplémentaires sont requises.

Leonov travaille pour JetBrains à Saint-Pétersbourg depuis sept ans. Créé en 1999 à Prague par les programmeurs russes Sergey Dmitriev, Evgeny Belyaev et Valentin Kipyatkov, JetBrains développe des logiciels destinés aux informaticiens. Désormais, outre Prague et Saint-Pétersbourg, la société possède des bureaux à Moscou, Munich, Boston et Novossibirsk. Leonov a lui-même obtenu un emploi chez JetBrains - il a demandé ses coordonnées aux employés de l'entreprise et a envoyé son curriculum vitae.

"Si un étudiant a atteint la finale du Championnat du monde, alors il en a très probablement la capacité et passera facilement un entretien pour le poste de programmeur junior", sourit Leonov.

Aujourd'hui, le finaliste du ICPC développe des outils, mais pas pour les programmeurs. Pour qui - Leonov a refusé de répondre, citant le règlement intérieur de l'entreprise. Plusieurs fois par an, il participe à des concours de programmation individuels organisés par Google, Facebook, Mail.Ru Group, etc. Les étapes de qualification se déroulent via Internet et les finalistes sont invités à l'étape finale dans différentes villes du monde. "Bien sûr, je n'entre pas en finale, parce que je fais plus pour moi-même", admet Leonov.

Google Core

Petr Mitrichev a hérité sa passion pour les mathématiques de son frère aîné, qui était également impliqué dans la programmation. Maman, chimiste de formation, a acheté à Peter des livres de mathématiques. Lorsqu'il n'y avait pas d'ordinateur dans la maison, Mitrichev Jr. lisait de la littérature sur la programmation et se rendit avec son frère au Centre de créativité des enfants et des jeunes, où ils étudièrent dans un cercle informatique. À l'âge de sept ans, il entre à l'école de district n° 827 et à 14 ans, il rejoint une classe spécialisée de l'école n° 57 de Moscou, puis postule à la Faculté de mécanique et de mathématiques de l'Université d'État de Moscou.

À l'école, un professeur d'informatique a suggéré à Mitrichev de participer à l'Olympiade de programmation du district nord-ouest de Moscou. "Une fois entré dans ce système, il est plus facile de participer à d'autres Olympiades", se souvient Mitrichev. Il a également participé à Olympiade panrusse pour les écoliers, je suis allé plusieurs fois dans des camps d'entraînement de deux semaines dans différentes villes, où ils forment, entre autres, les futurs participants du CIPC.


Petr Mitrichev participe chaque semaine à des concours de programmation en ligne. Après avoir remporté l'ICPC, c'est devenu son passe-temps. (Photo : Askhat Bardinov pour RBC)

Contrairement aux étudiants de l'Université d'État de Saint-Pétersbourg et de l'ITMO, Mittrichev et ses camarades de classe de la Faculté de mécanique et de mathématiques n'avaient pas un seul entraîneur. Agi en tant que mentors informels anciens membres CIPC qui ont partagé leurs expériences en ligne et lors de réunions. Evgeny Pankratiev, chercheur principal au Laboratoire de méthodes informatiques de la Faculté de mécanique et de mathématiques de l'Université d'État de Moscou, a contribué à la participation au concours : il a organisé des voyages et a aidé à remplir les formalités administratives. Mitrichev a atteint la finale du CIPC à deux reprises : en 2003 aux États-Unis et en 2005 en Chine, alors qu'il en était respectivement à sa première et à sa troisième année. Les deux fois, il a pris la deuxième place par équipe.

Pendant ses études, Mitrichev travaillait parfois à temps partiel, mais ne cherchait pas d'emploi à temps plein. Gagner l'ICPC ne garantit pas à 100 % de recevoir offre intéressante d'un employeur potentiel, il en est sûr. "Le CIPC sert davantage moyens sociaux lien entre un joueur professionnel et une bonne entreprise employeur », sourit Mitrichev. Les concours vous apprennent à bien programmer, après quoi tout travail dans votre spécialité devient possible, dit-il. Cependant, à l'Olympiade, il est important de programmer rapidement et sans erreurs, et vous pouvez prendre votre temps dans votre travail. En même temps, admet-il : la capacité d’écrire du code rapidement et sans erreurs signifie qu’il n’est pas nécessaire de refaire le travail plusieurs fois.

Les finalistes de l'ICPC peuvent être impliqués dans l'organisation de concours similaires au sein de grandes entreprises ou dans le domaine de l'analyse (par exemple, la négociation d'actions). Mitrichev a envisagé lui-même cette dernière option après avoir obtenu son diplôme universitaire. « Là-bas, vous pouvez gagner de l'argent pour vos vieux jours en moins de temps », admet-il.

Cependant, depuis 2007, Mitrichev travaille chez Google - d'abord au bureau de Moscou et depuis 2015 au bureau suisse. Lors d'un entretien avec l'une des plus grandes sociétés informatiques du monde, Mittrichev a dû résoudre des problèmes similaires à ceux rencontrés lors de la finale du ICPC, se souvient le programmeur. Certes, il travaille actuellement sur le moteur de recherche du site Web de Google, et ce travail est davantage lié à la théorie des probabilités, que Mitrichev a étudiée à l'université. La vitesse acquise lors des compétitions est utile lorsqu'il faut, par exemple, créer un prototype d'un programme et comprendre s'il fonctionne.

Désormais, Mitrichev aide Google à organiser ses propres concours de programmation - Google Code Jam, et propose des tâches pour les tournois avec ses collègues. Mitrichev lui-même a participé à cette compétition à deux reprises et a pris la troisième place en 2005 et la première en 2006. Le programmeur admet avoir discuté d'une éventuelle coopération avec des représentants de VKontakte, Facebook et Yandex, mais il lui semble désormais que Google est la meilleure option, « parce que l'entreprise résout des problèmes intéressants et que ses employés personnes intelligentes, avec qui c'est un plaisir de travailler."

Après l'ICPC, Mitrichev participe chaque semaine à des concours en ligne. Selon lui, pour résoudre certains problèmes, il doit réapprendre : « Dans ce domaine, c’est plus facile pour la nouvelle génération : elle apprend immédiatement méthodes modernes la programmation". Aujourd'hui, Mitrichev est à la tête de l'un des principaux classements de la société américaine Topcoder.com, qui organise des compétitions de programmation sportive depuis 2001.



Lire aussi :