24 godzinny maraton siedzenia przed komputerem, pełen tworzenia kodu, konfliktów w repozytorium, gaszenia pożarów, jedzenia pizzy i picia napojów kofeinowych. Brzmi strasznie, nieprawdaż? Dlaczego więc cały czas pojawiają się nowe hackathony, na które zapisuje się mnóstwo chętnych? Co przyciąga setki programistów do pracy za darmo i po godzinach? I dlaczego warto brać w nich udział?
Zacznijmy od wyjaśnienia czym jest hackathon. Jest to trwający zwykle 24 godziny turniej programistyczny, podczas którego drużyny tworzą aplikacje rozwiązujące problem związany z tematyką hackathonu. Na koniec turnieju każda drużyna prezentuje swój pomysł przed jurorami i pozostałymi uczestnikami, po czym najlepsze drużyny wyłonione przez jury zostają nagrodzone.
Co prawda byłem dopiero na 2 wydarzeniach tego typu, jednak chciałbym podzielić się z Wami moimi spostrzeżeniami na ich temat. Uważam, że warto przynajmniej spróbować swoich sił w hackathonie. Dlaczego?
Czy na pewno chcemy spędzić kilka lat swojego życia programując?
Chyba każdy z nas zadawał sobie to pytanie lub robi to nadal. Perspektywa etatowej, 8 godzinnej pracy nad kodem czasami może przerażać. Hackathon w skuteczny sposób pozwala zwalidować nasze plany dalszego podążania drogą programisty.
Przed pierwszym hackathonem miałem spore wątpliwości dotyczące wyboru zawodu związnego z programowaniem. Obawiałem się, że kodowanie przez tyle godzin w ciągu dnia może mnie po prostu męczyć. Na hackathonie jednak szybko przekonałem się, że przy ciekawym projekcie upływających godzin nawet nie czuć. Jest to świetna okazja by sprawdzić jakie emocje budzi w nas tworzenie nowych funkcjonalności, poczuć dreszcz emocji przed końcowym terminem oddania aplikacji i załagodzić pierwsze konflikty powstałe w drużynie.
Praca w grupie
Tworzenie aplikacji wymyślonej podczas grupowej burzy mózgów, praca „komputer w komputer” i werbalna komunikacja podczas kodowania mają pewien urok, którego niestety próżno szukać w rozmowach na slacku i pracy zdalnej, a tym bardziej kodując samemu. Praca w grupie na tego typu imprezach może również nauczyć zarządzania zespołem i uświadomićjak ważne jest przestrzeganie ustalonych wcześniej zasad i protokołu komunikacyjnego.
Zdecydowanie nie wyobrażam sobie kodowania na hackathonie samemu, według mnie niszczy to urok takich imprez 😉
Możliwości nauki
Hackathon to idealne miejsce na naukę programowania. Tworzenie zaplanowanej przez nas aplikacji razem z drużyną jest idealnym poligonem doświadczalnym do zdobywania wiedzy. Podczas wspólnego programowania członkowie zespołu dzielą się wzajemnie wiedzą, co znacząco przyspiesza proces nauki. Ważnym źródłem wiedzy, z którego możemy czerpać są również mentorzy. Dużo bardziej doświadczeni developerzy bardzo chętnie dzielą się wiadomościami zdobytymi podczas budowy wielu aplikacji. Warto skorzystać z takiej okazji i próbować nauczyć się od nich jak najwięcej.
Człowiek uczy się na także na błędach. Pierwszy turniej na jakim byłem skutecznie uświadomił mi jak ważne jest dokładne planowanie, podział obowiązków i określenie ram projektu. Przy drugim podejściu z drużyną zdecydowaliśmy się na wdrożenie metodyk, które poznaliśmy na zajęciach z zarządzania projektami i inżynierii oprogramowania.
Prezentacje
Dla mnie hackathon był również okazją by przekonać się jak fajne mogą być programistyczne wystąpienia publiczne. Podczas pierwszego hackathonu byłem niejako zmuszony, aby przedstawić nasz pomysł. Mimo wstępnej niechęci, od pierwszej chwili na środku „sceny” wystąpienia tego typu bardzo przypadły mi do gustu i teraz z przyjemnością korzystam z każdej okazji przeprowadzenia prezentacji czy podzielnia się wiedzą publicznie. Uważam, że w dzisiejszych nastawionych na biznes i sprzedaż czasach, umiejętność prezentowania jest kluczowa, a hackathon może być dobrym „safe place” dla początkujących.
Networking i niepowtarzalny klimat
Nie wolno zapominać, że programista to wbrew pozorom istota społeczna 😉
Hackathony są świetnym miejscem by poznawać nowych znajomych o podobnych zainteresowaniach, z którymi można wymienić się pomysłami i spostrzeżeniami. Wszyscy kreatywni ludzie ramię w ramię pracujący nad swoimi projektami tworzą wspaniały i niepowtarzalny klimat. Wszyscy uśmiechają się i wzajemnie motywują do pracy zapominając o zmęczeniu. Pomimo hałasu i pewnego nieładu, klimat ten jest dość niepowtarzalny i ma swój urok, który warto poczuć.
Bo kochamy tworzyć
Gdybym miał wskazać jedną rzecz, która przyciągnęła mnie do programowania to byłaby to niemalże nieograniczona możliwość tworzenia. Bardzo często praca w korporacji czy wykonywanie projektów studenckich usypia naszą kreatywność, ciągle realizujemy projekty, które robiły setki osób przed nami. Hackathon pozwala wybić się z tej rutyny. Pomysłowość i pozytywnie rozumiana zuchwałość uczestników nierzadko zaskakuje i sprawia, że po prostu głupio byłoby wyjść na środek i przedstawić pomysł, który nie przyspiesza bicia serca 😉 Oczywiście, w 24h nie uda się stworzyć aplikacji eliminującej stołeczne korki czy niwelującej problem bezdomności, jednak czy nie to jest dobre miejsce by zacząć?
WawCode 2018
Możecie się zastanawiać od czego zacząć przygodę z hackathonami. Ja zacząłem od WawCode, na którym byłem już 2 raz. Chciałbym opowiedzieć Wam co nieco o jego 7 edycji, która miała miejsce w ostatni weekend 13-14 października w strefie coworkingowej Startberry. Disclaimer! Nie jestem w żaden sposób związany z organizacją tego hackathonu 😉
Co robiliśmy na hackathonie?
Na WawCode wybraliśmy się 5 osobowym zespołem. Celem jaki obraliśmy, było stworzenie aplikacji pozwalającej na wyszukiwanie barów i pubów w najbliższej okolicy filtrując je po cenach i oferowanych udogodnieniach. Efekty naszej pracy oraz koncepcję apki możecie zobaczyć w prezentacji, którą przedstawiliśmy na koniec imprezy:
Jak było?
Zdecydowanie muszę pochwalić organizatorów 7 edycji. Na imprezie nie było widać żadnych poważnych niedociągnięć, wszystkie aspekty organizacyjne zostały dobrze przemyślane. Podczas imprezy dało się odczuć klimat, który zdecydowanie uprzyjemniał pracę nad kodem 🙂
Na szczególną pochwałę zasługują mentorzy. Wydaje mi się, że programiści każdej z popularniejszych technologii mogli znaleźć mentora specjalizującego się w językach, z których korzystają. Mentorzy byli również bardzo chętni do pomocy. Razem z nami starali się walidować pomysły, zwrócić uwagę na funkcje, które warto porzucić, a które warto bardziej rozwinąć.
Warto zwrócić uwagę również na postawę jury. Część z osób nas oceniających przeszło po wszystkich drużynach w celu poznania naszych umiejętności i doświadczeń programistycznych. Nie było sytuacji, aby seniorzy byli oceniani jedną miarą z początkującymi studentami.
Na wysokim poziomie były również zaprogramowane aplikacje oraz prezentacje uczestników.
Wszystkim współuczestnikom, mentorom, jurorom i organizatorem dziękuję za ten hackathon, a wygranym gratuluję zwycięstwa! 😉
Podsumowanie
Jestem bardzo zadowolony z obu hackathonów, w których brałem udział. Mnóstwo wiedzy jaką udało się zdobyć, miło spędzony czas i poznani ludzie rekompensują zmęczenie i nieprzespane godziny 😉 Udział w tego typu imprezach polecam każdemu kto jest programistą lub chce nim zostać.
A już w najbliższy weekend wybieramy się na kolejny hackathon… Trzymajcie kciuki! 😉