Zwycięzca Hackathonu: prawa do rozwiązania cyfrowego pozostają u nas

Zwycięzca Hackathonu: prawa do rozwiązania cyfrowego pozostają u nas

Hackaton to konkurs programistów mający na celu stworzenie rozwiązań cyfrowych w interesie klienta. Choć tego typu wydarzenia cieszą się dużą popularnością w środowisku IT, wielu utalentowanych profesjonalistów boi się w nich uczestniczyć. Jednym z powodów jest stereotyp o gwarantowanej utracie praw do opracowanego rozwiązania. Jeden ze zwycięzców zakrojonego na szeroką skalę hackatonu, Evgeniy Mavrin, rozwiewa ten mit, a także opowiada o zaletach i perspektywach konkursów programistycznych.

Evgeniy jest młodym, obiecującym programistą. Biorąc udział w trasie „Megapopis Moskwa”, organizowanej przez stołeczną Agencję Innowacji w ramach hackatonu internetowego VirusHack, w ramach zespołu EGD BAG (wraz z Aleksiejem Airapetowem i Anną Kowalenko) spisał się lepiej niż inni stworzenia bota informacyjnego dla komunikatora ICQ New, który raportował użytkowników o rozprzestrzenianiu się zakażenia koronawirusem.

Zwycięzca Hackathonu: prawa do rozwiązania cyfrowego pozostają u nas

— Evgeniy, co robiłeś wraz z członkami swojego zespołu przed wzięciem udziału w hackatonie? Gdzie studiowałeś, gdzie pracowałeś, w jakie projekty brałeś udział? Czy byłeś zaangażowany w biznes?

– Jesteśmy zespołem kolegów z klasy. Ukończył studia magisterskie MSTU im. N. E. Baumana na kierunku Systemy i Technologie Informacyjne w 2019 roku. Wszyscy programujemy, ale w różnych kierunkach. Na przykład mój główny stos to C++/Qt, a Leshy (Aleksiej Airapetow – przyp. autora) to Java. Oprócz naszej głównej pracy, każdy z nas miał swoje ulubione projekty na różnych etapach realizacji (czytaj porzucenie). Ogólnie z premiery niewiele wyszło. Nikt z naszego zespołu nie był wcześniej związany z biznesem. Ale my uczestniczyliśmy, że tak powiem, w „przyjaznym freelancingu”, kiedy ktoś, kogo znasz, po prostu potrzebuje pomocy IT.
Dzięki naszemu wykształceniu i wspólnym zainteresowaniom w branży IT nie jest nam trudno zaproponować i wdrożyć działające rozwiązanie niemal każdego problemu.

— Czy po raz pierwszy bierzesz udział w hackatonie? Jak dowiedziałeś się o utworze „Megapolis Moskwa”?

— Osobiście brałem już udział w hackathonie Aramco Upstream Solutions Technathon 2019 w zespole z towarzyszami z Rosyjskiego Państwowego Uniwersytetu Nafty i Gazu im. I.M. Gubkina, ale tym razem mieliśmy pecha. Wśród uczestników drużyny nie było żadnego dopasowania.

O utworze „Megapolis Moskwa” dowiedzieliśmy się od znajomych: po prostu wrzucili na czat reklamę jakiejś społeczności Sharpists (programistów C#). Do udziału w hackatonie VirusHack podeszliśmy odpowiedzialnie: z góry ustaliliśmy zadanie i z grubsza podzieliliśmy się obowiązkami. I to naprawdę pomogło.

— Jak oceniasz złożoność zadania nowego klienta ICQ? Jaki jest poziom przeciwników?

— Zadanie moim zdaniem idealnie wpisuje się w ramy czasowe hackatonu. Często w ciągu kilku dni przeznaczonych na hackaton wiele zespołów przedstawia koncepcję lub prototyp jako ostateczne rozwiązanie. Zaprezentowaliśmy gotowy produkt, który wraz z klientem szybko wprowadziliśmy do produkcji. Poziom rywali był wysoki. Bardzo się zmartwiłem, gdy zobaczyłem wyniki innych drużyn. Wielu uczestników pozwoliło sobie na dowolną interpretację zadania: ktoś np. stworzył bota, za pomocą którego można było grać w proste, swobodne gry.

— Opowiedz nam o rozwiązaniu, które ostatecznie wyszło? Jakich narzędzi użyto do jego opracowania?

— W rezultacie powstał bot informacyjny, który informował użytkowników o rozprzestrzenianiu się zakażenia koronawirusem.

Za pomocą geotagu można było uzyskać informacje o nowych i starych przypadkach zakażeń obywateli, poznać adresy najbliższych placówek medycznych i laboratoriów, w których można wykonać testy na Covid-19, a także adresy najbliższych aptek i sklepów. W bocie wbudowany został także uproszczony generator wiadomości SMS umożliwiający otrzymanie przepustki elektronicznej.

Aby uregulować przepływy obliczeniowe podczas pisania bota, wykorzystano standardowe narzędzia języka Java. Aby znacznie uprościć pracę bota, wybrano bibliotekę API firmy ICQ. Rozwiązaliśmy także problem uproszczenia wdrożenia bota w środowisku produkcyjnym: wiedząc, że Docker jest obecnie standardem w rozwoju przedsiębiorstw, przygotowaliśmy obraz Dockera.

Ogólnie rzecz biorąc, efektem jest produkt łatwy w modernizacji i adaptacji do skalowania.

– Co było najtrudniejsze?

— Chyba najtrudniejsze było „przeczesanie” wszystkich funkcjonalności bota, tak aby był wygodny w obsłudze. Interfejs zaimplementowaliśmy w taki sposób, aby użytkownik wprowadzał dane tekstowe tylko w skrajnych przypadkach, jak np. w celu wskazania powodu wystawienia przepustki jednorazowej (tak, jeszcze do niedawna to dotyczyło). Cała interakcja z botem sprowadzała się do kompetentnego wykorzystania narzędzi samego komunikatora. Całkowicie wyłączyliśmy możliwość ręcznego wprowadzania poleceń. Przy okazji, oto film demonstracyjny bota: https://youtu.be/1xMXEq_Svj8

— Zostałeś zwycięzcą hackatonu. Jak dalej potoczyły się wydarzenia?

— Dowiedzieliśmy się jednej bardzo przydatnej rzeczy – jak się okazało, sami pozostaliśmy właścicielami praw autorskich do bota, co mnie nawet nieco zaskoczyło. Myślałem, że każdy hackaton to, z grubsza rzecz biorąc, wymiana pomysłu zrodzonego w zespołowej burzy mózgów na wartościową nagrodę. Ale przeczytałem ponownie umowę i zasady uczestnictwa i nic takiego nie znalazłem. Zatem innym uczestnikom hackatonu, którzy martwią się koniecznością przeniesienia praw do swoich projektów, chcę powiedzieć, że nie, wcale nie jest prawdą, że będziecie do tego zmuszeni. Podczas hackatonu VirusHack możliwe było nawet przechowywanie kodu w prywatnych repozytoriach i po prostu zapewnienie tymczasowego dostępu jednemu z członków jury do podjęcia decyzji. W każdym razie przed hackatonem zawsze zapoznaj się z dokumentacją uczestnictwa, aby w przyszłości nie było niespodzianek.

Nawiasem mówiąc, zdecydowaliśmy się pozostawić nasz kod otwarty: https://github.com/airaketa/egdbag-bot. „Widelec” dla Twojego zdrowia.
Po hackatonie z własnej inicjatywy przygotowaliśmy port bota dla API Telegramu na wypadek drugiej fali pandemii koronowirusa. Ale lepiej, aby ten projekt pozostał na zawsze w prywatnych repozytoriach.

Teraz zastanawiamy się nad dostosowaniem funkcjonalności bota do aktualnej sytuacji, kiedy został zniesiony reżim samoizolacji. Na przykład, aby wyszukać centra fitness, restauracje i inne obiekty miejskie. Członkowie zespołu ICQ New nie są przeciwni „hostowaniu” zaktualizowanej wersji bota w swoich obiektach.

— Czy programiści powinni brać udział w hackatonach? Jak myślisz, co mogą dać uczestnikom i zwycięzcom?

- Zdecydowanie warto. Ukończenie zastosowanego zadania od zera w ciągu kilku dni jest fajnym doświadczeniem, co można następnie omówić z ekspertami. Dodatkowo jest to okazja do sprawdzenia swoich umiejętności i „umiejętności” członków zespołu podczas prawdziwego dwu-trzydniowego maratonu. To także networking. W każdej dziedzinie, szczególnie w IT, wydaje mi się, że jest to bardzo ważny aspekt rozwoju. Możesz znaleźć nowe osoby, które są dla Ciebie przydatne, komunikować się z nimi i przeglądać ich projekty. Dodatkowo, zajmując się wyłącznie rozwojem w swoim głównym miejscu pracy, możesz spróbować swoich sił na hackatonie w nowej roli, np. „właściciel produktu”, „lider zespołu” lub innej roli. Ale dla zwycięzcy jest to szansa na udaną współpracę z czołowymi firmami, pomoc w promowaniu ich pomysłu. W wielu przypadkach z hackatonów wyrosły projekty na dużą skalę.

— Nabór wniosków na nowy hackaton mający na celu rozwiązanie problemów miasta rozpocznie się w sierpniu „Liderzy Transformacji Cyfrowej”. Zwycięzcy otrzymają pokaźną nagrodę. Czy Twój zespół weźmie w nim udział? Jak się przygotujesz? Jeśli wygrasz, na co przeznaczysz nagrodę pieniężną?

— Dla mnie, podobnie jak dla reszty zespołu, głównym celem udziału w hackatonie jest możliwość opracowania prototypu produktu w interesującym nas obszarze.
Zdobywamy doświadczenie w kolektywnym rozwoju i dobry projekt w swoim portfolio, a przed nami ciekawe i złożone zadania. Oczywiście, że chcemy wygrać. Jednakże nie naszym celem jest wyłącznie otrzymanie nagrody pieniężnej. Jeśli projekt przyniesie korzyści, będzie to nasze zwycięstwo.

Aby przygotować się do zawodów „Liderzy Transformacji Cyfrowej” postaramy się powiększyć zespół: w poprzednim hackatonie było nas trzech i szczerze mówiąc, rąk było po prostu za mało. Dodatkowo rozwiążemy problem z zainstalowanym oprogramowaniem tak, aby wszyscy członkowie zespołu mieli wymagany zestaw programów przed rozpoczęciem zawodów (jak pokazało doświadczenie, ogromną ilość czasu poświęca się na rozwiązywanie problemów z synchronizacją oprogramowania).

Jeśli uda nam się jeszcze zdobyć nagrodę, to wydamy pieniądze na PS5 i przez kilka tygodni zostaniemy w domu. Żart! Oczywiście rozumiemy, że nagroda pieniężna to przede wszystkim pomoc finansowa na dalszy rozwój projektu. Hosting, maszyny wirtualne i tak dalej stanowią część tego, na co zostaną rozdzielone finanse.

Źródło: www.habr.com

Dodaj komentarz