Comment je suis allé en finale du concours Digital Breakthrough

Je veux partager mes impressions sur la compétition panrusse « Percée numérique ». Après, j'ai eu dans l'ensemble de très bonnes impressions (sans aucune ironie) : c'était mon premier hackathon de ma vie et je pense que ce sera le dernier. J'avais envie d'essayer ce que c'était - je l'ai essayé - ce n'était pas mon truc. Mais tout d’abord.

Vers la fin avril 2019, j'ai vu une annonce pour un concours pour programmeurs « Digital Breakthrough ». La structure du concours est le quart de finale, qui est un test par correspondance en ligne, la demi-finale, qui est une étape régionale en personne au format hackathon pendant 36 heures, puis la finale en personne, une épreuve de 48 heures. hackathon. La première étape est le test en ligne. Il y avait 50 sujets différents, vous pouvez les retrouver sur le site du projet.
Il y avait 20 minutes pour chaque sujet ; on ne pouvait pas arrêter le temps et le parcourir à nouveau. Vous pouviez choisir n'importe quel sujet et passer n'importe quel nombre de tests, en fonction de la qualité des tests que vous avez réussis et de leur nombre, que vous atteigniez ou non les demi-finales. J’ai commencé à passer des tests (je ne me suis pas préparé, j’étais sceptique). J'y ai collecté approximativement l'échantillon suivant (13 sur 20,9 sur 20, 11 sur 20, etc.). Plusieurs questions étaient clairement tirées de Wikipédia ; en gros, les options de réponse incluaient des désignations de variables à partir de formules (phi, q, oméga), ce qui était très amusant. Certaines questions ont été clairement rédigées par une personne connaissant le domaine. Et déjà à ce stade, le premier embarras s'est produit, deux de mes tests ont simplement été clôturés et affichés 0 sur 20. J'ai écrit au support, j'ai reçu une réponse rapide indiquant que la candidature était à l'étude. Après 4 jours supplémentaires, ils ont écrit que « l'Administration » m'autorisait à repasser ces tests. J'ai essayé de le faire, mais rien n'a changé, il me restait 0 sur 20. J'ai réécrit au support, ils m'ont dit d'attendre, une semaine plus tard, les résultats du test sont arrivés, où ils m'ont conseillé des ressources d'information qui pourraient m'aider améliorer mes qualifications. Et un mois plus tard, j'ai reçu une réponse indiquant que ma candidature avait été vérifiée et qu'aucune erreur n'avait été trouvée ; J'ai participé depuis la région de Moscou et la demi-finale devait avoir lieu le 27 juillet. Imaginez ma surprise lorsque, le 16 juillet, ils m'ont envoyé des messages indiquant que j'étais toujours invité à la scène en face-à-face.

La correspondanceComment je suis allé en finale du concours Digital Breakthrough

Les demi-finales ont commencé avec le fait qu'après le 16 juillet, il fallait utiliser le service en ligne des développeurs du concours « Percée numérique » pour constituer votre propre équipe ou rejoindre une équipe existante, la formation était composée uniquement de ceux qui avaient réussi le test en ligne et tout le monde a vu les points que vous aviez pour les tests en ligne. L'équipe doit être composée strictement de 3 à 5 personnes. Je n’avais aucun ami qui avait réussi le test et j’ai commencé à essayer de « m’organiser en équipe » par tous les canaux et j’ai décidé d’essayer de rejoindre quelqu’un. Les organisateurs ont fait un chat en ligne, notamment pour la région de Moscou dans "VK", j'y ai trouvé le capitaine de l'équipe "DevLeaders", qui était en charge du front (chacun a trouvé le nom de l'équipe comme il le voulait) , à cette époque il y avait 2 personnes, directement le capitaine et le concepteur . J'ai opté pour le rôle Back-end. Ensuite, une personne ayant une expérience en tant que développeur mobile, mais essentiellement full-stack, nous a rejoint. Nous nous sommes rencontrés pour la première fois lors de la demi-finale à Moscou. Nous nous sommes lancés dans la voie des services gouvernementaux, la tâche était de créer un prototype analogique d'UiPath ou de BluePrism en 36 heures. Le plus drôle, c'est que nous l'avons fait.

Description de l'implémentationNous avons créé une application Web, une URL a été fournie en entrée, puis cette URL a été affichée à l'intérieur de notre formulaire, puis nous avons pu cliquer sur le script, recevant des sélecteurs pour chacun des éléments. Sur le serveur, utilisant Selenium, l'URL d'entrée a été ouverte dans laquelle le script cible était déjà en cours d'exécution, et des captures d'écran de la fenêtre du navigateur ont été envoyées au client sous forme de rapport sur le processus en cours.

Captures d'écran Comment je suis allé en finale du concours Digital Breakthrough
Comment je suis allé en finale du concours Digital Breakthrough
Comment je suis allé en finale du concours Digital Breakthrough

Avec cette décision, nous avons pris la 1ère place dans notre catégorie et nous sommes qualifiés pour la finale. Les analogues étrangers sont très chers (environ 2 millions par an, pour un nombre limité de robots). Les distributeurs russes de sociétés informatiques achètent de telles solutions pour les grandes entreprises, mettent en place une robotique clé en main et vendent la solution à un prix encore plus élevé. Économiser sur les outils est donc une bonne idée. Après la fin du hackathon, un expert de notre secteur m'a approché : il représentait le Département des technologies de l'information de Moscou. En fait, c'est lui (et en sa personne DIT) qui était l'organisateur de la tâche. Il m'a demandé si je pouvais faire évoluer ce projet et faire de même pour le bureau et si j'étais intéressé à développer cette direction. J'ai répondu par l'affirmative, après quoi il m'a invité directement au DIT pour décrire l'idée à son patron. Lors d'une réunion en face-à-face, on m'a demandé combien de personnes étaient nécessaires pour la version pilote et quand nous pourrions le faire comme nos homologues russes.

Analogues russes(ils sont encore très crus et je comprends que le grand business ne s'y intéresse pas, je ne sais pas avec certitude, ceux que je connais électronique, qui, selon un examen rapide, possède le module d'analyse principal directement prêt à l'emploi sur Github à partir de cette ressource roroRPA et je l'ai davantage aimé Robin )

J'ai répondu qu'avec 4 personnes, nous réaliserions une version complètement alpha de la même électronique dans 4 mois, mais nous aurons besoin d'un véritable business case qui pourra être entièrement piloté. Ils m’ont dit ok, nous vous contacterons, personne d’autre ne m’a contacté et ils n’ont même pas répondu à mes questions dans le télégramme. Une expérience d'interaction très intéressante.
Le hackathon de la demi-finale s'est terminé le 29 juillet et la finale ne devait commencer à Kazan que du 27 au 29 septembre. En parallèle, nous avons été invités à la « Vallée numérique de Sotchi », si je comprends bien, juste pour une visite. Le voyage a laissé deux impressions, et c'est vraiment cool qu'ils paient vos billets et votre hébergement (le voyage durait une journée), mais dans le domaine principal, à savoir discuter de la mise en page de notre produit informatique ou de toute autre proposition, c'était très rare . on ne peut pratiquement rien dire. Ils ont demandé si nous pouvions fournir un plan de travail d'ici la mi-octobre 2019 - la réponse a été à nouveau affirmative, jusqu'à présent personne ne nous a contactés, au moment de la rédaction de cet article, nous sommes le 2 octobre.

Puis l'épopée avec la finale a commencé, je ne critiquerai pas l'organisation ici, beaucoup de gens décriront probablement cela plus en détail, je veux me concentrer sur autre chose. Permettez-moi simplement de dire que toute notre équipe s'est vu offrir des billets d'avion aller-retour à Kazan. Merci aux organisateurs ! Chacun a loué son propre logement pendant la finale. Laissez-moi juste vous dire que l'hôtel le plus proche du lieu final est à 20 km !

La veille du départ, les morceaux des tâches ont été publiés (ils ont été diffusés depuis la scène au public, j'espère donc que je ne viole aucun droit)

Liste de tâches1.
Ministère du développement numérique, des communications et des communications de masse de la Fédération de Russie (Ministère des télécommunications et des communications de masse de Russie)
Développer un prototype logiciel pour vérifier automatiquement la duplication de code logiciel lors des marchés publics

2.
Service fédéral des impôts (FTS de Russie)
Développer un logiciel pour un centre de certification unique qui réduira le nombre d'activités frauduleuses associées à l'utilisation de signatures électroniques

3.
Service fédéral des statistiques de l'État (Rosstat)
Proposer des produits en ligne qui vous permettent d'inciter les citoyens à participer activement au recensement de 2020 et, sur la base des résultats du recensement, de présenter ses résultats sous forme visuelle
(visualisation de mégadonnées)

4.
Banque centrale
Fédération de Russie
(Banque de Russie)
Créer une application mobile qui vous permet de recueillir les opinions d'un public externe sur les initiatives de la Banque de Russie à des fins de débat public, assurer le traitement des résultats de ces discussions

5.
Ministère de l'Information et des Communications de la République du Tatarstan
Développer un prototype de plateforme qui permettra aux services gouvernementaux existants d'être convertis sous forme électronique par des analystes, sans impliquer les développeurs.

6.
Ministère de l'Industrie et du Commerce de la Fédération de Russie (Minpromtorg de Russie)
Développer une solution AR/VR pour le contrôle qualité des processus technologiques spéciaux dans les entreprises industrielles

7.
Société d'État de l'énergie atomique « Rosatom » (Société d'État « Rosatom »)
Développer une plateforme permettant de créer une carte des locaux de production d'une entreprise, d'y tracer des itinéraires logistiques optimaux et de suivre le mouvement des pièces

8.
Société anonyme publique "Gazprom Neft"
(PJSC Gazprom Neft)
Développer un service d'analyse de données pour la détection des défauts des pipelines de transport

9.
Fonds de soutien et de développement des technologies de l'information
et numérisation de l’économie « Vallée numérique de Sotchi »
(Fondation Sotchi Digital Valley)
Proposer un prototype d'application mobile évolutive avec une solution implémentée pour valider des documents électroniques en mode hors ligne

10.
Le ministère des Transports de la Fédération de Russie
(Ministère des Transports de Russie)
Développer une application mobile (et une application pour le serveur central) qui vous permettra de transmettre des données sur le niveau de disponibilité du réseau mobile et, sur cette base, de créer une carte de couverture réseau à jour

11.
Société par actions « Federal Passenger Company » (JSC « FPK »)
Développer un prototype d'application mobile permettant aux passagers de commander une livraison de nourriture dans des restaurants situés dans les villes situées le long du trajet ferroviaire

12.
Ministère de la Santé de la Fédération de Russie (Ministère de la Santé de la Russie)
Créer un prototype d'un système de surveillance de l'état général d'une personne travaillant sur un ordinateur en utilisant la reconnaissance de formes et la modélisation du comportement humain

13.
Chambre des comptes
Fédération de Russie
Développer un logiciel permettant l'analyse statistique et la visualisation des résultats de la création d'un réseau panrusse de centres périnatals

14.
Organisation autonome à but non lucratif « La Russie, terre d'opportunités »
(ANO "Russie - Terre d'opportunités"
ANO "RSV")
Développer un prototype de logiciel de suivi de l'emploi des diplômés universitaires, d'analyse et de prévision de la demande pour certaines professions

15.
Société par Actions Publique "Télésystèmes Mobiles"
(MTS PJSC)
Proposer une plateforme prototype de reconversion des spécialistes libérés dans les entreprises en raison de la digitalisation des processus métiers

16.
Ministère de la Construction
et le logement et les services communaux de la Fédération de Russie
(Ministère de la Construction de Russie)
Développer un logiciel pour réaliser un inventaire des systèmes d'approvisionnement en chaleur et en eau, formant, sur la base des résultats de la surveillance, un système d'information géographique régional des installations d'infrastructure d'ingénierie

17.
Société anonyme publique "MegaFon"
(PJSC MegaFon)
Créer une application web universelle pour les entreprises du secteur de l'habitat et des services communaux, permettant de reconnaître le sens des demandes, de diffuser les demandes aux salariés responsables et de suivre leur mise en œuvre

18.
Société anonyme publique "Rostelecom"
(PJSC Rostelecom)
Créer un prototype de système d'information et de services pour le suivi des points de collecte et de recyclage des déchets

19.
Association des Centres de Volontariat (AVC)
Proposer un prototype de service Web pour stimuler l'activité sociale et civique à travers des mécanismes compétitifs et de micro-subventions

20.
Société à responsabilité limitée "GROUPE MEIL.RU"
(Mail.ru Group LLC)
Créer un prototype de service d'organisation de projets bénévoles sur une plateforme de réseau social

Il y avait environ 600 équipes au total, et chaque équipe pouvait choisir sa propre tâche. Il s’agissait du plus grand hackathon de la planète et il a été inscrit dans le Livre Guinness des Records. Nous avons choisi la piste 17 de Megafon. Il y avait 29 équipes sur notre piste. Il fallait créer un client mobile pour le résident, lui permettre de déposer une demande auprès de la société de gestion, puis créer un compte web du côté de la société de gestion, où il serait possible de suivre les processus commerciaux. Selon l'idée de la tâche, la demande aurait dû parvenir immédiatement à l'entrepreneur en la classant à l'aide d'un réseau neuronal. Nous avons fourni un tel mécanisme, comme je suis sûr que la plupart des équipes de notre piste l'ont fait. Maintenant, je veux m'attarder sur les conseils d'experts, les experts, les employés du mégaphone, sont passés devant nos tables et ont posé des questions comme « Comment allez-vous ? S'ils voulaient leur montrer les détails de la mise en œuvre ou les principes de construction d'un réseau de neurones, ils refusaient. En général, on pensait que parmi tous les experts sur notre piste, et il y en avait environ 15, il n'y avait qu'UN, UN homme qui comprenait au moins à peu près ce qui se passait. Et une seule personne a même essayé de regarder le code ! Résultat, plus de la moitié des équipes auraient dû être éliminées lors de la pré-défense. Et ces gens nous ont appréciés ! La pré-défense a duré 3 minutes ! Et encore 2 minutes de questions d'experts ! Encore une fois, je ne dirai pas que tout a fonctionné pour nous, mais nous avons été poursuivis. Mais le critère d'évaluation était globalement incompréhensible et opaque, et de plus lors de la pré-défense, les experts n'ont pas essayé de passer par le processus métier de ce que nous avions préparé, ils ont juste vérifié que si vous déposez une candidature par téléphone, elle apparaît dans le panneau d'administration de la société de gestion et vérifié le fonctionnement du neurone. Tous. Il me semble que cette approche est très injuste, après avoir codé pendant plus de 30 heures sans dormir, et que ce que vous avez fait est regardé par des gens (je peux me tromper, mais c'est l'opinion qui s'est développée) qui le font. Je ne comprends pas les processus de mise en œuvre et d'élaboration des détails ! 11 des meilleures équipes se sont qualifiées pour la défense, nous sommes passés de la 11ème place, nous avons obtenu 4 sur 10 pour le travail du prototype ! Sans poser une seule question à laquelle nous ne répondrions pas ni souligner ce qui n'a pas fonctionné pour nous. Nous n'avons pas fait appel uniquement parce que ces données n'auraient pas été prises en compte lors de la défense, mais cela s'est avéré ne pas être le cas. Les équipes ont défendu dans l'ordre de la 1ère place à la dernière, c'est à dire que puisque nous avons défendu en dernier, le jury savait que nous étions les moins bons selon les experts ! Lors de la soutenance, de nombreuses équipes ont explicitement déclaré qu’elles avaient une solution toute faite ! Malheureusement, nous avons tout terminé en 48 heures. Nous n'avons pas pris la 1ère place. Les gars de Krasnoïarsk ont ​​gagné, j'ai vu leur travail et j'ai aimé ça. Je pense qu'ils en valent la peine !

Je suis reconnaissant envers mon équipe, qui est le produit de ce concours, nous avons montré que, s'ils le souhaitent, même des personnes qui ne se connaissent pas peuvent fabriquer rapidement et efficacement des produits informatiques. J’ai donc malgré tout eu des impressions positives de ce concours. Merci au gouvernement d'avoir créé un produit tel que ce concours.

En conclusion, je voudrais dire que les contradictions déclarées depuis les tribunes par les hauts responsables sont très effrayantes. Concrètement, lors de la cérémonie d'ouverture, Kirienko a déclaré qu'il veillerait à ce que toutes les décisions parviennent aux régions. Nous étions tous vraiment obligés de remettre tout le code, sur des clés USB, mais quand j'ai essayé d'expliquer au modérateur que pour lancer il lui faudrait au moins une journée pour installer les frameworks nécessaires (je ne dis pas qu'il lui faudrait un spécialiste qui PEUT le faire) pour collecter ces sources. On nous a dit que c'était nécessaire, mais il m'est apparu clairement qu'à l'exception de ceux qui ont pris la première place, la majeure partie du code resterait un poids mort. Il en va de même au niveau régional. Une tâche est définie - vous la résolvez, personne n'a besoin du résultat. Je voudrais noter que la plupart des participants à ce concours ont vraiment fait des choses sympas et c'est tout simplement incroyable de voir à quel point notre pays est riche en informaticiens, mais la chaîne Gouvernement-Fonds-Responsable du résultat-Organisateurs-Participants a des maillons faibles cela complique la percée numérique de la Russie !

Source: habr.com

Ajouter un commentaire