Jak jsem (nena)psal bakalářku

Jeden né zrovna veselý příběh jednoho studenta …

Jako každý třeťák mě čekala bakalářská práce. Abych pravdu řekl, určitým způsobem jsem se na to i těšil, protože jsem věděl, že budu dělat něco, co mě baví, co mám jako koníček – a ještě za to dostanu titul.

Předložil jsem mému vedoucímu práce návrh tématu, ten mi jej naprosto celý zkritizoval a navrhl mi vlastní. Kývl jsem mu na to, neboť se mi i toto téma líbilo.

Z mnohých důvodů však zde nemohu být konkrétní a zmínit přesné zadání a téma práce. Stejně tak nemohu zmiňovat moc implementačních detailů. Co však říci mohu je fakt, že se mělo jednat o webovou aplikaci vytvořenou v Javě.

Téma jak z pohádky

To byly koneckonců mé první dva požadavky – webová aplikace a to v Javě. Jako další jsem si dal za cíl, použít v práci i něco víc. V žádném případě jsem se nechtěl zařadit do skupiny těch, co opouští katedru informatiky s bakalářským titulem a tématem jako například „Mobilní aplikace – osobní trenér“. Dokonce, někoho, jehož téma zní „Implementace elektronického obchodu v PHP“ bych označil za ostudu katedry.

Ale o to teď nejde. Chtěl jsem tím naznačit, že u mé bakalářské práce bych se nespokojil s běžnými programátorskými nástroji. Mé téma proto obsahovalo nastudování si určité funkcionality (API) (když už ne téma z oblasti teoretické informatiky), se kterým se člověk moc často nesetká. A na znalosti tohoto API pak měla být vystavěna celá práce.

Samozřejmostí měla být použitelnost aplikace. Ihned po dokončení má být práce nasazena do provozu a věřím, že bude určitě používána.

Téma tedy přesně padlo do mého vzorce pro ideální bakalářku. Povím vám nyní, jaká byla má představa průběhu roku – její implementace.

„Jo, bezva, super, perfektní. Už se těším, až se do toho pustím.“

Když jsem práci dostal zadanou, předpokládal jsem, že do konce zimního semestru, nejpozději začátkem ledna, budu mít hotovou core knihovnu (tedy jednoduchou aplikaci implementující nastudované API). Dle mých odhadů a vzhledem k rozvrhu jsem si plánoval pracovat celkem volným tempem a poslední rok studia si užívat.

Letní semestr jsem počítal, že budu pracovat na webové aplikaci a vzhledem k dostatečnému množství času, i chodit do práce. Odevzdání práce jsem předpokládal s asi měsíční rezervou a poté se už jen 5-6 týdnů připravovat na státnice.

Normy plníme na 118%. Mínus 118%

Když jsem pracoval na zápočtovém projektu do předmětu Dovednosti vývojáře, ukázalo se, že podtitulem onoho projektu mohlo vcelku reálně být „menší databázová aplikace většího rozsahu“. Říkal jsem si: „Tak fajn, databázi pudu potřebovat i v bakalářce, tak to rovnou udělám jako webovou aplikaci a pak to jen upravím a budu mít ušetřenu půlku práce na bakalářce“. Dával jsem si proto na tomto projektu docela záležet.

Bohužel – můj návrh databázového frameworku nebyl úplně ideální a tak mi bylo jasné, že pro účely bakalářské práce budu muset vytvořit kompletně nový. Stejně tak, vzhledem k tomu, že jsem měl drobné komplikace s používaným webovým frameworkem, nabral jsem neskutečné zpoždění a tak i tu webovou aplikaci jsem solidně odflákl („bakalářka se nějak poddá, hlavně ať mám DOVY“).

Ve výsledku jsem tak na mé bakalářské práci začal pracovat až někdy v zápočtovém týdnu. Asi není třeba dodávat, že slovo „užívat si“ pro mě bylo vzdálené asi jako Paris Hilton a cena Grammy.

„Dobře, dodělám to  a přijdu Vám to ukázat.“ Od té doby mě vedoucí viděl jen na chodbě

Po zkouškách, které jsem nakonec nějak zázračně udělal (znáte to, čím méně se učíte, tím lépe to dopadá), jsem pokračoval v práci. Vedoucí mi mou core knihovnu opět zkritizoval slovy: „No, jako jo, pěkný, super, ale když …“. Řekl jsem mu, bylo to koncem ledna, že to dodělám, udělám základ webové aplikace a přijdu mu to ukázat. To se nakonec nikdy nestalo.

V letním semestru jsem měl poněkud nepraktický rozvrh – do školy jsem musel 3x až 4x do týdne (což je při 3 předmětech opravdu frustrující). Takže přes týden jsem byl téměř nepoužitelný. Sotva začalo pondělí, už byl pátek a já zjišťoval, že jsem neudělal téměř nic.

Web snadno a rychle!

Koncem března, se na mém facebooku objevil příspěvek, kde zmiňuji, že s dvou a půl měsíčním zpožděním mám konečně hotovou core knihovnu. Popisoval jsem ji slovy: „konzolová aplikace spustitelná pomocí sedmiřádkového příkazu o 8 parametrech, která zdá se i funguje“. Bohužel to poslední se mi podařilo o pár týdnů později vyvrátit.

V rychlosti jsem implementoval databázi a vrhl se na webovou aplikaci. Vzhledem k tomu, že jsem webovou aplikaci v Javě nikdy pořádně nedělal (a když už, tak buďto jen nějakou rychlovku – jako výše zmíněný projekt do DOVY), šlo to pomalu a nefungovalo to. Začal jsem zjišťovat, že webový framework, který používám, obsahuje opravdu spoustu chyb. Ty mě postupně tlačily do kouta –  a problémy jsem stále více a více řešil metodou: „Tak dobře, hold se bez toho uživatel bude muset obejít. Nemám čas vymýšlet, jak to udělat jinak, aby to mohlo fungovat.“.

Ale nevzdal jsem se. Nedokázal jsem si představit, že já, upocený a unavený potkám spolužáka vítězoslavně mávajícího bakalářským diplomem, na kterém je napsáno kdesi v rohu: „Implementace internetového obchodu v PHP“.

Pracoval jsem na 180%, spánek pro mě znamenalo jít si na dvě hodinky lehnout po snídani a hrnku silné kávy. (Dokážete si představit, jak jsem vypadal, když jsem zjistil, že nám káva došla?) Jakmile jsem opět narazil na něco, co nefunguje, přešel jsem do módu Hulk a nadával na celej svět.

„Dobré ráno, jdu spát“

Do toho všeho mi docházela RAM, takže počítač se začal víc než nepříjemně sekat. Pak ještě v lampičce praskla žárovka, začal blbnout mobil a asi týden jsem se potýkal s bolestí zad, protože se mi zlomila počítačová židle a já si musel zvykat na máminu.

Stavy zoufalství a vzteku se střídaly asi jak nálady bejvalky v období rudého klína. Do toho všeho jsem pozoroval i zoufalé obličeje mých nejbližších, kteří jediné, co mohli, tak smutně konstatovat: „Kéž bych ti tak mohl(a) nějak pomoct …“. Bohužel, zde byl i můj vedoucí práce v koncích (a to je na celé katedře na toto téma největší – pravda, jediný – odborník).

Zpočátku jsem všem v okolí říkával: „Mám tam tak na minimálně dva měsíce práce a za 4 týdny mám odevzdávat.“. Přemýlal jsem nad tím, jestli je možné, abych to mohl stihnout. Ne. Začal jsem uvažovat o tom, že to nestihnu. Začal jsem se s touto představou smiřovat. K dobru mi mělo být, že v tom nejsem sám. Z mých kamarádů nevím asi o nikom, kdo by šel v řádném termínu.

A co kdyby to byla pravda?

Vedoucí práce to přijal s pochopením. Znovu objevuji, jaké to je být vyspaný, umytý a opět zjišťuji, že kolem mě jsou nějací lidé. Doháním studijní agendu (fajn zjištění, že máte za tři dny odevzdávat index).

Velmi pomalu se začínám učit na státnice. Mám na to tři týdny. To snad zvládnu. V lepším případě začnu po večerech připravovat bakalářku na změnu frameworku.

A tak mi v tuto chvíli nezbývá než doufat, že to všechno nějak vyjde. Že jak tam přijdu, tak si nevytáhnu zásobníkové automaty. A nebo II. normální formu. A že ti, co ví naprosto přesně jak se implementuje e-shop v PHP poznají hněv docenta Vychodila při otázce: „Víte vy sakra vůbec, co je to append?“.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..