Sve su firme šampionske, razlika je samo u kompenzaciji.
 

  Site o šampionizmu i šampionskim firmama na hrvatskoj informatičkoj sceni.            ->Engleski site
  O šampionima i šampionizmu | Novosti i obavijesti | Šampionski manifest | Legenda o šampionima | Vaše priče | Pošaljite svoju priču | Ogledi o šampionizmu | Forum (engl.) | Ankete | Pitanje tjedna | Šampionski biseri
  Vaše priče
  Prije (Previous)
  Studentski kutak
 
 

Autor: Podaci poznati redakciji

Kvalifikacije za sampionat

Zimska je vecer, snjezna idila izvan moje sobe. Pager mi zvoni, citam poruku i na moje zaprepastenje, stize mi mail od Jasenke, sefice firme MegaBlast u kojoj sam nekoliko mjeseci prije ostavio svoje osnovne podatke buduci da sam cuo da se preorijentiraju na software. Ljudi su se, eto, bavili prodajom hardware-a pa su, buduci da im nije islo, zakljucili da ce sa softwareom zacijelo uspjeti. Koliko tesko moze biti? Svakako, moj pager je otkrio da me Jasenka jako hitno zeli cuti pa sam se, vec pomalo osamucen oskudnim studentskim budzetom ponadao nekakvom poslicu preko SC-a i brzo se nacrtao pored telefonske govornice gdje sam saznao tek da bih se trebao pojaviti na suprotnoj strani grada. Kada? Sto je prije moguce. Sada, ako nije problem.

Sutra u jutro sam se pojavio u njihovom uredu - nema smisla govoriti o njenom uredu buduci da je njen ured bio jedan ugao sobe, a preostale uglove su popunjavali tadasnja dva developera i stalaze za komponente preostale iz hardwareskih dana... Uglavnom, prica je slijedeca: radi se nekakav prezentacijski/propagandni CD koji koristi dvije tehnologije: jednu za usminkano sucelje, a druga za pristup bazi podataka (moj dio posla). U nastavku price postat ce jasno da u ovom trenutku naziv baza koristim ilustrativno, cisto da sugeriram koristenje nekakvih SQL upita, a nikako zato da bih sugerirao nekakvu strukturu baze podataka po Coddu i drugim sanjarima koji su knjige pisali o tamo nekakvim...bravama...ne, ne: kljucevima, da, kljucevima. Iz ove perspektive, opravdan razlog zasto sefica jedne softwareske tvornice kalibra MegaBlasta zove tamo nekog studenta koji je prije par mjeseci bio na polusatnom interview-u u firmi da hitno dodje raditi zaista je tesko smisliti. Kako je razgovor otkrio, radi se jednostavno o tome da je za 20 dana trebalo isporuciti proizvod koji je:

  1. vrlo grubo receno, napravljen do pola
  2. vise nema razvojnog tima u sastavu jednog covjeka - Merlina - koji je full time to radio pa onda neocekivano zapalio u jednu europsku zemlju baviti se vatrogasnim operacijama oko svojih ispita
  3. nema nikoga u MegaBlastu tko suvereno (ili bilo kako drugacije) vlada znanjem iti jedne od dviju navedenih tehnologija

Dakle, osnovna Jasenkina ideja je slijedeca:

  • naci mahera za Flash (u tome, je, naime, radjeno sucelje - osnovni uzrocnik mog kompulzivnog poremecaja cupanja kose kad cujem Macromedijino ime)
  • dati nama dvojici (drugi covjek, u tom trenutku, jos nije bio poznat) ako treba i cijeli dan da pohvatamo konce projekta kojeg je par mjeseci ranije zapoceo Merlin pisuci u dubokom uvjerenju da je kompajler u pravu kad ignorira komentare u kodu pa ih, stoga, nema smisla ni pisati, a dokumentacija nesto sto se pise ako se bas mora i to mjesec ili dva nakon sto je projekt gotov.
  • odrzati osmjeh na licu svog narucioca brzom isporukom gotovog proizvoda i dobiti The Money (tm).

Sa svojih 20-ak godina i jedva mjesec-dva prakticnog, hands-on iskustva u stvarnom poslovnom svijetu, prihvatio sam se posla sa zarom kakav samo student koji je nenadano dao previse ispita odjednom moze imati.

Struktura "baze podataka"

Jedna od stvari koje sam saznao u tokom prvog tjedna bila je struktura tzv. "baze podataka". "Bazu podataka", naime, Merlin nije imao prilike vidjeti dok je jos bio i Lijepoj Nasoj tako da je on poradio vise na ostalim dijelovima projekta (citaj: Flash) i pripremio sve za dolazak Baze (tm). I dok smo se mi na faksu bas u to vrijeme zamarali stvarima kao sto su kljuc i njegova jedinstvenost u relaciji, domenski i referencijalni integritet podataka, sa mog ekrana prgavo su me gledale tablice. Ogromne tablice podataka - ne informacija, nego podataka, sa ocito, naknadno dodavanim poljima kripticnih naziva i jos kripticnijeg sadrzaja, sa visestrukim potpuno medjusobno jednakim zapisima - mjestimice po 5 ili 6 njih, sa poljem "telefon" u kojem su ovisno o zapisu, postojali brojevi tipa "01/3456-789", "33 33 243", "(01)3123-123", ali ne samo to nego i "tel. 3777-777" i konacno, kao kruna svega, "mobitel: 098/111-111, tel.:033/123-123" (i po tri broja u jednom polju). Bolno ocito kaubojsko unosenje podataka bez ikakve kontrole formata od strane, ocito, nekoliko ljudi.

Svaki pokusaj trazenja nacina automatiziranog ciscenja tih tablica, strukturiranja u bilo kakav computer-readable format je kroz sljedeci tjedan propao i nasli smo se u situaciji da podataka imamo previse za ponovno unosenje i ne mozemo automatski izvrsiti konverziju u bilo sto normalno pa je ocito, racionalno rjesenje bilo raditi sa postojecom kolekcijom podataka. Na iskustvu se ucimo ne raditi takve greske 2 puta.

Vrijeme pokazalo, povijest bezuspjesno nastojala zaboraviti

[dan prije roka predaje]
Nije gotovo. Ne postoje dvije prikladnije rijeci da bi opisale stanje naseg projekta bolje nego ove navedene. Cak ni "nezavrseno" ne odrazava dovoljno velicinu rupa u kodu i kolicinu prisilnih improvizacija u komunikaciji flasha i programa ispod njega zbog nedostatka covjeka koji barata flashom. Jasenka objavljuje radosnu vijest: narucioc hoce prezentaciju proizvoda tek za tjedan dana - na nasu golemu zalost on jednostavno ne stigne bas sad i o tome brinuti.


[tri dana prije pomaknute prezentacije]
Nastavlja se rad na projektu buduci da je zbog mojih fakultetskih obaveza bio zapostavljen, a nije bilo nikoga drugoga da se time bavi u medjuvremenu.


[vecer prije roka predaje]
Naizgled puno manje "ne gotova" aplikacija priprema se od rano poslijepodne do 3 u jutro za ogranicenu prezentaciju sljedece jutro - radi se o verziji cije je koristenje nalik na setnju kroz minsko polje: dati korisniku da klika gdje hoce i kad hoce vodilo bi neizbjeznoj eksploziji i unistenju aplikacije pa je tok prezentacije unaprijed odredjen i Jasenkina sigurna ruka dovodi ga bez problema do kraja. Bilanca: svi se slazu da bi bilo dobro da se neke stvari isprave - cak i nasem naruciocu je jasno da to bas nije to, a bilo bi zgodno i dodati jos neke mogucnosti (Jasenka opet demonstrira svoje diplomatske vjestine kupovanja vremena). Dobila je jos nevjerojatnih mjesec i pol dana, cime je ukupno kasnjenje projekta u odnosu na originalnu zamisao poraslo na preko 6 mjeseci.


[narednih mjeseci i pol dana]
Polagano gasenje mog angazmana na racun rastucih fakultetskih obaveza kako je semestar odmicao dalje nije sprijecilo Jasenku da jos jednom pokusa naci nekoga tko barata sa tim Flashom...ovaj put uspjesno. U medjuvremenu sam ja slozio E-R model baze kakva bi trebala biti da bi stvari radile kako spada, ali je to rijesenje odbaceno na racun "nedostatka vremena za implementaciju i neprakticnosti prebacivanja svih podataka iz stare baze u novu". Svakako, tamo negdje 2-3 tjedna prije roka za isporuku, konacno nalazimo nekoga tko je prije cuo za ActionScript i ne samo da je cuo, nego je na "ti" s njim. Crvenobradi me prepao prvi put kad se pojavio u uredu: relativno krupnom pojavom dominira lebdeci polusmjesak na licu, tjedana dana stara brada, velika, debela, zlatna nausnica u lijevom uhu i glas taman malo iznad praga cujnosti ljudskog uha - ne zbog toga sto je bio tih nego sto zvuci kao Barry White nakon 15 godina duhana i, pretpostavljam, alkohola. Vrijeme je pokazalo da je rijec o neobicno razumnom covjeku koji se cak i trudio, ali ipak kucnom programeru koji je zakljucio da se sve to ionako da nauciti iz helpa.

Jedan od krunskih detalja njegovog rada na ovom projektu mislim da necu zaboraviti dok budem znao tipkati. Nase je sucelje, naime, imalo i glazbenu podlogu - da, glazbenu - koja se mogla ukljuciti i iskljuciti po volji korisnika. Barem je to bila ideja. Crvenobradi je, u pravom duhu kucnog programiranja, u ActionScript event handleru napisao sljedeci kod:

<neki kod>
if (not stanjemjuzeoff=false)
<neki drugi kod>
else
<neki treci kod>

On je, izgleda, imao statusnu varijablu koja se zove stanjemjuzeoff pa je onda, u tom smislu gornja petlja znacila: ako nije istina da nije tocno da nije upaljena muzika, izvrsi neki drugi kod, inace izvrsi neki treci kod. Ali koliko god je ta njegova konstrukcija na jedno vrijeme zakocila rad na projektu, toliko je njen socijalni doprinos bio velik da smo jos tjednima unaprijed (u odsustvu Crvenobradog i zaista bez zle namjere) podizali atmosferu na racun stanjemjuzeoff...nesto prije se, naime, Mario (inache vise nego korektan suradnik/programer), prihvatio udarnickog posla na The Projektu u svjetlu mog najavljenog odlaska na racun fakultetskih obaveza tako da sam imao drustvo s kojim sam mogao podijeliti jad i srecu.


[dan prije roka isporuke]
Dolazim u ured oko 3 popodne. Sesija pred ekranom traje do 9 u jutro - oko 7 nas je Crvenobradi morao napustiti kako bi otisao na dnevni posao, a ja sam ostao dok nisam morao na faks. 18 sati u komadu, s pauzom za veceru. Koji sampionizam...posljedice su, naravno bile porazne za sve osim za Jasenku i narucioca kojeg je zarazila svojim beskrajnim optimizmom. Nova odgoda, all in a day's work. Nisam mogao vjerovati, ali uspjela je progurati novu odgodu...

Dvije, tri rijeci by Mario

Nevjerojatno kasnjenje cijelog projekta nije ostavilo vidljivog traga na pozitivnosti managementa, iako je gotovo svima bilo jasno da to tako nece ici - iole naprednije pretrazivanje po Bazi rezultiralo je ogromnim cekanjem na rezultate pretrage. Krivac je pronaden u sucelju, cija je brzina eksponencijalno padala s kolicinom prikazanih podataka. Kao alternativno rjesenje predlozena je izrada klasicnijeg sucelja u nekom normalnom programskom jeziku, a kako su vec neke komponente nastale u Delphiju, to je bio prikladan izbor. Pronadena je i osoba s znanjem dovoljnim da to slozi i ogromnim entuzijazmom i prve verzije su pokazale znatno vecu brzinu... No u timu je zbog ocitog besmisla svega ponestajalo volje da se bilo sta vise radi na tome... sta se dalje desavalo nije poznato...

Nesto prije mojeg odustajanja pojavile su se ponude da preuzmem mjesto team leadera novog projekta (mjesto za koje se ni blizu nisam osjecao sposobnim, a kamoli uz pomoc takvog managementa) u MegaBlastu... s napomenom da bi novi projekt trebao biti daleko veci od svih dosadasnjih - i opasno je smrdio na slicnu pricu, ali kako su pri spomenu Projekta svima su isli trnci, management je odlucio uciti na temelju svojih gresaka i ne upustati se vise u rad sa tehnologijama o kojima se nista ne zna u firmi...

Epilog

U vrijeme kad je The Projekt neslavno propao, Mario i ja smo vec bio long gone, desetak ljudi se izmjenilo u "razvojnoj ekipi", sve to vrijeme su u svojim odgovarajucim uglovima ureda tiho radili svoj posao jos dva potpuno (za pricu) nevazna covjeka, a nesto vise od godinu dana kasnije je, unatoc mojoj nevjerici, dogovorena lova sjela moj racun. Sve do zadnje kune.
Steta je sto ljudi inache pozitivnog karaktera i, ocito, nevjerojatnih demagoskih sposobnosti nemaju vise managerskih sposobnosti. 

  Prije (Previous)