Vainqueur du hackathon: les droits numériques restent avec nous
Hackathon est une compétition entre développeurs pour créer des solutions numériques au profit du client. Bien que ce type d'événement soit très populaire dans l'environnement informatique, de nombreux professionnels talentueux hésitent à y participer. L'une des raisons est le stéréotype de la perte garantie des droits sur la solution développée. Evgeny Mavrin, l'un des lauréats d'un hackathon à grande échelle, dissipe ce mythe, et évoque également les avantages et les perspectives des concours de programmeurs.
Evgeniy est un jeune développeur prometteur. Participant à la piste Megapopis Moscou, organisée par l'Agence d'innovation de Moscou dans le cadre du hackathon en ligne VirusHack, il, au sein de l'équipe EGD BAG (avec Alexei Airapetov et Anna Kovalenko), a mieux performé que le reste de la tâche de création d'un robot d'information pour le nouveau messager ICQ, qui a rapporté utilisateurs sur la propagation de l'infection à coronavirus.
- Eugene, qu'avez-vous fait, vous et les membres de votre équipe, avant de participer au hackathon? Où avez-vous étudié, où avez-vous travaillé, quels projets avez-vous menés? Avez-vous été en affaires?
- Nous sommes une équipe de camarades de classe. Diplômé de la magistrature de l'Université technique d'État Bauman de Moscou dans le cadre du programme «Systèmes et technologies d'information» en 2019. Nous sommes tous engagés dans la programmation, mais dans des directions différentes. Pour moi, par exemple, la pile principale est C ++ / Qt, et pour Lesha (Alexey Airapetov - note de l'auteur) - Java. En plus de notre travail principal, chacun de nous avait ses petits projets à différents stades d'achèvement (lire abandon). En général, peu de choses sont arrivées à la sortie. Aucun membre de notre équipe n'a jamais été impliqué dans les affaires. Mais nous avons participé, disons, à des «pigistes amicaux», alors que nous avons juste besoin de l'aide informatique d'une personne que nous connaissons.
Grâce à la formation et aux intérêts communs dans le domaine informatique, il n'est pas difficile pour nous d'offrir et de mettre en œuvre une solution fonctionnelle à presque tous les problèmes.
- C'était la première fois que vous participiez à un hackathon? Comment avez-vous découvert la piste Megapolis Moscou?
- Personnellement, j'ai déjà participé au hackathon Aramco Upstream Solutions Technathon 2019 dans une équipe avec des camarades de l'Université d'État russe du pétrole et du gaz du nom de I.M. Gubkin, mais nous n'avons pas eu de chance cette fois. Il n'y avait pas de match dans l'équipe parmi les participants.
Nous avons appris le morceau de Megapolis Moscow par des amis: ils ont juste lancé une publicité d'une communauté Sharp (développeurs C #) dans le chat. Ils ont abordé la participation au hackathon VirusHack de manière responsable: ils ont décidé de la tâche à l'avance et des responsabilités approximativement assignées. Et cela a vraiment aidé.
- Comment évaluez-vous la complexité de la tâche du nouveau client ICQ? Quel est le niveau des adversaires?
- La tâche s'inscrit idéalement, à mon avis, dans le cadre temporel du hackathon. Souvent, dans quelques jours alloués pour un hackathon, de nombreuses équipes présentent un concept ou un prototype comme décision finale. Nous avons présenté un produit fini qui, plus tard, avec le client, a été rapidement mis en production. Le niveau des adversaires était élevé. Et j'étais vraiment inquiet de voir les résultats des autres équipes. De nombreux participants se sont permis une interprétation libre de la tâche: quelqu'un, par exemple, a fabriqué un robot avec lequel ils pourraient jouer à de simples jeux occasionnels.
- Parlez-nous de la décision prise à la fin? Quels outils ont été utilisés pour le développer?
- En conséquence, nous avons obtenu un robot d'information qui a informé les utilisateurs de la propagation de l'infection à coronavirus.
Grâce à la géolocalisation, les gens pouvaient recevoir des informations sur les nouveaux et anciens cas d'infection de citoyens, connaître les adresses des institutions médicales et des laboratoires les plus proches pour passer les tests de COVID-19 et les adresses des pharmacies et des magasins les plus proches. En outre, un générateur de messages SMS simplifié a été intégré au bot pour recevoir un laissez-passer électronique.
Pour ajuster les flux de calcul lors de l'écriture du bot, des outils de langage Java standard ont été utilisés. Pour simplifier considérablement le travail du bot, une bibliothèque d'API d'ICQ a été choisie. Nous avons également résolu le problème de la simplification du déploiement d'un bot dans un environnement de production: sachant que Docker est désormais le standard du développement en entreprise, nous avons préparé une image Docker.
En général, le résultat est un produit facile à moderniser et évolutif.
- Quelle a été la partie la plus difficile?
- Le plus difficile, probablement, était de "peigner" toutes les fonctionnalités du bot pour qu'il soit pratique à utiliser. Nous avons implémenté l'interface de manière à ce que l'utilisateur n'entre les données sous forme de texte que dans des cas extrêmes, par exemple pour indiquer la raison de l'émission d'un laissez-passer unique (oui, jusqu'à récemment, c'était pertinent). Toute interaction avec le bot était réduite à l'utilisation compétente des outils du messager lui-même. Nous avons complètement désactivé la possibilité de saisir manuellement des commandes. Au fait, voici une vidéo de démonstration du bot: https://youtu.be/1xMXEq_Svj8
- Vous êtes devenu le vainqueur du hackathon. Comment les événements se sont-ils développés davantage?
- Nous avons appris une chose très utile - il s'est avéré que nous sommes restés nous-mêmes les détenteurs des droits d'auteur du bot, ce qui m'a même un peu surpris. Je pensais que tout hackathon était, grosso modo, un échange d'une idée née dans un brainstorming d'équipe pour un prix précieux. Mais j'ai relu l'accord et les règles de participation et je n'ai rien trouvé de tel. Alors aux autres participants au hackathon qui craignent de devoir transférer les droits sur leurs développements, je tiens à dire que non, c'est loin d'être le fait que vous serez obligé de le faire. Lors du hackathon VirusHack, il était même possible de stocker le code dans des référentiels privés, et l'un des membres du jury pouvait simplement avoir un accès temporaire pour prendre une décision. Dans tous les cas, avant le hackathon, lisez toujours les documents de participation afin qu'il n'y ait pas de surprises à l'avenir.
Après le hackathon, de notre propre initiative, nous avons préparé un port de bot pour l'API Telegram en cas de deuxième vague de pandémie de coronavirus. Mais il est préférable de conserver ce projet dans des référentiels privés pour toujours.
Nous envisageons maintenant d'adapter la fonctionnalité du bot à la situation actuelle, lorsque le mode d'auto-isolation est supprimé. Par exemple, pour rechercher des centres de remise en forme, des restaurants et d'autres sites urbains. Les membres de l'équipe ICQ New ne craignent pas d'héberger une version mise à jour du bot dans leurs installations.
- Les programmeurs devraient-ils participer à des hackathons? À votre avis, que peuvent-ils offrir aux participants et aux gagnants?
- Ça vaut vraiment le coup. C'est une expérience agréable de terminer une tâche appliquée à partir de zéro en quelques jours, qui peut ensuite être discutée avec des experts. De plus, c'est l'occasion d'évaluer leurs compétences et «compétences» des membres de l'équipe sur un vrai marathon de deux à trois jours. C'est aussi du réseautage. Dans tous les domaines, en particulier dans l'informatique, c'est un aspect très important du développement, me semble-t-il. Vous pouvez trouver de nouvelles personnes utiles pour vous, communiquer avec elles, voir leurs projets. De plus, étant uniquement engagé dans le développement sur le lieu de travail principal, vous pouvez vous essayer au hackathon dans un nouveau rôle, par exemple en tant que propriétaire de produit, chef d'équipe ou autre rôle. Mais pour le gagnant, c'est une opportunité de coopération réussie avec les plus grandes entreprises, une aide à la promotion de son idée. Il existe de nombreux cas où des projets à grande échelle sont nés de hackathons.
- En août, les candidatures pour un nouveau hackathon commenceront à résoudre les problèmes de la ville «Digital Transformation Leaders» . Ses gagnants recevront des récompenses substantielles. Votre équipe y participera-t-elle? Comment allez-vous vous préparer? Si vous gagnez, à quoi dépenserez-vous votre prix?
- Pour moi, comme pour le reste de l'équipe, l'objectif principal de la participation au hackathon est l'opportunité de développer un prototype de produit dans un domaine qui nous intéresse.
Nous acquérons de l'expérience dans le développement d'équipe et un bon projet dans le portefeuille, nous faisons face à des tâches intéressantes et stimulantes. Bien sûr, nous voulons gagner. Cependant, nous ne visons pas à obtenir un prix en espèces. Si le projet est utile, ce sera notre victoire.
Pour se préparer à la compétition«Leaders de la transformation numérique», nous allons essayer d'élargir la composition de l'équipe: lors du hackathon précédent, nous étions trois et, franchement, il n'y avait tout simplement pas assez de mains. De plus, nous résoudrons le problème du logiciel installé afin que tous les membres de l'équipe disposent de l'ensemble de programmes requis avant le début de la compétition (comme l'expérience l'a montré, un temps considérable est consacré précisément à la résolution des problèmes de synchronisation des logiciels).
Si nous parvenons toujours à obtenir un prix, nous dépenserons l'argent sur PS5 et rentrerons chez nous pendant quelques semaines. Blague! Bien entendu, nous comprenons que le prix en espèces est, avant tout, une aide financière pour le développement futur du projet. L'hébergement, les machines virtuelles, etc. font partie de l'allocation des fonds.