Wie ich das Finale des Digital Breakthrough-Wettbewerbs erreichte

Ich möchte meine Eindrücke vom Allrussischen Wettbewerb teilen „Digitaler Durchbruch“. Danach hatte ich im Allgemeinen sehr gute Eindrücke (ohne jede Ironie); es war mein erster Hackathon in meinem Leben und ich denke, es wird mein letzter sein. Ich war daran interessiert, das auszuprobieren, was es war – ich habe es versucht – nicht mein Ding. Aber das Wichtigste zuerst.

Etwa Ende April 2019 sah ich eine Anzeige für einen Wettbewerb für Programmierer „Digital Breakthrough“. Die Struktur des Wettbewerbs besteht aus dem Viertelfinale, bei dem es sich um einen Online-Korrespondenztest handelt, dem Halbfinale, bei dem es sich um eine 36-stündige regionale Präsenzphase im Hackathon-Format handelt, und dem 48-stündigen Präsenzfinale Hackathon. Die erste Stufe ist das Online-Testen. Es gab 50 verschiedene Themen, diese finden Sie auf der Projektwebsite.
Für jedes Thema gab es 20 Minuten; man konnte die Zeit nicht anhalten und es noch einmal durchgehen. Sie können ein beliebiges Thema wählen und eine beliebige Anzahl an Tests absolvieren, abhängig von der Qualität der Tests, die Sie bestanden haben, und der Anzahl davon, ob Sie es ins Halbfinale geschafft haben oder nicht. Ich habe angefangen, Tests zu machen (ich habe mich nicht vorbereitet, ich war skeptisch). Ich habe dort ungefähr die folgende Stichprobe gesammelt (13 von 20,9 von 20, 11 von 20 usw.). Einige Fragen wurden eindeutig der Wikipedia entnommen; grob gesagt enthielten die Antwortmöglichkeiten Variablenbezeichnungen aus Formeln (phi, q, omega), was sehr amüsant war. Einige Fragen wurden eindeutig von jemandem mit Fachkenntnissen verfasst. Und schon zu diesem Zeitpunkt kam es zur ersten Peinlichkeit, zwei meiner Tests wurden einfach geschlossen und es wurden 0 von 20 angezeigt. Ich schrieb an den Support und erhielt eine schnelle Antwort, dass die Bewerbung geprüft wurde. Nach weiteren 4 Tagen schrieben sie, dass die „Verwaltung“ mir erlaubt habe, diese Tests noch einmal zu machen. Ich habe es versucht, aber es änderte sich nichts, ich blieb bei 0 von 20. Ich schrieb erneut an den Support, sie sagten mir, ich solle warten, eine Woche später kamen die Testergebnisse an, wo sie mich über Informationsquellen informierten, die mir helfen könnten meine Qualifikationen verbessern. Und einen Monat später erhielt ich die Antwort, dass meine Bewerbung geprüft worden sei und keine Fehler gefunden worden seien; Ich habe aus der Region Moskau teilgenommen und das Halbfinale sollte am 27. Juli stattfinden. Stellen Sie sich meine Überraschung vor, als sie mir am 16. Juli Nachrichten schickten, dass ich immer noch zur persönlichen Bühne eingeladen sei.

KorrespondenzWie ich das Finale des Digital Breakthrough-Wettbewerbs erreichte

Das Halbfinale begann damit, dass man nach dem 16. Juli den Online-Service der Entwickler des „Digital Breakthrough“-Wettbewerbs nutzen musste, um ein eigenes Team zusammenzustellen oder einem bestehenden beizutreten, die Aufstellung erfolgte nur aus denjenigen, die bestanden haben Online-Test und jeder hat die Punkte gesehen, die Sie für Online-Tests hatten. Das Team muss grundsätzlich aus 3 bis 5 Personen bestehen. Ich hatte keine Freunde, die den Test bestanden hatten, und begann, mich über alle Kanäle „zu einem Team zu organisieren“, und beschloss, dass ich versuchen würde, mich jemandem anzuschließen. Die Organisatoren machten einen Online-Chat, speziell für die Region Moskau in „VK“, dort fand ich den Kapitän des „DevLeaders“-Teams, der für die Front verantwortlich war (jeder hat sich den Namen des Teams ausgedacht, wie er wollte) Damals waren zwei Personen darin, direkt der Kapitän und der Designer. Ich habe mich für die Back-End-Rolle entschieden. Als nächstes schloss sich uns eine Person mit Erfahrung als mobiler Entwickler an, die aber im Grunde ein Full-Stack-Team ist. Wir trafen uns zum ersten Mal beim Halbfinale selbst in Moskau. Wir stiegen in den Bereich der Regierungsdienste ein. Die Aufgabe bestand darin, in 2 Stunden einen Prototyp eines Analogons von UiPath oder BluePrism zu erstellen. Das Lustige ist, dass wir es geschafft haben.

ImplementierungsbeschreibungWir haben eine Webanwendung erstellt, eine URL wurde als Eingabe bereitgestellt, dann wurde diese URL in unserem Formular angezeigt und dann konnten wir auf das Skript klicken und erhielten Selektoren für jedes der Elemente. Auf dem Server wurde mit Selenium die Eingabe-URL geöffnet, in der das Zielskript bereits ausgeführt wurde, und Screenshots des Browserfensters wurden als Bericht über den laufenden Prozess an den Client gesendet.

Screenshots Wie ich das Finale des Digital Breakthrough-Wettbewerbs erreichte
Wie ich das Finale des Digital Breakthrough-Wettbewerbs erreichte
Wie ich das Finale des Digital Breakthrough-Wettbewerbs erreichte

Mit dieser Entscheidung belegten wir den 1. Platz in unserer Kategorie und zogen ins Finale ein. Ausländische Analoga sind sehr teuer (ab etwa 2 Millionen pro Jahr für eine begrenzte Anzahl von Bots). Russische Distributoren von IT-Unternehmen kaufen solche Lösungen für große Unternehmen, bauen schlüsselfertige Robotik ein und verkaufen die Lösung zu einem noch höheren Preis, daher ist es eine gute Idee, bei den Werkzeugen zu sparen. Nach dem Ende des Hackathons kam ein Experte aus unserem Bereich auf mich zu, er vertrat die Moskauer Abteilung für Informationstechnologie. Tatsächlich waren er (und in seiner Person DIT) die Organisatoren der Aufgabe. Er fragte mich, ob ich dieses Projekt skalieren und dasselbe für den Desktop tun könnte und ob ich daran interessiert sei, diese Richtung weiterzuentwickeln. Ich antwortete mit „Ja“, woraufhin er mich direkt zum DIT einlud, um seinem Chef die Idee zu schildern. Bei einem persönlichen Treffen wurde ich gefragt, wie viele Leute für die Pilotversion benötigt werden und wann wir es wie unsere russischen Kollegen schaffen können.

Russische Analoga(Sie sind immer noch sehr roh und ich verstehe, dass große Unternehmen kein Interesse an ihnen haben, ich weiß es nicht genau, die mir bekannten Elektronik, das laut einer kurzen Überprüfung das Haupt-Parsing-Modul direkt auf Github aus dieser Ressource enthält roroRPA und es hat mir besser gefallen Robin )

Ich antwortete, dass wir mit 4 Leuten in 4 Monaten eine vollständige Alpha-Version derselben Elektronik herstellen werden, aber wir brauchen einen echten Geschäftsfall, der vollständig pilotiert werden könnte. Sie sagten mir, ok, wir werden uns mit Ihnen in Verbindung setzen, niemand sonst hat mich kontaktiert und sie haben nicht einmal meine Fragen im Telegramm beantwortet. Ein sehr interessantes Interaktionserlebnis.
Der Halbfinal-Hackathon endete am 29. Juli und das Finale sollte erst am 27. und 29. September in Kasan beginnen. Parallel dazu wurden wir zu einem Besuch in das „Digitale Tal von Sotschi“, wie ich es verstehe, eingeladen. Die Reise hat zwei Eindrücke hinterlassen, und es ist wirklich cool, dass man die Tickets und die Unterkunft bezahlt (die Reise dauerte einen Tag), aber im Hauptbereich, nämlich der Besprechung des Layouts unseres IT-Produkts oder anderer Vorschläge, war es sehr knapp . dazu lässt sich praktisch nichts sagen. Sie fragten, ob wir bis Mitte Oktober 2019 ein funktionierendes Layout bereitstellen könnten – die Antwort war erneut bejahend, bisher hat sich niemand bei uns gemeldet, zum Zeitpunkt des Verfassens dieses Artikels ist es der 2. Oktober.

Dann begann das Epos mit dem Finale, ich werde die Organisation hier nicht kritisieren, viele Leute werden dies wahrscheinlich ausführlicher beschreiben, ich möchte mich auf etwas anderes konzentrieren. Lassen Sie mich nur sagen, dass unserem gesamten Team Flugtickets nach Kasan und zurück angeboten wurden. Danke an die Organisatoren! Während des Finales mietete jeder seine eigene Wohnung. Lassen Sie mich nur sagen, dass das nächste Hotel vom endgültigen Veranstaltungsort 20 km entfernt ist!

Am Tag vor der Abreise wurden Tracks von den Aufgaben veröffentlicht (sie wurden von der Bühne an die Öffentlichkeit übertragen, ich hoffe also, dass ich keine Rechte verletze)

Aufgabenliste1.
Ministerium für digitale Entwicklung, Kommunikation und Massenkommunikation der Russischen Föderation (Ministerium für Telekommunikation und Massenkommunikation Russlands)
Entwickeln Sie einen Software-Prototyp zur automatischen Überprüfung der Duplizierung von Softwarecode bei der öffentlichen Auftragsvergabe

2.
Föderaler Steuerdienst (FTS Russlands)
Entwickeln Sie Software für ein einziges Zertifizierungszentrum, die die Anzahl betrügerischer Aktivitäten im Zusammenhang mit der Verwendung elektronischer Signaturen reduziert

3.
Statistischer Bundesdienst (Rosstat)
Bieten Sie Online-Produkte an, mit denen Sie Bürger für eine aktive Teilnahme an der Volkszählung 2020 gewinnen und basierend auf den Ergebnissen der Volkszählung die Ergebnisse in visueller Form präsentieren können
(Big-Data-Visualisierung)

4.
Zentralbank
Russian Federation
(Bank von Russland)
Erstellen Sie eine mobile Anwendung, mit der Sie Meinungen eines externen Publikums zu den Initiativen der Bank von Russland zum Zwecke der öffentlichen Diskussion sammeln und die Verarbeitung der Ergebnisse dieser Diskussion sicherstellen können

5.
Informations- und Informationsministerium der Republik Tatarstan
Entwickeln Sie einen Prototyp einer Plattform, die es Analysten ermöglicht, bestehende Regierungsdienste in elektronische Form umzuwandeln, ohne Entwickler einzubeziehen

6.
Ministerium für Industrie und Handel der Russischen Föderation (Minpromtorg of Russia)
Entwickeln Sie eine AR/VR-Lösung zur Qualitätskontrolle spezieller technologischer Prozesse in Industrieunternehmen

7.
Staatliche Atomenergiegesellschaft „Rosatom“ (Staatliche Körperschaft „Rosatom“)
Entwicklung einer Plattform, mit der Sie eine Karte der Produktionsgelände eines Unternehmens erstellen, darauf optimale Logistikrouten festlegen und die Bewegung von Teilen verfolgen können

8.
Öffentliche Aktiengesellschaft „Gazprom Neft“
(PJSC Gazprom Neft)
Entwickeln Sie einen Datenanalysedienst zur Fehlererkennung von Transportpipelines

9.
Fonds zur Unterstützung und Entwicklung von Informationstechnologien
und Digitalisierung der Wirtschaft „Digital Valley of Sochi“
(Sochi Digital Valley Foundation)
Schlagen Sie einen Prototyp einer skalierbaren mobilen Anwendung mit einer implementierten Lösung zur Validierung elektronischer Dokumente im Offline-Modus vor

10
Das Ministerium für Verkehr der Russischen Föderation
(Verkehrsministerium Russlands)
Entwickeln Sie eine mobile Anwendung (und eine Anwendung für den zentralen Server), mit der Sie Daten über die Verfügbarkeit des Mobilfunknetzes übertragen und darauf basierend eine aktuelle Karte der Netzabdeckung erstellen können

11
Aktiengesellschaft „Federal Passenger Company“ (JSC „FPK“)
Entwickeln Sie einen Prototyp einer mobilen Anwendung, die es Fahrgästen ermöglicht, Essenslieferungen in Restaurants in Städten entlang der Zugstrecke zu bestellen

12
Gesundheitsministerium der Russischen Föderation (Gesundheitsministerium Russlands)
Erstellen Sie einen Prototyp eines Systems zur Überwachung des Allgemeinzustands einer am Computer arbeitenden Person mithilfe von Mustererkennung und Modellierung menschlichen Verhaltens

13
Rechnungskammer
Russian Federation
Entwickeln Sie Software, die eine statistische Analyse und Visualisierung der Ergebnisse der Schaffung eines gesamtrussischen Netzwerks perinataler Zentren ermöglicht

14
Autonome gemeinnützige Organisation „Russland, das Land der Möglichkeiten“
(ANO „Russland – Land der Möglichkeiten“
ANO „RSV“)
Entwickeln Sie einen Software-Prototyp zur Verfolgung der Beschäftigung von Hochschulabsolventen sowie zur Analyse und Prognose der Nachfrage nach bestimmten Berufen

15
Öffentliche Aktiengesellschaft „Mobile Telesystems“
(MTS PJSC)
Schlagen Sie eine Prototypenplattform für die Umschulung von Fachkräften vor, die aufgrund der Digitalisierung von Geschäftsprozessen in Unternehmen freigesetzt werden

16
Ministerium für Bauwesen
und Wohnungs- und Kommunaldienstleistungen der Russischen Föderation
(Bauministerium Russlands)
Entwickeln Sie Software zur Durchführung einer Bestandsaufnahme von Wärme- und Wasserversorgungssystemen und erstellen Sie auf der Grundlage der Überwachungsergebnisse ein regionales geografisches Informationssystem für technische Infrastruktureinrichtungen

17
Öffentliche Aktiengesellschaft „MegaFon“
(PJSC MegaFon)
Erstellen Sie eine universelle Webanwendung für Unternehmen im Wohnungs- und Kommunaldienstleistungsbereich, mit der Sie die Bedeutung von Anfragen erkennen, Anfragen an verantwortliche Mitarbeiter verteilen und deren Umsetzung verfolgen können

18
Öffentliche Aktiengesellschaft „Rostelecom“
(PJSC Rostelecom)
Erstellen Sie einen Prototyp eines Informations- und Servicesystems zur Überwachung von Abfallsammel- und Recyclingstellen

19
Verband der Freiwilligenzentren (AVC)
Schlagen Sie einen Prototyp eines Webdienstes vor, um soziale und bürgerschaftliche Aktivitäten durch Wettbewerbs- und Mikrozuschussmechanismen anzuregen

20
Gesellschaft mit beschränkter Haftung „MEIL.RU GROUP“
(Mail.ru Group LLC)
Erstellen Sie einen Prototyp eines Dienstes zur Organisation von Freiwilligenprojekten auf einer sozialen Netzwerkplattform

Insgesamt gab es etwa 600 Teams, und jedes Team konnte seine eigene Aufgabe wählen. Es war der größte Hackathon der Welt und wurde ins Guinness-Buch der Rekorde aufgenommen. Wir haben uns für Gleis 17 von Megafon entschieden. Es waren 29 Teams auf unserer Strecke. Es war notwendig, einen mobilen Client für den Bewohner zu erstellen, ihm die Möglichkeit zu geben, einen Antrag bei der Verwaltungsgesellschaft zu stellen und dann auf der Seite der Verwaltungsgesellschaft ein Webkonto einzurichten, über das die Geschäftsprozesse überwacht werden können. Gemäß der Aufgabenstellung hätte die Anwendung durch die Klassifizierung mittels eines neuronalen Netzes unmittelbar beim Auftragnehmer ankommen sollen. Wir haben einen solchen Mechanismus bereitgestellt, wie es sicher die meisten Teams auf unserer Strecke getan haben. Jetzt möchte ich mich mit den Expertenratschlägen befassen, die Experten, Mitarbeiter des Megaphons, gingen wichtig an unseren Tischen vorbei und stellten Fragen wie „Wie geht es Ihnen?“ Wenn sie ihnen die Details der Implementierung oder die Prinzipien des Aufbaus eines neuronalen Netzwerks zeigen wollten, lehnten sie ab. Im Allgemeinen herrschte die Meinung vor, dass es von allen Experten auf unserer Strecke, und es waren etwa 15, nur EINEN, EINEN Mann gab, der zumindest grob verstand, was vor sich ging. Und nur eine Person hat überhaupt versucht, einen Blick auf den Code zu werfen! Dadurch hätte mehr als die Hälfte der Teams bereits in der Vorverteidigung ausscheiden müssen. Und diese Leute haben uns geschätzt! Die Vorverteidigung dauerte 3 Minuten! Und noch einmal 2 Minuten Expertenfragen! Auch hier möchte ich nicht sagen, dass bei uns alles funktioniert hat, aber wir wurden verklagt. Aber das Bewertungskriterium war im Allgemeinen unverständlich und undurchsichtig, und während der Vorverteidigung haben die Experten nicht versucht, den Geschäftsprozess dessen, was wir vorbereitet hatten, durchzugehen, sondern nur überprüft, ob, wenn Sie einen Antrag per Telefon einreichen, dieser im angezeigt wird Admin-Panel der Verwaltungsgesellschaft und überprüft, wie das Neuron funktioniert. Alle. Mir scheint, dass dieser Ansatz sehr unfair ist, wenn man mehr als 30 Stunden lang ohne Schlaf programmiert hat und das, was man getan hat, von Leuten angeschaut wird (ich könnte mich irren, aber das ist die Meinung, die sich herausgebildet hat), die das tun Ich verstehe die Prozesse der Implementierung und Ausarbeitung von Details nicht! 11 der besten Teams qualifizierten sich für die Verteidigung, wir rückten vom 11. Platz vor und erhielten 4 von 10 Punkten für die Arbeit des Prototyps! Ohne eine einzige Frage zu stellen, die wir nicht beantworten würden, oder darauf hinzuweisen, was bei uns nicht funktioniert hat. Wir haben nur deshalb keine Berufung eingelegt, weil diese Daten angeblich bei der Verteidigung nicht berücksichtigt wurden, was sich aber als nicht der Fall herausstellte. Die Teams verteidigten in der Reihenfolge vom 1. bis zum letzten Platz, d. h. da wir zuletzt verteidigten, wusste die Jury, dass wir laut Experten die schlechtesten waren! Während der Verteidigung sagten viele Teams ausdrücklich, dass sie eine fertige Lösung hätten! Leider haben wir in diesen 48 Stunden alles erledigt. Wir haben nicht den 1. Platz belegt. Die Jungs aus Krasnojarsk haben gewonnen, ich habe ihre Arbeit gesehen und sie hat mir gefallen. Ich denke, sie sind es wert!

Ich bin meinem Team dankbar, das aus diesem Wettbewerb hervorgegangen ist. Wir haben gezeigt, dass auf Wunsch auch Menschen, die sich nicht kennen, schnell und effizient IT-Produkte herstellen können. Daher hatte ich trotz allem einen positiven Eindruck von diesem Wettbewerb. Vielen Dank an die Regierung für die Schaffung eines solchen Produkts wie dieses Wettbewerbs.

Abschließend möchte ich sagen, dass die Widersprüche, die hohe Beamte auf der Tribüne vorbringen, sehr erschreckend sind. Konkret sagte Kirijenko bei der Eröffnungszeremonie, er werde dafür sorgen, dass alle Entscheidungen in den Regionen ankommen. Wir waren alle wirklich verpflichtet, den gesamten Code auf Flash-Laufwerken zu übergeben, aber als ich versuchte, dem Moderator zu erklären, dass sie zum Start mindestens einen Tag brauchen würden, um die notwendigen Frameworks zu installieren (ich sage nicht, dass sie das brauchen würden). einen Spezialisten, der dies tun KANN), um diese Quellen zu sammeln. Uns wurde gesagt, dass dies notwendig sei, aber mir wurde klar, dass mit Ausnahme derjenigen, die den ersten Platz belegten, der größte Teil des Codes tote Last bleiben würde. Das Gleiche gilt auch auf regionaler Ebene. Eine Aufgabe ist gestellt – Sie lösen sie, niemand braucht das Ergebnis. Ich möchte anmerken, dass die meisten Leute bei diesem Wettbewerb wirklich coole Dinge geleistet haben und es einfach erstaunlich ist, wie reich unser Land an IT-Spezialisten ist, aber die Kette Regierung-Fonds-Verantwortlicher für das Ergebnis-Organisatoren-Teilnehmer hat schwache Glieder Das erschwert den digitalen Durchbruch Russlands!

Source: habr.com

Kommentar hinzufügen