28 hodín v práci

Dnes som sa rozhodol napísať o skúsenosti z môjho prvého hackathonu. Bol už dávnejšie, no nedávno mi prišlo tričko ako odmena, čo mi ho pripomenulo.

Niektorí z vás sa iste čudujú, čo to ten hackathon je a tak vám ušetrím čas googlenia. Dá sa povedať, že je to súťaž vo vývoji softvéru na nejakú tému. Súťaží sa vo viacčlenných tímoch a každý tím si vymyslí nejaký projekt, na ktorom potom intenzívne pracuje vo vymedzenom čase. Zväčša to trvá 24 h alebo celý víkend. Po uplynutí času sa odprezentujú projekty, komisia ich ohodnotí a vyberie víťazov. Dôležitý aspekt hackathonu je intenzívna práca. Ak je to na 24 h, tak sa ide bez spánku, maximálne tak cesta na WC a vyzdvihnúť donášku pizze. Bližšie to celé priblížim ďalej v článku.

Ako sa rodila téma na projekt

Začiatkom roka nám vo firme oznámili, že 23. januára bude celo-firemný hackathon - Oath Hack Day. Celo-firemný v našej firme znamená celosvetový - od Taipei až po Kaliforniu. Cieľom bolo vytvoriť niečo zaujímavé a inovatívne čo by pomohlo firme. Niekoľko ľudí z nášho tímu v Londýne prejavilo záujem a mali sme tím - Hackstreet Boys :D Už bolo len potrebné vymyslieť zaujímavú tému na projekt. No ako dni ubiehali a Hack Day sa blížil, každý z tímu bol (ako vždy) pohltený každodennou prácou a témy na projekt nebolo.

V predvečer 22. januára sme si dali krátky hodinový plánovací míting, no neviem, či sa vtedy už každý videl doma, ale nejako nás neosvietilo. Hackathon mal oficiálny začiatok o 10 ráno na ďalší deň a tak, že sa streneme o hodinku skôr a do 10 niečo vymyslíme.

Nastal večer, nastalo ráno, deň prvý. O 9 neprišiel nikto okrem mňa. O 10 sme sa ako tak zišli a začali vymýšľať, aký projekt by sme mohli robiť. Jeden člen tímu (môj šéf) stále chýbal a zdá sa mi, že ostatní sme sa spoliehali, že keď príde, tak nám zázračne pomôže vymyslieť nápad na projekt, lebo zatiaľ nám to akosi nešlo.

Prišiel o 11, no očakávania sa nenaplnili. Naša bezradnosť pokračovala. Stále sa nám nedarilo vymyslieť vhodný projekt, ktorý by nás nadchol a zdal sa zaujímavý aj z pohľadu hodnotiacej komisie. Dokonca sme sa po 2 hodinách neúspešného vymýšľania pohrávali aj s myšlienkou sa na to celé vybodnúť a vrátiť sa k našej každodennej práci. Avšak vydržali sme a po 4 hodinách od začiatku Hackathonu sme mali nápad, ktorý sa celému tímu pozdával.

Keď som ráno odchádzal z domu, napadlo mi zobrať hlasových asistentov - Amazon Alexa a Google Home. To sú také malé krabičky, ktoré ľudia majú doma a dokážu odpovedať na otázky, čítať správy, pomáhať pri varení a pod. Niečo ako Siri, ale keď to má človek doma vždy zapnuté, tak to má širšie využitie a je to pohodlnejšie na používanie. Ja ich mám doma skôr iba ako hračky na vývoj a tak som ich zobral s vidinou, že sa môžu zísť. A nakoniec sa to ukázalo kľúčové pre náš projekt.

https://www.tomsguide.com/us/google-home-mini-vs-echo-dot,review-4750.html

Rozhodli sme sa pre vývoj aplikácie alebo lepšie povedané bota pre Google Home, resp. konkrétnejšie pre Google Assistant, ktorý je v pozadí Google Home a je aj na Androide. Tento nápad nás zaujal tým, že hlasoví asistenti teraz celkom letia (aspoň v anglicky hovoriacom svete) a nikto z tímu predtým nemal skúsenosti s vývojom pre Google Assistant, čiže bolo to pre nás niečo nové. Náš bot mal vedieť čítať zhrnutie článkov z HuffPost, čo je jeden zo spravodajských portálov, ktorý vlastní naša firma. Okrem toho mal vedieť na povel poslať články do mobilu a popri tom zobraziť sponzorovaný obsah z ďalšieho systému našej firmy.

Vývoj

O druhej sme sa teda pustili do práce. Keďže nikto z nás nemal skúsenosti s vývojom pre Google Assistant, najprv sme urobili krátky prieskum a zistili, čo budeme potrebovať a potom sme si rozdelili úlohy. Dvaja sa starali o backend - službu, ktorá riešila výber článkov a pripravila zhrnutie na základe textu článku. Jeden človek sa staral o návrh konverzácií a to, ako bude užívateľ komunikovať s našim bot-om. Ja som mal na starosti implementáciu konverzácií a piaty člen to celé riadil plus zisťoval rôzne informácie, ktoré sme potrebovali.

Nejako rýchlo nastal večer a my sme stále nemali žiadnu fungujúcu časť, takže neboli viditeľné výsledky. Niektorí členovia tímu nám postupne odišli, najmä kvôli rodinným povinnostiam a po polnoci sme ostali už len dvaja. Myslím, že ani my sme si vtedy neboli celkom istí, či ostaneme do rána, no pokračovali sme.



A potom prišiel zlom. Asi okolo druhej ráno sa nám podarilo prepojiť konverzáciu s Google Assistnant a našu službu na zhrnutie článkov, čiže Google Assistant nám vedel odpovedať na otázky s použitím reálnych článkov na HuffPost. Keďže nám už fungovali reálne konverzácie, boli potrebné už len doladzovačky, ako vylepšiť prirodzenosť konverzácií, nejaké bonusové funkcie a tak. Intenzívna práca počas noci nás dvoch pohltila a už sme vôbec neuvažovali, či pôjdeme domov. Trošku nám kvôli únave klesala vnímavosť, takže sme využili párové programovanie, čiže jeden písal, druhý pozeral a kontroloval.

Backend sme programovali v jazyku Go. Nikto s ním dovtedy nemal skúsenosti, no kolegovia si ho chceli vyskúšať. Použitím JavaScriptu by sme si ušetrili kus práce a aj sme to potom viackrát oľutovali, ale keďže už bolo neskoro, tak sme sa s tým nejak popasovali.

V cieli

Keď som ráno o 8 volal môjmu šéfovi, aby prišiel nahrať prezentáciu nášho projektu, neveril vlastným ušiam, že sme ešte stále v práci a že sa nám naozaj podarilo dokončiť náš projekt. Kým sme na neho čakali, tak sme bojovali s únavou hraním kalčeta. O 10 prišiel šéf a začali sme riešiť nahrávanie prezentácie. Niečo po 12 sme mali hotové nahrávky, z ktorých ďalší člen tímu vytvoril finálne prezentačné video. Pecka bola, že aj keď niektorí členovia tímu na noc odišli domov, aj tak sa potom ráno podieľali na dokončení projektu.


Po 28 hodinách v práci som sa teda pobral domov s úžasným pocitom, že ten projekt sa nám naozaj podarilo dokončiť. Bolo tomu naozaj ťažko uveriť, keď som si spomínal na to, kde sme boli po 4 hodinách, že sme nemali tému a takmer sme to zabalili. A projekt sme nie lenže dokončili, ale komisia dokonca vybrala náš projekt medzi 40 finalistov, čo sa nám podarilo ako jedinému tímu z Londýna. Z celého hackathonu som si okrem trička odniesol peckový zážitok z intenzívneho programovania, naučil som sa nové veci, napr. ako sa vyvíjajú konverzácie pre Google Assistant a prinieslo mi to zmenu od každodennej práce. A ak by pre niekoho bolo ťažko pochopiť, ako som mohol dobrovoľne pracovať viac ako 24 h, tak ono to takto vyzerá, keď niekoho baví to, čo robí.


Obľúbené príspevky z tohto blogu

New York vs Londýn (časť 2/3)

New York vs Londýn (časť 3/3)

New York vs Londýn (časť 1/3)