Sportprogramme. Programmierolympiaden – helfen sie bei der echten Arbeit? Über Aufgaben und deren Vorbereitung

💖 Gefällt es dir? Teilen Sie den Link mit Ihren Freunden

Dies ist bereits ein sehr alter Holivar: Sind Sportprogrammierer für harte angewandte Entwicklung geeignet, oder sind sie eine Art wunderschöne weiße Vögel, die in mathematisch-algorithmischen Wolken schweben und unter alltäglicheren Bedingungen sterben? Es gibt einen weit verbreiteten Mythos, dass alle Sportprogrammierer zu Google oder zumindest zu Yandex gehen, wo sie mit Inspiration an Suchalgorithmen und ähnlichen arbeiten. Einfaches belarussisches Outsourcing ist nichts für sie. Vielleicht kann, wenn schon kein Punkt, so doch zumindest ein Satzzeichen in diesem Meinungsstreit die Fakten auf den Punkt bringen. Wir haben Informationen über alle Sportprogrammierer in unserem Land gesammelt und anhand von drei Kriterien:

  • nahm am ACM ICPC-Finale teil;
  • sprach im Namen der belarussischen Universität;
  • Ihr Studium an der Universität bereits abgeschlossen haben;

eine Auswahl getroffen. Das Ergebnis war eine Liste von einundzwanzig ACM ICPC-Finalisten aus Weißrussland. Wir konnten die meisten von ihnen kontaktieren und drei einfache Fragen stellen:

  1. Wo ist Ihr aktueller Arbeitsplatz und welchen Stellenwert/Inhalt hat die geleistete Arbeit?
  2. Warum gerade dieses Unternehmen/Beruf?
  3. Was sind Ihre Pläne für die Zukunft, wie sehen Sie diese? Wohin möchten Sie umziehen?

Wer von ihnen wählte eine Karriere als Manager, wer blieb dem Sportprogramm treu, und wer noch Suchalgorithmen entwickelt, erfahren Sie aus der „direkten Rede“Belarussische ACM ICPC-Finalisten.

Iwan Michnewitsch (ACM ICPC 2000)

  1. Wargaming Public Company Limited, Direktor.
  2. Dies ist das Ergebnis des Wachstums der Unternehmensgruppe seit Beginn seiner beruflichen Laufbahn.
  3. Wirklich, das alles ist schon erschöpft und es ist Zeit, eine neue Karriere zu beginnen, an einem neuen Ort, in einem neuen Bereich (höchstwahrscheinlich nicht in der IT).

Sergey Stepantsov (ACM ICPC 2000)

  1. Derzeit arbeite ich als Vice President Business Development bei Intetics Co.
  2. Der größte Teil meiner Karriere ist mit diesem Unternehmen verbunden, hier konnte ich mich in verschiedenen Rollen versuchen: Ich begann als Testspezialist und arbeitete auch als Programmierer, Projektmanager und Leiter der Produktionsabteilung. Und spezialisierte sich schließlich auf die Geschäftsentwicklung.
  3. Ich fühle mich immer noch nicht alt genug, um mit der Selbstentwicklung aufzuhören :). Ich denke, dass die Zukunft des geschäftlichen Teils meines Lebens noch viele spannende Wendungen mit sich bringen wird.

Vladimir Tankovich (ACM ICPC 2000, 2003)

  1. Jetzt arbeite ich bei Microsoft an Computer Vision-Algorithmen für Kinecta. Davor lag es an der Suchrelevanz.
  2. In dieser Firma seit 2005. Sie haben mich aus der Republik Weißrussland mitgebracht, und bisher hatte ein Umzug keinen Sinn. Ich bin diesem Team beigetreten, weil es einem ermöglicht, wissenschaftliche Arbeit zu leisten, die nicht in eine Sammlung von Artikeln, sondern in ein fertiges Produkt einfließt.
  3. Es gibt keine konkreten Pläne für die Zukunft. In der IT ist Geld sowohl in Minsk als auch hier kein Problem. Bisher interessiere ich mich sehr für das Verständnis von maschinellem Lernen und KI. Es stellt sich heraus, dass ich fast immer das mache, was ich will, und dafür auch gut bezahlt werde. Das heißt, in den nächsten 1-2 Jahren werde ich dasselbe tun, und dann werden wir sehen. Ich sammle viel Erfahrung und wenn ich eine Idee habe, wie ich diese zuverlässig anwenden kann, versuche ich es mit einem Startup.

Alexey Kirkovsky (ACM ICPC 2002, 2005)

  1. NT LLC „LuxSoft“, Softwareentwickler der 2. Kategorie.
  2. Ich wollte unbedingt zur bekannten Moskauer Karosseriewerkstatt Luxoft, weil ich seit meiner Kindheit davon träumte, Luken zu automatisieren, aber ich bemerkte keinen Buchstaben und landete bei der weißrussischen LuxSoft. Dort habe ich, ohne hinzusehen, einige Papiere unterschrieben, und jetzt arbeite ich mit einem 20-Jahres-Vertrag für ein festes Gehalt in belarussischen Rubel, das nur für Benzin reicht.
  3. Ich habe vor, den Standard für die Anzahl der Zeilen pro Minute zu erfüllen und Softwareentwickler der 1. Kategorie zu werden. Dann besorgen Sie sich einen CCM in der Programmierung, der mir hier zugewiesen wird, wenn es während der gesamten Vertragslaufzeit zu keiner einzigen Verzögerung bei der Arbeit kommt.

Alexey Danchenko (ACM ICPC 2002, 2005)

  1. NT LLC „LuxSoft“. Softwareentwickler. IN In letzter Zeit Ich entwickle eine domänenspezifische Programmiersprache für unser Produkt.
  2. Die Möglichkeit, mit Freunden an der Umsetzung einer interessanten Idee zu arbeiten.
  3. Genieße weiterhin das Leben.

Evgeny Gonchar (ACM ICPC 2003)

  1. Google Schweiz (Zürich), Senior Software Engineer. Ich arbeite an einem der Infrastrukturprojekte für die Websuche.
  2. Ich liebe das Programmieren seit meiner Kindheit.
  3. Ich möchte mich im E-Gitarre-Spiel weiterentwickeln und wieder nach Neuseeland gehen.

Ivan Metelsky (ACM ICPC 2003, 2004)

  1. TopCoder, Inc., Marathon-/Algorithmus-Problemkoordinator. Start von Marathon- und Algorithmenwettbewerben auf TopCoder.
  2. In gewisser Weise ist es einfach passiert. Im Ernst: ein gutes Einkommen, ein relativ interessanter Job, es ist schwer, eine bessere Alternative zu finden.
  3. Pläne für die Zukunft – egal wo, aber irgendwo in Richtung etwas weniger Beschäftigung und mehr Handlungsspielraum. Vielleicht eine Art Geschäft, nicht unbedingt in der IT.

Victoria Lebed (ACM ICPC 2004)

  1. Ich war und bin immer noch Mathematiker. Sie war die einzige Person im Team, die den Computer nicht berührte :) Sie erledigte die gesamte „Nebenarbeit“. Ich lebe und arbeite in Paris. Jetzt habe ich eine befristete Stelle an der Universität Paris 7 - wissenschaftliche Tätigkeit und lehren. Kürzlich promoviert.
  2. Dies ist ein Beruf, weil er eine seltene Gelegenheit bietet, die persönliche und kreative Freiheit zu bewahren.
  3. Ich versuche, keine Pläne für die Zukunft zu machen. Auch hier gilt: Beschränken Sie sich nicht auf irgendetwasdann den Rahmen und setzen Sie sich nicht persönlich der Last von Erwartungen, Hoffnungen und anderen Dingen aus. Mir geht es gutIch stelle mir die Fortsetzung des eingeschlagenen Weges im universitär-wissenschaftlichen Umfeld vor, schließe aber die Tür nicht für andere Optionen.

Maxim Osipov (ACM ICPC 2004)

  1. VironIT, Direktor. Unternehmensführung (hauptsächlich nicht operativ, sondern mit dem Ziel, die Vertriebs-, Entwicklungs-, Arbeitsqualitätsprozesse usw. zu verändern)
  2. VironIT-Firma, denn das ist meine Firma, ich bin der Eigentümer. Das ist ein Beruf (nicht-operatives Management), weil es für mich am interessantesten ist, herauszufinden, wie man ein Unternehmen aufbaut.
  3. Entwickeln Sie Ihr Unternehmen, stellen Sie unter anderem auf ein Produktmodell um, gründen Sie eine Familie, Kinder. Ich sehe die Zukunft als interessant, herausfordernd, aber auf jeden Fall positiv.

Pavel Irzhavsky (ACM ICPC 2007, 2008)

  1. Dozent an der Belarussischen Staatsuniversität, Mathematiker-Programmierer bei Orientsoft, Lehrer bei ShAD, Doktorand (formell ist dies ein Studium, aber tatsächlich ist es näher an der Arbeit).
  2. Jede Lektion ist sowohl interessant als auch nützlich (außer der Tatsache, dass sie alle Einkommen bringen :)), und einfach, sodass ich mich ein wenig entspannen kann, und komplex, sodass ich mich weiterentwickeln kann. Es scheint mir, dass ich generell weniger effizient werde, wenn ich anfange, grob gesagt acht Stunden am Tag das Gleiche zu tun, und der tägliche Aktivitätswechsel ermöglicht es mir, Höchstleistungen zu erbringen.
  3. Es gibt keine wesentlichen Änderungen in den Plänen für die Zukunft :)

Vladimir Kerus (ACM ICPC 2007, 2008)

  1. EPAM. Leitender Softwareentwickler in der Abteilung für mobile Entwicklung. Ich entwickle Anwendungen für Android.
  2. Ich lerne gerne neue Dinge, und im jetzigen Unternehmen gelingt es mir, das Profil problemlos zu ändern und die richtigen Lehrer zu finden.
  3. Ich habe bereits einen Baum gepflanzt, ich spare, um ein Haus zu bauen, ich habe vor, Kinder zu haben (idealerweise mein eigenes Barcelona-Team).

Sergey Tikhon (ACM ICPC 2009)

  1. EPAM Systems, leitender Softwareentwickler. Architekt/Entwickler von Sonderprojekten.
  2. Freundliches, starkes Team, interessante Aufgaben, gute Möglichkeiten zur beruflichen Weiterentwicklung.
  3. Arbeiten Sie in der IT, aber an der Grenze zur Wissenschaft, und arbeiten Sie an der Implementierung von Data Science in realen Anwendungen und Diensten (maschinelles Lernen, Verarbeitung natürlicher Sprache, Suchtechnologien, Modellierung). Propaganda, Verbreitung und Implementierung funktionaler Programmierung (ich blogge über F#).

Alexey Lobanov (ACM ICPC 2010)

  1. Yandex-Unternehmen, Entwickler bei Yandex.Maps. Gleichzeitig bin ich Doktorand an der Belarussischen Staatsuniversität und arbeite als Assistent in der DMA-Abteilung des FPMI (ich leite praktische Kurse im Kurs „Algorithmen und Datenstrukturen“).
  2. Warum Yandex: Hier gibt es interessante Aufgaben (auch komplexe, wissensintensive, algorithmische), angenehme Arbeitsbedingungen und ein exzellentes Team. Warum FPMI BSU: Ich halte es für wichtig, Ihr Wissen an die nächste Generation von Studierenden weiterzugeben.
  3. Pläne für die Zukunft: mein Doktoratsstudium erfolgreich abschließen und versuchen, meinen Doktortitel zu verteidigen.

Alexey Tolstikov (ACM ICPC 2010)

  1. Belarussische Staatliche Universität, Assistentin der Abteilung für Computermathematik, abgeschlossenes Aufbaustudium, Kursunterricht« Paralleles und verteiltes Rechnen» (üben). Yandex,Kurator akademischer Programme, Leiter der Minsker Zweigstelle der Schule für Datenanalyse (+ Lehrer darin), Suchentwickler.
  2. Ich schaffe es nicht in einem Satz, sondern weil: „Es gefällt mir!“
  3. Es gibt nicht viel zu sagen. Ich bewege mich in alle diese Richtungen.
„Wir werden nicht zu Facebook und Google gehen“: Warum einige der besten Programmierer der Welt in Jekaterinburg leben und arbeiten

Ein interessantes Interview mit den Gewinnern der Weltmeisterschaft im Programmieren der Uraler Föderalen Universität.

Für mich war es schon immer interessant zu verstehen, warum Programmierwettbewerbe in Russland (genauer gesagt im postsowjetischen Raum im Allgemeinen) trotz dieser Tatsache so beliebt sind (wahrscheinlich passt der in diesem Artikel verwendete Begriff besser: „Sportprogrammierung“) Dass ich im verfallenden Westen darüber spreche, wusste ich lange Zeit nicht einmal, und als ich es wusste, zog es aus irgendeinem Grund überhaupt nicht. Es ist wie eine völlig eigene Welt. Seit vielen Jahren nehme ich aktiv an verschiedenen Programmier-Online-Communities teil, hänge beispielsweise auf den Mailinglisten verschiedener Open-Source-Projekte ab, treffe manchmal Leute im wirklichen Leben, spreche aber zum Beispiel nie über TopCoder. Die Tatsache, dass TopCoder existiert, Ich habe meiner Meinung nach aus dem russischen LiveJournal gelernt (und nachdem ich davon erfahren hatte, bin ich sofort und dringend nicht dorthin gegangen, habe kein Konto erstellt und nicht teilgenommen.) Es ist irgendwie sehr lustig und interessant zu verstehen, warum.

Ein Teil dieser Popularität erklärt sich meiner Meinung nach durch einige Bemerkungen dieses Interviews:

„Und warum zeigte UrFU dieses Mal das beste Ergebnis? Haben die Sterne übereinstimmt?“

Mikhail Rubinchik: Unser Team ist herausragend. Oleg, Lesha und alle anderen sind sehr starke Kerle. Oleg ist jetzt im sechsten Jahr, er begann im zweiten zu studieren, aber im dritten hatte er ein ordentliches Niveau.[...]

„Was bevorzugen Sie? Ein Startup? Oder ein großes Unternehmen?“

Oleg Merkuriev: Ich habe überhaupt nirgendwo gearbeitet. Und ich werde in den nächsten sechs Monaten nirgendwo arbeiten. Ich gehe zur Graduiertenschule, ich muss ein bisschen Naturwissenschaften machen, sonst verbringe ich im Allgemeinen meine ganze Zeit mit Sportprogrammen.

Diese. Es wird in erster Linie wirklich als Sport wahrgenommen. Darunter einige wilde Einschränkungen, die typisch für Sportwettkämpfe sind:

„Reden wir ein wenig über die Meisterschaft selbst. Drei Leute im Team. Ein Computer. Warum einer? Warum nicht drei?“

Mikhail Rubinchik: Das hat die Jury einmal entschieden. Das war vor dreißig Jahren.

Oleg Merkuriev: Dann gab es vielleicht noch weitere Gründe, die es heute nicht mehr gibt. Und dann sogar noch ein Computer pro Team – das war viel, aber pro Person auf jeden Fall.

[...] Sie können bei der WM einen Drucker benutzen. Die erste Person setzte sich hin und schrieb eine Lösung, es funktionierte nicht. Er muss einen Fehler finden. Das Lesen am Computer ist teuer, aber wir haben nur eine Ressource. Deshalb drucken sie es auf einem Drucker aus und lesen es auf einem Blatt Papier.

Nun, ich verstehe nicht, wie es so attraktiv sein kann. Programmieren ist eine kreative Tätigkeit. Es gab kein Programm, und hier ist es. Mit einem Computer konnte man nichts anfangen, und jetzt ist es möglich. Welchen Unterschied macht es, ob es 20 oder 40 Minuten gedauert hat? Es ist nur ein uninteressanter Aspekt.

Nein, ich kann mir die Einschränkungen vorstellen, die der sportliche Reiz mit sich bringt – aber auf der Ebene von mehreren Tagen und wirklich schwierigen, interessanten Aufgaben. Wie ein Ludum Dare-Wettbewerb – schreiben Sie ein Spiel in zwei Tagen. Oder der ICFP-Programmierwettbewerb, es gibt drei Tage, und die Bedingungen sind normalerweise überwältigend. Vergleichen Sie dies mit den World Championship Challenges in Sports Programming. Wenn man um Minuten und Sekunden konkurriert (auch mit einem Computer um drei), dann ergeben sich Aufgaben wie folgt – eine raffinierte Anwendung mehrerer Standardalgorithmen mit etwas kniffligem „Schwung“.

Alles in allem ist es eine seltsame Welt. Beschuldigen Sie nicht mich, die von ihm weggezogen werden. Aber ich habe es nicht verstanden und verstehe es nicht.

Es heißt, dass ihn Donald Knuth selbst bei seiner Geburt angeschaut habe. Es heißt, dass er, als er eingeladen wurde, bei Google zu arbeiten, den gesamten Suchalgorithmus innerhalb von 15 Minuten 16 Mal umgeschrieben habe. Sie sagen, dass er den Fortschritt des Quantencomputings mit einem Lächeln verfolgt, denn beim Anblick seiner Zahlen faktorisiert sich die Angst. Aber eines wissen wir ganz sicher: Peter ist ein wahrer Gott der Sportprogrammierung.

Daten

  • Als Gewinner zahlreicher Meisterschaften gewann Piotr zweimal den TopCoder und belegte zweimal den zweiten Platz beim ACM ICPC.
  • In seiner Freizeit betreibt Petr einen Blog über regelmäßige Wettbewerbe mit dem Titel Algorithmic Problems for Dummies: petr-mitrichev.blogspot.ru.
  • Mitrichev arbeitet jetzt bei Google, wo er sich auf die Suchqualität konzentriert. Peter hilft auch bei der Vorbereitung des Google Code Jam-Wettbewerbs.

Viele Leute denken, dass Sportprogrammierer harte Kerle sind, echte Geeks, die Algorithmen verstehen und komplexe Probleme lösen. Sie sagen aber auch, dass es für sie sehr schwierig sei, sich später irgendwo zu bewerben. Ist das so?

Sportprogramme und generell das, was wir bei den Olympischen Spielen machen, sind wirklich nicht die Art von Dingen, mit denen man seinen Lebensunterhalt bestreiten kann. Andererseits ist Programmieren, wie jede andere Sportart auch, eine Entwicklung für einen Menschen. Dank ihm wird ein Mensch schlauer, kann besser programmieren und sucht besser nach Fehlern in Programmen. Nach einer solchen Vorbereitung ist es einfacher zu arbeiten und andere interessante Dinge zu tun.

Algorithmen sind in der Praxis eines Programmierers auf jeden Fall anwendbar, obwohl ich bei der Arbeit auch auf Algorithmen gestoßen bin, die komplizierter sind als die in Olympiaden. Aber bei Olympiaden sind wir durch Algorithmen eingeschränkt, die grob gesagt in einer halben oder einer Stunde geschrieben werden können. Daher wird dort in Aufgaben ein ganz spezifischer, begrenzter Satz von Algorithmen verwendet. Im wirklichen Leben ist alles einfach größer.

In welcher Sprache haben Sie Lösungen für Probleme geschrieben?

Auf Java. In der Schule habe ich in Pascal geschrieben, weil ich damals nichts anderes kannte. Und als es dann darum ging, zu entscheiden, wohin man wechseln wollte, erwies sich Java als näher an Pascal.

In einem Wettbewerbsumfeld müssen Sie in 20 bis 30 Minuten ein Programm schreiben, das sofort korrekt funktionieren sollte. Daher ist es sehr wichtig, dass die Sprache das Einpflanzen von Fehlern nicht zulässt. C++, das von den meisten verwendet wird, zeichnet sich dadurch aus, dass es relativ einfach zu schreiben ist falsches Programm. Sie können versehentlich etwas vergessen, einer Variablen den falschen Typ zuweisen, aber das alles wird irgendwie kompiliert und irgendwie funktionieren. Höchstwahrscheinlich nicht so, wie Sie es erwarten.

Wenn Sie in Java einen Fehler oder einen Tippfehler machen, wird das Programm höchstwahrscheinlich nicht kompiliert. Hier ist alles strenger, wie im Fall von Pascal. Es schien mir passender zu sein. Rückseite Medaillen – Java-Programme laufen oft eineinhalb Mal langsamer als C++-Programme. Manchmal reichen diese eineinhalb Mal nicht aus, damit das Programm in den Zustand des Problems passt.

Jeder kann sich eine Programmiersprache aussuchen, oder?

Es gibt Einschränkungen. Natürlich gibt es verschiedene Wettbewerbe ... nehmen wir zum Beispiel Google Code Jam. Als wir überlegten, wie wir das am besten machen sollten, kamen wir auf die Idee, dass wir in jeder Sprache arbeiten können. Sie laden die Eingabedatei mit den Aufgabendaten auf Ihren Computer herunter, führen Ihr Programm auf dem Computer aus und senden das Ergebnis dann an den Server. Welchen Compiler/Interpreter Sie auch immer auf Ihrem Computer haben, Sie können ihn verwenden. Der Nachteil dieses Systems besteht darin, dass die Menschen unterschiedliche Computer haben. Jemand hat einen Computer, der zehnmal leistungsfähiger ist als ein anderer. Daher ist es notwendig, Aufgaben zu erstellen, wo dies nicht der Fall ist richtige Lösung von der korrekten Geschwindigkeit weicht mindestens hundertmal ab. Wenn also jemand einen Computer hat, der zehnmal langsamer ist, hat die richtige Lösung für ihn funktioniert, oder die falsche Lösung hat auf einem Computer, der zehnmal schneller ist, immer noch nicht funktioniert. Daher brauchen wir Aufgaben mit einer großen Lücke zwischen dem Richtigen und Fehlentscheidung durch die Geschwindigkeit der Arbeit.

Wird auf Topcoder, Codeforces und ACM verwendet Standardsystem Wohin schickst du? Quelle und sie führen es auf ihrem Server aus. Hier sind Sie durch die Menge an Inhalten auf dem Server eingeschränkt. Die meisten Teilnehmer, 70-80 %, verwenden C++, weitere 20 % verwenden Java, andere Sprachen gibt es nur sehr wenige. Das ist meiner Meinung nach ein solcher Zyklus: Neue Leute, die zu Wettbewerben kommen, beginnen mit anderen, älteren Teilnehmern zu kommunizieren, sie bringen Anfängern bei, was sie selbst tun können. Dadurch beginnen auch neue Menschen, dieselben Sprachen zu verwenden. Diese beiden Sprachen eignen sich also nicht besonders für Wettbewerbe, das ist einfach historisch so.

Bedeutet das, dass alles auch im wirklichen Leben gilt? Schließlich ist es sicherlich schwierig, einen Job zu finden, bei dem dieses Wissen von Nutzen wäre. Ja, Sie können zu Google oder Yandex gehen, aber ist es schon schwieriger, zu einer Bank zu gelangen?

Mir scheint, dass dies ein sehr nützlicher Teil der Fähigkeit ist, der Teil, der dafür verantwortlich ist, ein Programm beim ersten Mal fehlerfrei zu schreiben oder einen Fehler im Programm eines Freundes zu finden. Ich selbst habe nicht in einer Bank gearbeitet, aber es scheint mir, dass solche Fähigkeiten auch dort nützlich wären. Obwohl die Algorithmen selbst natürlich in keiner Arbeit wirklich verwendet werden. Aber mir persönlich hilft dieser Hintergrund sehr.

Sie hatten wahrscheinlich eine besondere Geschichte. Wie sind Sie zu Google gekommen?

Ja, es gibt keine Geschichte, alles war wie bei den anderen. Jetzt mache ich die Suche (den allgemeinen Teil davon, der nicht vom Land und der Sprache abhängt), kann aber leider nichts dazu sagen, da es sich um einen sehr vertraulichen Teil handelt.

Sportprogramme: Vor- und Nachteile

Lass mich versuchen, dir eine dumme Frage zu stellen :). Warum müssen Sie Sportprogramme machen, was denken Sie?

Hier ist alles sehr einfach und ähnlich wie bei jeder anderen Sportart. Du musst es tun, wenn es dir gefällt, wenn es dir Spaß macht. Es sollte kein Selbstzweck sein. Sie müssen Sportprogramme als eine Möglichkeit betrachten, eine gute Zeit zu haben, interessante Leute kennenzulernen usw.

Und wenn Sie versuchen, einen Grund zu finden, warum Sie keine Zeit mit Sportprogrammen verbringen sollten?

Ich denke, man muss sich darüber im Klaren sein, dass dies nicht die Hauptsache im Leben ist. Habe neben diesem noch andere Ziele. Wenn etwas anfängt, Ihr ganzes Leben lang zu beschäftigen, ist das wahrscheinlich bereits ein Grund, darüber nachzudenken, zumindest eine Pause einzulegen.

Aber was sagt die Praxis? Ist es beispielsweise möglich, eine Karriere rund um die Sportprogrammierung aufzubauen?

In Russland gibt es mehrere Menschen, die neue Sportprogrammierer – Trainer – professionell ausbilden. Andrei Stankewitsch, Mischa Mirzajanow und andere. Sie alle lehren an Universitäten, verbringen aber einen erheblichen Teil ihrer Arbeitszeit damit, Studierende und Schüler auf Programmierwettbewerbe vorzubereiten. Für sie ist das wirklich ein Job und man könnte sagen, eine Karriere.

Haben Sie selbst darüber nachgedacht? Nirgendwo beteiligen Sie sich an der Jury oder als Problembearbeiter?

Ich habe versucht, Schulkinder in der 57. Schule zu unterrichten, wo ich selbst studiert habe. Ich habe versucht, Mannschaften auf die Olympiaden vorzubereiten. Jetzt ist dieses Thema in Moskau sehr aktiv – es gibt Teams an der Moskauer Staatsuniversität, Phystech, weiterführende Schule Wirtschaft. Aber mit dem Unterrichten kam ich nicht gut zurecht.

Was die Wettbewerbe betrifft, helfe ich zunächst bei Aufgaben für Google Code Jam, für unseren Wettbewerb. Außerdem helfe ich beim ACM-Halbfinale, das in St. Petersburg stattfindet. Dabei handelt es sich um eine Auswahl russischer Mannschaften und Mannschaften der ehemaligen UdSSR für das Finale.

Kann man mit Wettbewerben Geld verdienen? Schließlich gibt es für den Sieg Geldpreise.

Zu wenig Chance. Ein Preis für zehntausend Teilnehmer? Ich würde es nicht als Gewinn bezeichnen. Zählen Sie darauf als Haupteinnahmequelle ... es scheint mir, dass es keine Chance gibt.

Aber wie gesagt, es gibt viele verschiedene Wettbewerbe. Derselbe Topcoder veranstaltet Softwareentwicklungswettbewerbe. Nehmen wir an, Sie müssen eine Komponente für ein Programm entwickeln, das etwas tut. Basierend auf den Ergebnissen bewerten sie, wer erfolgreich war, und nutzen die beste Lösung – diese Lösung wird vom Kunden gekauft und zahlt Geld an denjenigen, der diese Entscheidung getroffen hat. Leute, die das Vollzeit machen, verdienen meines Wissens ziemlich gut.

Wettbewerbe heute

Erzählen Sie uns mehr darüber, was Wettbewerbe jetzt sind, wie läuft das Ganze ab?

Heute gibt es zwei Arten von Wettbewerben. Es gibt wöchentliche, regelmäßige Wettbewerbe. Sie werden von zwei Hauptseiten gehalten – TopCoder und Codeforces. Jeder Wettbewerb dauert eineinhalb bis zwei Stunden. Dort erhalten die Teilnehmer mehrere Aufgaben, die sie lösen müssen, und senden das Programm an den Server. Die Organisatoren prüfen, ob das Programm funktioniert.

TopCoder ist die älteste und bekannteste Website mit wöchentlichen Wettbewerben. Sie haben die folgenden Regeln. Für die Lösung von drei Aufgaben sind eine Stunde und fünfzehn Minuten vorgesehen.

Aufgaben werden üblicherweise in sehr leicht, mittel und schwer unterteilt. Die Organisatoren versuchen, sie so auszuwählen, dass beispielsweise fünf Personen alle Probleme lösen, hundert Personen zwei und alle anderen mindestens eines lösen. Darüber hinaus ist es für jede Aufgabe wichtig, wann Sie sie senden – je später, desto weniger Punkte erhalten Sie. Es werden also diejenigen geteilt, die die gleiche Anzahl an Aufgaben gelöst haben. Anschließend werden die Punkte addiert. Eine normale Aufgabe kostet 250 Punkte. Durchschnittlich 500. Schwierig 1000. Im Durchschnitt erhalten die Teilnehmer auf den ersten Plätzen 1.000 Punkte pro Wettbewerb.

Dann machen sie fünf Minuten Pause und weitere fünfzehn Minuten sind dafür vorgesehen, Fehler anderer zu finden. Sie können die Lösung jeder Person, für jede Aufgabe in Ihrem „Raum“ öffnen. Ein „Raum“ ist, wenn die Teilnehmer eines Wettbewerbs nach dem Zufallsprinzip in Gruppen von je zwanzig Personen aufgeteilt werden. Sie sind in „Räume“ unterteilt. Sie können jede Lösung einer beliebigen Person von Ihrem „Raum“ aus öffnen. Wenn Ihnen die Lösung falsch erscheint, können Sie die Eingabedaten eingeben, bei denen sie falsch sein wird. Und wenn die Antwort falsch ist, gibt es noch einmal 50 Punkte dafür. Das ist natürlich weniger als die Kosten der Aufgabe. Aber auch dies geschieht, um die Menschen zu trennen. Die Hauptpunkte werden nach wie vor für das Lösen von Problemen vergeben, nicht für das Finden von Fehlern.

Anschließend werden die Aufgaben anhand von von der Jury vorbereiteten Tests überprüft. Wenn die Aufgabe nicht funktioniert, erhält die Person 0 Punkte.

Es gibt auch eine zweite Website, Russisch: Codeforces. Ihre Regeln unterscheiden sich geringfügig, aber das Format ist ungefähr das gleiche – zwei Stunden und mehrere Aufgaben. Wenn man so will, kann man dieses Format im Gegensatz zu Studentenolympiaden, die fünf Stunden dauern, durchaus als unterhaltsam bezeichnen.

Aber gibt es noch große, jährliche Wettbewerbe?

Ja, zusätzlich zu den beiden beschriebenen Wettbewerben, die wöchentlich stattfinden, gibt es noch viele weitere jährliche Wettbewerbe. Normalerweise sind sie so organisiert: Ein großes Unternehmen (Google, Yandex, TopСoder, IBM) veranstaltet einen Wettbewerb mit mehreren Auswahlstufen. Die ersten Schritte sind online. Und die letzte Etappe findet bereits an einem bestimmten Ort statt, wo alle Finalisten aufgenommen werden. Es gibt nur fünf oder zehn solcher Wettbewerbe, aber sie sind lang, sodass einige davon ständig stattfinden.

Sind alle diese Wettbewerbe individuell?

Die meisten Wettbewerbe sind mittlerweile Einzelwettbewerbe. Teamwettbewerbe sind hauptsächlich Studentenwettbewerbe, der wichtigste ist der ACM ICPC. Und auch andere studentische Wettbewerbe werden meist als Mannschaftswettbewerbe ausgetragen, weil es dort, grob gesagt, schon ein Team gibt. Dadurch ist es einfacher, das Interesse der Menschen zu wecken. Veteranenwettbewerbe sind in der Regel persönlich.

Wöchentliche Wettbewerbe haben eine Wertung, wie beim Schach, die nach jedem Wettbewerb aktualisiert wird. Wer besser abschneidet, bekommt ein Plus, wer schlechter abschneidet, bekommt ein Minus. Wenn Sie überhaupt nicht teilgenommen haben, ändert sich die Bewertung nicht. Das System ist so konzipiert, dass Personen, die häufig und selten zu Besuch kommen, gleichgestellt werden. Es besteht kein Zwang, „immer mitzumachen“. Es gibt viele Menschen, die viel älter sind als ich, sie erscheinen sehr selten – alle zwei Monate – und sind es trotzdem gute Bewertung weil sie weiterhin gut darin sind, Probleme zu lösen.

Ja, an erster Stelle steht Gena Korotkevich, ein sehr kluger Student aus Gomel, der jetzt am ITMO studiert. Bei Codeforces hatte ich in letzter Zeit ein schlechteres Ergebnis, jetzt bin ich Sechster oder Fünfter. Auch dort steht Gena an erster Stelle.

Vielleicht ist das Spielen online und offline ein völlig anderes Gefühl und Erlebnis?

Sicherlich. Ein sehr wichtiger positiver Aspekt des Sportprogramms scheint mir darin zu liegen, dass alle Wettbewerbe mit einer Vor-Ort-Runde enden, bei der die Besten zusammenkommen. Dadurch habe ich viele coole Leute aus der ganzen Welt kennengelernt. Im Allgemeinen besteht meiner Meinung nach der wichtigste „Preis“ bei solchen Wettbewerben darin, Menschen kennenzulernen. Sie verbringen Zeit mit ihnen, kommunizieren, lernen etwas Neues. Es ist sehr lustig, dass Menschen aus anderen Ländern, die oft schlecht Englisch sprechen, dennoch sehr leicht zu verstehen sind, weil sie sehr ähnliche Interessen haben.

An solchen Wettbewerben – mit Auswahlverfahren – nehmen in der Regel mehr Menschen teil als an regulären. Wenn jemand noch nie irgendwo teilgenommen hat, können wöchentliche Wettbewerbe ein Problem darstellen. Es gibt solche Aufgaben, bei denen eine Person nichts lösen kann und sich aufregt. Bei Auswahlwettbewerben ist zumindest in der Anfangsphase meist alles einfacher. Ihr Hauptgedanke ist, dass jeder Spaß haben soll. Auch hier gibt es am Ende einen handfesten Preis: Geldpreise für die ersten Plätze. Außerdem ist eine Fahrt irgendwohin, zum Beispiel ins Google-Büro, auch eine tolle Belohnung.

Kommt es vor, dass Unternehmen dann versuchen, die Weiterentwicklungen der von den Teilnehmern eingereichten Lösungen in die Praxis umzusetzen?

Ziemlich selten. Das Hauptziel von Unternehmen, die solche Wettbewerbe veranstalten, besteht einfach darin, das Programmieren bekannt zu machen. Das zweite Ziel besteht darin, neue Mitarbeiter zu finden. Aber das Zweite ist nicht einmal so wichtig. Typischerweise veranstaltet ein Unternehmen einen Wettbewerb speziell, um mehr Menschen für das Programmieren zu begeistern, und dabei geht es nicht einmal um diejenigen, die direkt am Wettbewerb teilgenommen haben. Daher werden solche Wettbewerbe in der Regel von großen Unternehmen durchgeführt.

Verändern sich Wettbewerbe im Laufe der Zeit? Werden sie schwieriger oder im Gegenteil einfacher?

Sie werden schwieriger. Immer mehr Algorithmen gelten als etwas aus der Kategorie „das sollte jeder können“, „das weiß jeder“. Sie müssen genauso viel nachdenken wie vor zehn Jahren. Die Erstellung einer Lösung erfordert zwar die gleiche Anzahl an Schritten, die Bausteine, aus denen die Lösung besteht, sind jedoch komplexer geworden. Die Menschen haben mehr Algorithmen gelernt. Nehmen wir zum Beispiel den Suffixbaum: Als er auftauchte, war ich in der Schule und es schien, dass dies ein sehr cooler Algorithmus ist, jeder, der ihn kennt, ist sehr schlau und das ist im Allgemeinen eine Revolution. Jetzt werden die gleichen Probleme mit einem Suffixautomaten gelöst, und das ist ein sehr einfacher Algorithmus, der zehn Zeilen benötigt. Das heißt, Standarddinge haben gelernt, sich stark zu vereinfachen. Deshalb lösen sie jetzt komplexere Probleme.

Über Aufgaben und deren Vorbereitung

Wie sind die Aufgaben für den Wettbewerb? Gibt es Compiler, Leute, die sich schon damit auskennen, oder handelt es sich um eine Art Crowdsourcing, bei dem jeder etwas Eigenes anbieten kann?

Bei den erwähnten wöchentlichen Wettbewerben ist genau das der Fall: Jeder kann sein eigenes Problem anbieten. Voraussetzung ist jedoch, dass eine Person zuvor an ausreichend vielen Wettbewerben teilgenommen hat. Eine Art Überprüfung, ob eine Person versteht, worum es bei den Aufgaben im Allgemeinen gehen soll. Danach können Sie Ihre Aufgaben einsenden und die Jury antwortet, ob sie verwendbar sind, ob sie geeignet sind. Wenn die Aufgaben geeignet sind, werden sie dann bei Wettbewerben vergeben, und der Autor erhält dafür Geld – nicht sehr viel, aber immerhin.

Sich solche Aufgaben auszudenken, ist eine besondere Fähigkeit, nicht wahr?

Oh ja. Sie können Probleme auf der Grundlage von Lösungen finden. Nehmen wir an, Sie lesen in einer wissenschaftlichen Zeitschrift einen Artikel über einen interessanten Algorithmus. Oder er hat einfach einen bestimmten Algorithmus gefunden und sich daran erinnert, dass er ihn schon einmal gesehen hatte, ihn aber in letzter Zeit schon lange nicht mehr gesehen hatte. Sie können sich eine Aufgabe ausdenken, die ihre Verwendung erfordert.

Der zweite Weg: Wenn ein bestimmtes Problem in der Arbeit oder im Leben auftritt und Sie erkennen, dass es cool sein kann, es zu nutzen. Möglicherweise müssen Sie etwas verkomplizieren oder die Einschränkungen ändern, aber dann erhalten Sie eine interessante Aufgabe für die Konkurrenz.

Es gibt Wettbewerbe unterschiedlicher Lebensnähe. Üblicherweise wird die Aufgabe bei Wettbewerben nicht formal vorgegeben, etwa „Gegeben: eine Gleichung so und so lösen“. Normalerweise wird nur ein bestimmter Hintergrund, eine Geschichte, angegeben. Wie in Schulbüchern zur Mathematik: „Zehn Liter Wasser pro Minute fließen durch ein Rohr.“ Daher müssen Sie diese Geschichte zunächst irgendwie formalisieren, ein mathematisches Problem darin finden und es erst dann lösen.

Es gibt auch andere Wettbewerbe. TopCoder nennt es ein Marathon-Match, und auch andere Unternehmen veranstalten ähnliche Wettbewerbe. Sie sind etwas anders aufgebaut. Dies ist bereits ein Wettbewerb nicht bei Algorithmen, sondern bei der Lösung von Näherungsproblemen. Wenn es keine genaue Lösung gibt und Sie die bestmögliche Option finden müssen. Solche Wettbewerbe dauern normalerweise zwei Wochen oder einen Monat. Du kannst senden verschiedene Lösungen Und achten Sie darauf, ja, jetzt ist meine Lösung 20 % besser als die anderen.

„Besser“ – im Sinne von schneller, weniger Speicherverbrauch usw.?

Ja. Sie müssen beispielsweise ein Schema zur Verteilung des Busverkehrs auf einer Karte von Moskau entwickeln, um möglichst wenige Busse zu nutzen. Das heißt, im Zustand des Problems gibt es einen bestimmten Parameter, der optimiert werden muss, aber es gibt keine einzelne „richtige Lösung“, sondern nur einige Näherungsalgorithmen.

Derselbe Topcoder veranstaltete Wettbewerbe mit der NASA und sie sagen, dass die ihnen angebotenen Lösungen dann tatsächlich angepasst und auf der ISS eingesetzt wurden. Sie haben dort ein bestimmtes Problem gelöst, es scheint, wie man sich wendet Solarbatterie um mehr Energie zu bekommen.

Wo soll ich anfangen?

Wie bereitet man sich im Hinblick auf die Vorbereitung eines guten algorithmischen Programmierers und Teilnehmers an verschiedenen Wettbewerben darauf vor? Stellen Sie sich vor, Sie wären ein Gymnasiast oder Studienanfänger?

Ich denke am meisten Standardweg- ist zu versuchen. Für alle Wettbewerbe steht ein Archiv früherer Wettbewerbe zur Verfügung. Es gibt Tausende von Problemen, die jederzeit gelöst werden können.

Was ist, wenn ich eine Aufgabe übernehme und nicht weiß, wie ich sie angehen soll?

Also nimm es früher. Sie sind anders. Es gibt Aufgaben, die jeder zweite Schulabsolvent lösen kann. Es gibt völlig unterschiedliche Schwierigkeitsgrade. Der Einstieg sollte ziemlich einfach sein. Es gibt, so scheint es mir, keinen anderen Weg. Außerdem werden Sie auf diese Weise sofort verstehen, ob Ihnen diese Aktivität gefällt oder nicht.

Was muss getan werden, um eine algorithmische Basis zu erhalten? Es ist kaum nötig, sich sofort zu beeilen, um Knuth zu lesen.

Es scheint mir, dass es notwendig ist, mit Aufgaben zu beginnen. Erst später, wenn Sie feststellen, dass Sie keine einzelne davon lösen können, gibt es bei diesen Wettbewerben für jede einzelne eine Analyse. Wenn Sie alleine nicht damit zurechtkommen, können Sie die Lösung lesen. Beispielsweise wird in der Analyse darauf hingewiesen, dass bei der Lösung des Problems ein bestimmter Algorithmus verwendet wird. Sie können nachlesen, was dieser Algorithmus ist und wo er sonst noch verwendet wird. Das ist besser, als die Liste „Ja, ich habe einen Algorithmus, den ich im Laufe des Sommers lernen muss“ durchzulesen. Es ist besser, von einem konkreten Problem auszugehen, das Sie nicht lösen konnten, weil Sie keinen bestimmten Algorithmus kennen. Das ist richtiger. Man erinnert sich besser, die Motivation ist stärker. Diese Art der Untersuchung von Algorithmen ist wahrscheinlich länger als die Liste, führt aber zu besseren Ergebnissen.

Wenn Sie sich mit Algorithmen „aufpumpen“ möchten, gibt es Literatur, Lehrbücher?

Das Standardlehrbuch ist Cormen, Leyzerson, Rivest mit einem Esel auf dem Cover. „Algorithmen: Konstruktion und Analyse“ heißt. Ich weiß nicht, ich habe schon lange nicht mehr gelernt, jetzt gibt es wahrscheinlich neue Lehrbücher, die besser sein können. Aber zu meiner Zeit benutzten sie Kormen. Die Peitsche ist vielmehr eine Art Nachschlagewerk. Wenn etwas gefunden werden muss und es nirgends zu finden ist, ist die Wahrscheinlichkeit groß, dass es dort ist. Aber Knuth hintereinander zu lesen … ist eine ziemlich traurige Sache.

Nach den Ergebnissen des regionalen Halbfinales der ACM ICPC-Weltmeisterschaft wurden die Ergebnisse der Allrussischen Olympiade für Schüler im Bereich Programmierung bekannt. Innerhalb der Mauern der ITMO-Universität wurden Goldmedaillen an Kinder aus Almaty, Astana und Moskau verliehen. Die Petersburger teilten sich das „Silber“ mit Kollegen aus Tiflis, und die „Bronze“ ging an die Jungs aus Jekaterinburg, Ischewsk, Krementschug und Witebsk. Trainer der St. Petersburger Mannschaften Andrey Lopatin und Andrey Stankevich, Tutor der Abteilung Computertechnologie ITMO-Universität Lidia Perovskaya, Dekanin der Fakultät Informationstechnologien und Programmieren Vladimir Parfyonov und Weltmeister im Programmieren verschiedener Jahre erzählten, warum Jungs aus der GUS in den letzten 15 Jahren alle Rekorde gebrochen haben.

ACM ICPC-Gewinner von der ITMO University

Es ist Zeit, den Programmierern die Daumen zu drücken

„Programmierung ist die Zukunft: In jedem Haushalt gibt es eine große Anzahl programmierbarer Geräte, und diese Technologien dringen weiterhin in alle Bereiche unseres Lebens ein. Genau wie Ingenieure in der Sowjetunion stehen Programmierer heute an der Spitze von Wissenschaft und Technologie. Programmierwettbewerbe werden zu einem immer beliebteren und spektakuläreren Sport, und die Zukunft ist vielversprechend.“- betont Andrei Stankewitsch.

Lydia Perovskaya, Als erfahrener Organisator von Olympiaden auf verschiedenen Ebenen stimme ich meinem Kollegen zu. Ihrer Meinung nach sind Programmierwettbewerbe komplexer aufgebaut als gewöhnliche Wettbewerbe. Im Finale kämpfen am häufigsten Dreierteams, und die Teams selbst können aus mehr als hundert Personen bestehen. Wie der Dozent des Fachbereichs Computertechnologien sicher ist, gibt es in der Sportprogrammierung einen Platz für Fans: Eine Person, die sich mit Programmieren auskennt, kann sich für ein Team stark machen, das ihr in Bezug auf Universität, Wissensstand oder Strategie/Helligkeit näher steht Leistung.

Wie der Trainer des Teams der Universität St. Petersburg feststellt Andrey Lopatin, Programmierwettbewerbe sind nicht nur spektakulär, sondern auch wirklich nützlich. Seinen Beobachtungen zufolge lösen moderne Champions problemlos Probleme, die vor 10 Jahren unlösbar schienen. Die Effizienz und Geschwindigkeit von Befehlen nimmt zu und der Code wird vereinfacht, wodurch weniger Zeit für die Entwicklung und das Debuggen von Programmen aufgewendet werden kann. Und das kommt bereits großen IT-Unternehmen zugute, für die es wichtig ist, die Kosten der Produktionsprozesse zu senken.


„Es ist wichtig, dass die Jungs nicht nur gut darin sind, den Ball ins Tor zu schießen, sondern auch an der Spitze der Technologie stehen, und jedes große Unternehmen mit etwas Selbstachtung veranstaltet seine eigene große Programmiermeisterschaft, um anschließend die besten Spezialisten zu finden.“ Schließlich sind Meisterschaftsfinalisten Menschen, die schnell denken und optimale Lösungen finden. Tatsächlich brauchen wir im Leben weniger ideale als vielmehr optimale Lösungen. Daher sind selbst diejenigen, die keine Preise erhalten haben, sondern einfach an einem der Finals großer Wettbewerbe teilgenommen haben, sehr cool und die Unternehmen kämpfen buchstäblich um sie.“, schloss der Trainer.

Sieg von und nach

Wie bereits erwähnt Andrei Stankewitsch, Sportprogrammierung entwickelt sich in Wellen. Es gibt viele Strategien zur Teamentwicklung, aber manchmal beeinflusst ein Schlüsselspieler das Ergebnis. Zum Beispiel vielen Dank an den talentierten Studenten der ITMO-Universität Gennadi Korotkewitsch Das Universitätsteam wurde zweimal absoluter Weltmeister ACM ICPC. Lorbeeren gebührt jedoch denen, die sich daran halten langfristige Strategie Wenn ein Team viele Jahre lang seine Fähigkeiten verfeinert hat und schließlich verdientermaßen an die Spitze gelangt – so wurde das Team der Universität St. Petersburg zum absoluten Champion des ACM ICPC-2016. Daher ist es nicht verwunderlich, wenn eine der Mannschaften oder einer der Spieler an die Spitze den anderen Platz macht: Es bedeutet, dass jemand dank langer und harter Arbeit die Führung übernommen hat.


Wenn Sie sprechen allgemein gesagt Die Vorbereitung der Jungs besteht aus Trainingswettkämpfen, bei denen die Teilnehmer die Probleme der Turniere vergangener Jahre lösen, sowie aus Theorie - Vorträgen, Problemanalysen und anderen manchmal routinemäßigen Dingen. Wie Gennady Korotkevich hinzufügt, spielen Camps auch eine wichtige Rolle bei der Entwicklung universitär ausgebildeter Programmierer, wenn Teams aus verschiedenen Städten des postsowjetischen Raums zusammenkommen und sich gegenseitig bei der Verbesserung helfen können.

„Die Kommunikation zwischen Menschen spielt in diesem Sport eine sehr wichtige Rolle. Teams aus den GUS-Staaten sind erfolgreich, weil verschiedene Universitäten unter einem Dach zusammenkommen, kommunizieren und gemeinsam das tun, was sie lieben. Trainingslager entwickeln sich wirklich weiter, geben einem die Chance, sich zu beweisen und die Aufgabe aus einem neuen Blickwinkel zu betrachten.“, ist sich der Champion sicher.

Wie Aleksey Maleev, Direktor des Zentrums für die Entwicklung der IT-Ausbildung am Moskauer Phystech, betont, müssen sich diejenigen, die sich in der Sportprogrammierung beweisen wollen, bewusst sein, dass sie vier bis fünf Jahre echtes Pflügen erwarten. Und gleichzeitig kann niemand garantieren, dass man in fünf Jahren mindestens in die Top Ten des ACM ICPC aufsteigt. Doch diese harte Arbeit, gepaart mit der Zusammenarbeit mit Universitäten, ermöglicht Absolventen aus Russland und den GUS-Staaten den Eintritt in den globalen Bildungsmarkt mit einem echten Trumpf. Und deshalb sei die russische Programmierschule auf der ganzen Welt gefragt, ist sich der Vertreter des Moskauer Instituts für Physik und Technologie sicher.

ACM ICPC-Champion stimmt zu, dass Sportprogramme den Universitäten zugute kommen Niyaz Nigmatullin. Laut einem erfahrenen Teilnehmer an internationalen Wettbewerben kann man anhand der Art und Weise, wie das Universitätsteam bei den Meisterschaften auftritt, schnell verstehen, was es einem an seiner Alma Mater beibringen kann. Gleichzeitig muss man verstehen, dass Sportprogrammierung überhaupt nicht das ist, was Hunderte von Studenten tun, denn nur wenige entscheiden sich für den Weg eines Sportprogrammierers und gehen ihn ein, bemerkt Niyaz.


wirtschaftliche Frage

„Mittlerweile ist die Frage nach der Relevanz von Sportprogrammen zu einem rein wirtschaftlichen Aspekt geworden. Tatsache ist, dass wir uns an einem kritischen Punkt befinden, an dem nicht mehr viel Zeit bis zu einer neuen Runde der Entwicklung der Informationstechnologie bleibt. Dies ist die Welt, in der wir uns alle bald wiederfinden werden: Das Bankensystem, die Medizin werden sich völlig verändern, unbemannte Fahrzeuge werden auftauchen, ganz zu schweigen davon, dass viele Berufe einfach verschwinden werden – Menschen werden ihre Jobs verlieren. Aber Programmierer werden wirklich eine Menge davon haben. Und das sehen wir schon jetzt: Die Nachfrage nach ihnen ist so groß, dass die Gehälter von Physikern und Mathematikern selbst in den USA doppelt so niedrig sind wie die von Programmierern. Und jene Länder, die mittlerweile über hochqualifiziertes Personal in diesem Bereich verfügenDer IT wird in den nächsten 10-20 Jahren der Durchbruch gelingen“, - Vladimir Parfenov ist sich sicher.

Deshalb braucht es die Olympischen Spiele. Vladimir Parfenov ist sich sicher, die Besten der Besten, Talente und diejenigen zu identifizieren, die das Programmieren einfach lieben und Unterstützung brauchen. Darüber hinaus sind talentierte Kinder – das zukünftige Kapital – schon in jungen Jahren bestrebt, sich zu messen und zu beweisen. Allein in Russland gibt es 3.000 von 140 Millionen solcher Typen, die bald die Welt verändern werden, und das Wichtigste ist, diejenigen zu sehen, die ihnen Gesellschaft leisten können. Schließlich stehe der Rest der Welt nicht still, fügt der Dekan der Fakultät für Informationstechnologie und Programmierung hinzu – China habe in den letzten 15 Jahren bereits einen gewaltigen Durchbruch geschafft, und die Vereinigten Staaten bleiben aufgrund ihrer Entwicklung auf dem Pferd Infrastruktur.

„Unser moderner Programmierer beginnt sofort im vierten Jahr zu arbeiten, wenn er nicht in die Wissenschaft geht, wo das Gehalt leider immer noch geringer ist. Gleichzeitig erhält er zahlreiche Angebote von Arbeitgebern. Wenn wir über St. Petersburg sprechen, versuchen unsere 400 bis 500 IT-Unternehmen natürlich, etwas Neues zu schaffen, und es lohnt sich, sich ihnen anzuschließen. Es ist nicht ungewöhnlich, dass diejenigen, die bei großen Unternehmen wie Google anfangen, in ihr Heimatland zurückkehren und sich manchmal beschweren. Schließlich ist es eine Sache, wenn man in der wunderschönen Stadt St. Petersburg sitzt, und eine ganz andere, wenn man in einem Dorf namens Silicon Valley ist ...“ lacht der Lehrer.


Doping

Trotz der endlosen Fragen zum Thema Doping weisen junge Champions immer noch darauf hin, dass es bei Sportprogrammen vor allem darum geht, dass der Kopf gut funktioniert. So gibt beispielsweise der Weltmeister von 2016, Stanislav Ershov, zu, dass er an Wettkampftagen gerne ausreichend schläft und auch Süßigkeiten isst. Gleichzeitig stellt der junge Mann fest, dass er nicht von größerer medialer Aufmerksamkeit und Bekanntheit träumt – wie Menschen aus der Wissenschaft hält er sich lieber vom Hype fern. Gennadi Korotkewitsch, Preisträger zahlreicher Wettbewerbe und einer der wenigen Menschen auf der Welt, die ihren Lebensunterhalt mit Sportprogrammen verdienen können, glaubt nicht wirklich an Doping. Laut Gennady wäre es großartig, wenn es eines Tages professionelle Empfehlungen für Sportler-Programmierer geben würde – zum Regime oder zur Ernährung. Im Allgemeinen leugnen junge Menschen nicht, dass es in Zukunft ein echtes Medikament für die Gehirnaktivität geben könnte, das schwerwiegender ist als Schokolade, aber sie brauchen es nicht.



Freunden erzählen