Cała noc programowania, innowacyjne rozwiązania, a często podróż do innego miasta czy kraju. Co tak naprawdę daje uczestnikom udział w hackathonach i czy warto się w nie angażować?
Na te i inne pytania odpowiada Marcin Matłacz, Analityk Danych w Centrum Kompetencyjnym Business Intelligence Sii, którego zespół tej jesieni zdobył 3. miejsce podczas Hackathonu Bizreach w Tokio!
Jakie jest Twoje dotychczasowe doświadczenie w udziale w hackathonach? Czy Bizreach w Tokio to pierwszy Twój hackathon?
M.M.: Jak dotąd wziąłem udział w 27 hackathonach i wygrałem 10 z nich. Biorąc udział w hackathonach odwiedziłem Hiszpanię, Szwajcarię, Czechy, Kanadę, USA i ostatnio Japonię. Pierwszym takim wydarzeniem, w którym wziąłem udział był KaktusHack, naprawdę pierwszy hackathon zorganizowany na Politechnice Warszawskiej przez koło EEXOR. Koło nie posiadało budżetu, więc podczas hackathonu nie było nagród, ale i tak udało się zgromadzić bardzo dużo osób, które po prostu chciały się spotkać i wspólnie poprogramować. To było naprawdę piękne wydarzenie, przyszli na nie ludzie z różnych wydziałów, a dla każdego z uczestników był to pierwszy hackathon. W związku z tym, że nie było nagród, wszyscy po prostu dobrze się bawili. Na koniec każdy z zespołów prezentował swój projekt i opowiadał w jaki sposób go zrealizował. Wiele osób z tego wydarzenia spotkałem później na innych hackathonach, jedną z nich nawet w Szwajcarii.
Skąd pomysł na udział akurat w ostatnim hackathonie w Tokio? Co skłoniło Was do tego? Czy były to nagrody, perspektywa dalekiej podróży czy może tematyka wydarzenia?
M.M.: Kolega natrafił na reklamę hackathonu BizReach przeglądając Instagrama 🙂 Zauważyliśmy, że organizator pokrywa wszystkie koszty związane z przelotem, zakwaterowaniem i wyżywieniem co było dużym plusem, a także minął już prawie rok od naszego ostatniego konkursu. Postanowiliśmy zebrać zespół i po prostu pojechać.
Kto oprócz Ciebie był członkiem Waszego zespołu? Jakie funkcje pełniły poszczególne osoby w zespole? Jak wyglądało kompletowanie zespołu – czym się kierowaliście?
M.M.: Wylecieliśmy z Polski we dwóch, dwaj programiści back-end z zawodu analityk danych i big data developer. Jeden z Warszawy, drugi z Krakowa. Na miejscu w trakcie imprezy otwierającej wydarzenie, do naszego zespołu dołączyli: programista z Hongkongu, z Austin w Teksasie i programistka z Los Angeles z Kalifornii. Jak tylko zaczęliśmy rozmawiać zobaczyliśmy, że razem mamy wszystkie niezbędne skille i dobrze się dogadujemy.
Sam pełnisz funkcję Analityka Danych – hackathony zazwyczaj kojarzone są z zespołami ściśle programistycznymi. Jaka jest funkcja analityka podczas takiego wydarzenia?
M.M.: Analityk Danych to tylko mój tytuł zawodowy. Na hackathonach pracowałem w bardzo wielu zupełnie różnych technologiach. Pisałem back-end, front-end, aplikacje mobilne. Pisałem w Pythonie, Javie, JavaScript, TypeScript, Flasku, Falconie, Django, Node.js, JavaFX, Springu, jQuery, Backbone.js, Ember.js, Angular, React.js, Vue.js. Przygotowywałem analizy danych i budowałem modele machine learning. Jako analityk zająłem się analizą dostępnych danych i przygotowaniem funkcji obliczających ustalone przez nas metryki, a jako programista implementowałem część endpointów w API.
Twój zespół mierzył się z 38 innymi teamami, wytypowanymi spośród 3800 zgłoszeń. Jakie kryteria trzeba było spełnić, żeby zostać zakwalifikowanym na listę szczęśliwców?
M.M.: Pierwszym etapem było wysłanie swojego CV i wypełnienie ankiety. Kolejny etap to dwa zadania programistyczne w dowolnie wybranym języku programowania. Były to zadania algorytmiczne polegające na zaimplementowaniu algorytmu rozwiązującego zadany problem w sposób optymalny pod względem złożoności czasowej i pamięciowej.
Na czym polegało zadanie? Co było dla Was najtrudniejsze?
M.M.: Wyzwanie, przed którym postawili nas organizatorzy, polegało na zwizualizowaniu umiejętności programisty na podstawie profilu na GitHubie. Nasze prace rozpoczęliśmy od zdefiniowania problemu i określenia jakie są cechy dobrego / złego programisty. Wypisaliśmy listę funkcjonalności, które moglibyśmy zaimplementować i podzieliliśmy na trzy grupy. Pierwsza składała się z tych niezbędnych, druga z tych które fajnie byłoby mieć, ale jeśli zabraknie nam czasu to możemy je pominąć, zaś trzecia grupa to wszystkie odrzucone funkcjonalności, które były zbyt skomplikowane, żeby zaimplementować je w 48h lub były zbyt trudne do opisanie językiem technicznym. Następnym etapem było podzielenie zadań i rozpoczęcie prac programistycznych/analitycznych.
Finalnie zajęliście zaszczytne 3. miejsce – gratulacje! 🙂 Jak tego dokonaliście?
M.M.: Dobrym rozplanowaniem pracy i spokojem 🙂 W trakcie pierwszego dnia zaimplementowaliśmy funkcjonalności z pierwszej grupy, dzięki temu nie musieliśmy się stresować bo wiedzieliśmy że mamy już nasze MVP (Minimum Viable Product). Wieczór postanowiliśmy spędzić na wspólnym wyjściu na miasto żeby lepiej się poznać i zobaczyć ciekawe miejsca w Tokio. Dzień drugi hackathonu spędziliśmy na zaimplementowaniu kilku dodatkowych metryk i dużej funkcjonalności z drugiej grupy, a także przygotowaniu prezentacji. Głównymi cechami naszego projektu były metryki pokazujące jak dobrze programista radzi sobie z rozwiązywaniem pull requestów, jaka jest jakość jego komentarzy i czy są pomocne a także jakiej jakości jest pisany przez niego kod, czy testuje swój kod i jak sobie radzi z zarządzaniem publicznymi repozytoriami.
Czy uważasz że do takiego hackathonu można się przygotować? Jeśli tak, to jak to zrobić?
M.M.: Do pewnego stopnia pewnie można, ale co to za zabawa 🙂 Na pewno warto przeczytać dokładnie opis wydarzenia. Myślę że to już wystarczy żeby w głowie powstawały możliwe rozwiązania z których kilka może być warte zaimplementowania. Hackathony to święto programowania i możliwość poznania nowych ludzi. Jeżeli przyjmie się założenie że nie jedzie się tam dla nagrody to przygotowywanie się nie ma sensu.
Co wartościowego daje udział w takim wydarzeniu? Oczywiście oprócz nagrody, w przypadku wygranej 🙂
M.M.: Jak już wspomniałem, możliwość poznania ciekawych ludzi z całego świata! Możliwość zobaczenia nowych miejsc, zdobycia wiedzy o nowych technologiach – na hackathonach często odbywają się warsztaty organizowane przez firmy sponsorujące wydarzenia.
Co mógłbyś doradzić osobom, które chciałyby wziąć udział w swoim pierwszym hackathonie?
M.M.: Jest wiele stron, na których można znaleźć ciekawy hackathon takich jak ChallengeRocket, MLH.io, a także grupy hackathon hackers na Facebooku. Osobom, które chcą rozpocząć radzę, żeby wybrały się jak najszybciej! 🙂
Zostaw komentarz