Hackathon. Jak się przygotować?

Pojęcie „hackathon” zna większość osób pasjonujących się programowaniem. Tego rodzaju wydarzenie to doskonała okazja, żeby sprawdzić swoją kreatywność, a także umiejętności. Wielogodzinny maraton tworzenia aplikacji na określony temat pozwala skutecznie skonfrontować własne pomysły z innymi oraz nawiązać nowe kontakty. Podpowiadamy, w jaki sposób efektywnie przygotować się do hackathonu.

Hackathony organizuje coraz więcej firm i instytucji. Nawet polski rząd po raz pierwszy w historii zrealizował takie wydarzenie 24 września br. w Warszawie. Tego rodzaju maratony programistyczne odbywają się już regularnie na całym świecie, a liczba ich uczestników wciąż rośnie. Coraz więcej miłośników programowania chce spróbować swoich sił nie tylko w rywalizacji z innymi zespołami, ale również z własną słabością.

Jak podaje Oxford Dictionaries, termin „hackathon” powstał z połączenia dwóch słów: „hack” i „marathon”. Te dwa określenia najlepiej oddają ideę hackathonu. Po raz pierwszy zaczęto o nim mówić w 1999 roku w Calgary, a potem hackathony zaczęły być organizowane na całym świecie, docierając również do Polski. Szybko pojawiły się różnego rodzaju maratony programowania, na przykład dla określonej platformy, języka, API, grupy demograficznej, celu, firmowe, a nawet dla wyznawców konkretnej religii. Przykładem tego ostatniego hackathonu może być „Code for the Kingom” – pierwszy w Polsce chrześcijański maraton programowania, który odbył się w maju br. na Uniwersytecie Śląskim w Katowicach. Bez względu jednak na charakter hackathonu, uczestnicy powinni dobrze przygotować się do takiej imprezy. Jak to zrobić najlepiej?

Planuj, planuj, planuj!

Gdy już zdecydujemy się wziąć udział w maratonie programowania, warto raz jeszcze przeanalizować informacje na temat danego hackathonu. Należy nie tylko zapoznać się z opisem wydarzenia, ale przede wszystkim z jego regulaminem oraz agendą. Kluczowe są tutaj takie informacje, jak czas trwania hackathonu, tematyka, technologie oraz ilość osób w zespole. Już na tym etapie dobrze jest przygotować plan działania. Najlepiej łączyć tematykę programistycznego maratonu z naszymi zainteresowaniami, to daje najlepsze efekty. Powinniśmy z góry ustalić, czy nastawiamy się przede wszystkim na wygraną, czy na dobrą zabawę (oczywiście jedno drugiemu nie przeszkadza). Należy zastanowić się, czy nasz projekt może rzeczywiście odnieść sukces. Dobrze jest mieć także w zanadrzu dodatkowy, alternatywny pomysł projektu, jeśli będzie problem ze skompletowaniem odpowiedniego zespołu (o tym piszemy poniżej). W każdym razie jeszcze przed rozpoczęciem hackathonu warto wiedzieć, co chcemy zrobić i jak to mniej więcej będzie wyglądało. Konieczne jest także dokładne sprawdzenie, czego będziemy potrzebowali, żeby osiągnąć nasz cel. Dobrze jest spisać te wszystkie informacje (kwestie związane z projektowaniem, technologiami, marketingiem) i umieścić je na przykład w Google Docs. W ten sposób wszyscy członkowie zespołu będą mieli łatwy dostęp do tej specyfikacji.

Zbuduj zespół

Kolejna ważna kwestia to zbudowanie odpowiedniego zespołu, z którym będziemy mogli zrealizować nasz projekt w czasie hackathonu. Do wyboru mamy kilka rozwiązań. Jeśli mamy szczęście, jeszcze przed maratonem skompletujemy cały zespół i rozdzielimy zadania pomiędzy poszczególnymi współpracownikami. Nawet, jeśli brakuje nam kilku osób, możemy porozdzielać poszczególne zadania pomiędzy tych członków, którzy już są częścią naszej ekipy, starając się jak najlepiej zastąpić braki osobowe. Nie jest to łatwe, ponieważ niektórzy członkowie zespołu mogą być zmuszeni wykonywać zadania, w których nie są biegli. Dlatego nierzadko lepszym rozwiązaniem jest zaproszenie do współpracy osób, które nie dołączyły jeszcze do żadnego zespołu już w czasie hackathonu (na początku imprezy najczęściej znajdziemy takie osoby). Można również próbować namówić do pomocy uczestników, którzy już są członkami innego zespołu (najczęściej zgadzają się na to designerzy w zamian za kawę lub przekąskę). Niektórzy uczestnicy szukają pomocy również u znajomych, którzy pozostają w domu w czasie hackathonu i są gotowi wspierać projektantów zdalnie. Należy podkreślić, że każdy członek zespołu powinien mieć przydzielone konkretne zadania. To znacznie przyspieszy i usprawni pracę.

Przygotuj narzędzia

Bardzo istotne w procesie przygotowań jest skompletowanie odpowiednich narzędzi, które nie tylko będą niezbędne do realizacji danego projektu, ale również takich, które pozwalają przyspieszyć pracę. Czas umyka błyskawicznie na hackathonie i to często jest największy problem. Oczywiście trzeba sprawdzić najpierw, jakie narzędzia zapewnia organizator, żeby niepotrzebnie nie dublować urządzeń i oprogramowania. Oprócz notebooków i myszek, warto zabrać ze sobą dodatkowe zasilacze i baterie, przygotować zdalne repozytorium (na przykład GitHub) i narzędzia do zarządzania zadaniami (na przykład Todoist) oraz zapewnić odpowiednie narzędzia komunikacji (na przykład chat na Facebooku, wspólny folder na Dropboxie itp.).

Ustal plan pracy

Precyzyjnie zaplanowanie pracy pozwala znacznie ją przyspieszyć i zracjonalizować. Jednak oprócz rozdzielenia poszczególnych zadań, warto także ustalić tempo pracy oraz zaplanować przerwy na odpoczynek, a nawet krótkie drzemki. Najlepiej realizować zadania w kilkugodzinnych cyklach, a po każdym z nich podsumowywać, co już udało się zrobić lub jakie problemy się pojawiły. Nie można także zapominać o przygotowaniu wygodnego ubrania i obuwia (najlepiej również na zmianę).

Każdy hackathon, jako że jest wielogodzinnym maratonem, to duże wyzwanie dla uczestników, któremu trzeba sprostać pod presją czasu. Nikt nie jest w stanie wszystkiego przewidzieć. Dobre przygotowanie do takiego wydarzenia pozwala jednak ograniczyć pomyłki i usprawnić pracę, a w konsekwencji umożliwia skupienie się tylko na realizowanym projekcie.