Tým. Praxe. V polovině programu.

Druhý semestr mého druhého roku mi v některých ohledech poskytl ochutnávku další poloviny mých studií. Konkrétně jsem měl možnost poprvé spolupracovat v rámci týmu, kde jsme společně vyvíjeli vlastní webovou aplikaci. Osobně už mám pár let zkušeností s týmovými projekty, proto pro mě bylo téměř až uklidňující vidět některé jevy, které se s takovými projekty téměř vždy pojí.

Počáteční optimismus a nadšení. Důsledné rozdělení práce a plány. Začátek prací, kde vlastně nikdo nepracuje, protože deadline je ještě daleko. Váznoucí a neefektivní komunikace. Náhlá panika týden před termínem odevzdání. Rychlé změny v původních plánech a několikanásobné ponocování ve snaze stihnout vše včas a mít k dispozici hotový produkt. A pak také samozřejmě povinná prezentace, kdy se jedna část týmu postará o většinu prezentace, zatímco ta druhá mlčky přikyvuje.

Z těchto řádků by se mohlo zdát, že pro mě můj první školní týmový projekt nebyl příjemným zážitkem. Já bych jej spíše nazval věrným zážitkem. Své spolupracovníky si většinou vybrat nemůžeme, a tak je skutečným uměním pracovat s lidmi, kteří jsou nám k dispozici. Ne všechno jde podle plánu a ne všichni odvedou stejnou část práce. Ale důležité je se přes tyto překážky dostat a dospět k nějakému výsledku. A to se nám naštěstí povedlo.

Jak tohle všechno ale vzít v potaz jakmile dojde na hodnocení? V tomhle se mi zalíbil systém, který byl použit v mém předmětu. Celý tým dostane známku skládající se ze známek za původní návrh aplikace, samotnou aplikaci a následnou prezentaci. Toto ale ještě není konečná známka jednotlivých členů, neboť přicházejí na řadu tzv. deltas. Každý člen týmu ohodnotí procentuálně přínos ostatních členů týmu a přidá svůj komentář. Z těchto hodnocení se pak vypočítá, jestli daný člen týmu přinesl více, nebo méně hodnoty než ostatní členové. A výsledkem je, že se danému člověku upraví známka. Pokud měl tedy někdo “špatný” tým, ale sám se velice snažil, bude mít pravděpodobně o dost lepší známku než ostatní. A naopak, pokud se někdo ocitnul v dobrém týmu, ale sám se neměl chuť příliš angažovat, jeho známka tím v důsledku pravděpodobně utrpí. Osobně mi tento systém přijde dost fér.

Co se konkrétně mého týmu týče, vytvořili jsme interaktivní webovou hru trochu připomínající geocachingu. Webová aplikace vygeneruje každý den náhodné slovo a cílem registrovaných hráčů je najít dané slovo v nějaké formě v reálném světě a zachytit jej na fotografii, kterou poté nahrajou na web. Ostatní uživatelé poté hodnotí a komentují fotografie v dané soutěži a na konci dne se soutěž uzavře, všem účastníkům se přičtou body a autoři fotografií s nejvyšším hodnocením získají body navíc. Všehovšudy to není nějak extra složitá aplikace, ale měli jsme možnost prakticky si procvičit koncepty, které jsem se v rámci tohoto předmětu naučili teoreticky.
Samotnou aplikaci a příklad jednoho z vybraných slov lze najít zde:
http://mabufudyne.pythonanywhere.com/all/Flag/.

Tento týmový projekt byl ochutnávkou v tom smyslu, že mě v příštím ročníku čeká další. Tentokrát ale nebude trvat jen tři týdny, ale rovnou celý rok! A budeme v náhodně vylosovaných týmech vyvíjet skutečný software pro skutečné klienty. Ale abych pravdu řekl, nemůžu se už dočkat. Je to jedna ze dvou částí mého programu, kvůli kterým si myslím, že pro mě tato škola byla dobrou volbou. Tou druhou částí je poté povinná letní stáž mezi třetím a čtvrtým ročníkem pro studenty mého oboru (Software Engineering).

Na první pohled nemusejí tyto součásti výuky působit nějak působivě, ale jejich hlavním přínosem je to, že slouží jako úvod do reality průmyslu vývoje softwaru, který je od vysokoškolského vzdělání většinou dost vzdálen. Na vysoké škole se člověk obvykle naučí základy informačních systémů a programování, to ano, ale nenaučí se praktickým dovednostem, které se každodenně používají v softwarových firmách, do kterých pravědpodobně po dokončení studia nastoupí.

Tento výrok může z mé strany znít odvážně, ale jsem přesvědčen o jeho pravdivosti už jen proto, že během tohoto léta právě pracuji jako stážista v jedné takové firmě. A jak jsem rychle zjistil, musím se naučit velkému množství věcí, které jsme ve škole doposud neprobírali. Je to hlavně způsobeno tím, že průmysl vývoje softwaru se mění neuvěřitelně rychlým tempem, které vysokoškolské programy nestíhají držet. Proto tedy kladu takový důraz na praktické vstupy v jinak dost teoreticky zaměřeném studiu. Nejcennější dovednost, kterou jsem doposud vysokoškolským studiem získal, je určitě schopnost rychle se učit novým věcem a vstřebat ty nejdůležitější poznatky. O tom je vlastně celý život vývojáře softwaru. O celoživotním vzdělávání.

Po zdánlivě nekonečném zkouškovém období jsem tedy konečně úspěšně završil svůj druhý ročník na University of Glasgow. Dostal jsem se tak do poloviny svého studijního programu. Kdybych měl použít metafory, řekl bych, že je to dosažení menšího vrcholku před začátkem výstupu na nejvyšší horu pohoří. Ale když už jsem tady, proč se na chvíli nezastavit a nezamyslet se nad cestou, kterou jsem absolvoval?

Zatímco nabírám dech a síly, přemýšlím o tom, jaký byl můj život předtím, než jsem udělal svůj první krok ve snaze zdolat tuto výzvu. Lezu už dva roky a během té doby jsem si na svůj současný životní styl zvykl do té míry, že mám trochu problém si vzpomenout, jaké to bylo předtím. A zatímco mi moje současná cesta může připadat jako ta nejobyčenější a nejvíce rutinní věc, po chvíli zamyšlení si uvědomuji, že mám neskutečné štěstí. Ne každý má v životě příležitost pokusit se o výstup na tuto horu. Ne každý má dostatek finanční a morální podpory a já mám to štěstí, že mám obojí. Pokud tedy v této fázi něco cítím, tak je to především vděčnost.

Napiji se, dám si batoh na záda a vyrážím vstříc nejvyššímu vrcholku. Druhá polovina mé cesty bude v mnoha ohledech těžší, ale užiji si ji a jsem si jistý, že ten výhled z nejvyššího vrcholku bude určitě stát za to.