Zvone Radikalni se vraća na FER!!!???

Prije nego počnete sa zajedljivim komentarima tipa: „Ih, dugo si i trajao“, ili „Govorio sam ja da on nije za privatnika“ ili „Viđaj ga, omirišio malo pravi posao pa pobjegao glavom bez obzira“ … take it easy :smokin:.

Mislim, informacija iz naslova jest 100% točna, ali nije i 100% kompletna – naime, istina jest da se „vraćam“, i istina jest da ću sutra (srijeda) cijeli dan (10-16) biti na FER-u, ali istina je isto tako i da je moj „povratak“ privremen :-) .

U stvari, preciznije bi bilo reći da ću na FERu biti malo u gostima dok traje Job Fair „sajam“, kojem je cilj (citiram):

JobFair je projekt kojem je cilj studentima Sveučilišta u Zagrebu pružiti uvid u mogućnosti zaposlenja i razvoja karijere u Hrvatskoj, te omogućiti izravnu komunikaciju između studenata i poslodavca.

Studentima tehnoloških fakulteta nudimo priliku upoznavanja trendova na tržištu rada i prepoznavanja vodećih tehnoloških, ali i ostalih tvrtki koje trebaju kvalitetne, visokoškolovane stručnjake iz svih područja tehnologije. Tvrtkama nudimo priliku da stvore brand među ambicioznim mladim ljudima koji će uskoro krenuti u potragu za atraktivnim radnim mjestima, te mogućnost predstavljanja svojih proizvoda i usluga. Izravnim kontaktom sa potencijalnim zaposlenicima, tvrtke imaju priliku prepoznati talentirane i motivirane pojedince i povezati se s njima već danas.

Kao što sam i u svom FER farewell postu pisao, fajt za talent će, bez obzira na gospodarsku krizu, postajati sve bespoštedniji i „zgrabiti“ kvalitetnog (budućeg) inženjera je pravi potez – a mi u Telegri ih u sljedećih godinu dana planiramo „zgrabiti“ lijepi broj ;-) .

Pa ću se tako sutra malo okušati u „marketingu“.

Doduše, neće to biti baš klasični marketing jer je osnovna karakteristika današnjeg marketinga laganje :-) , a to nit’ mi ide nit’ mi se slaže s karakterom, ali, ukoliko želite jedan fair and balanced assesment, da vidite kako stoje stvari u jednoj ambicioznoj firmi koja planira u roku dvije godine biti jak igrač i na globalnoj sceni, kakve su potrebe, kakvi su uvjeti i kakva je organizacija, svakako naletite do Telegrinog štanda!

Jasno, nije ni u Telegri sve savršeno, ponajviše zato što je eksplozivan rast firme u zadnjih 4-5 godina ostavio svoje tragove, ali … gdje bi inače bio izazov :njami:. Globalno tržište nije za „slabašne duhom“, ali ja sam 100% uvjeren da ćemo na taj izazov znati odgovoriti!

Stoga – bilo da ste „računarac“ (C++, .NET, C#, Java, Linux, desktop/web, enterprise/real time/embedded sustavi – sve imamo/trebamo!), bilo da ste „elektroničarski“ orijentirani (štampane pločice, integrirani sklopovi i taj đir!), i uz uvjet da ste:

1) DOBRI (bez brige – ne zanimaju me toliko ocjene sa studija :-)
2) spremni na ozbiljan rad
3) željni učenja i profesionalnog napredovanja (ovo je ključno!)
4) ambiciozni

dođite da malo porazgovaramo. Moglo bi vam se sasvim fino „isplatiti“ :thumbup:.

Leaving FER – retrospektiva 11 godina …

Odrađen je zadnji radni dan, stvari su spremljene u kutije, malo smo „proslavili“ i … to bi bilo to. Nakon jedanaest i kusur godina rada na FERu (počeo sam 15.11.1998. pa kome se da nek’ računa točno ;-) , u ponedjeljak idemo u nove i ponešto drugačije radne izazove.

Ako ste ponešto zbunjeni ovom nenadanom promjenom i ako se pitate zašto je tako ispalo – moglo bi se na to pitanje odgovarati nadugačko i naširoko, ali za ovu priliku će biti dovoljna i sažeta varijanta osnovnog razloga – odlazim s FER-a zato jer za FER nisam dovoljno dobar :no:. Iliti, da budem malo precizniji – jer nisam dovoljno „znanstveno izvrstan“!

Kako se bližio 30. rujna i datum istjecanja mog znanstveno-novačkog ugovora, zbog činjenice da nisam dokazao svoju „znanstvenu izvrsnost“ objavljivanjem tzv. CC članka, opcije su mi se počele značajno sužavati. Preciznije, nije ih više bilo :-) .

Bez članka objavljenog u časopisu iz Current Contents indeksa (to je taj famozni CC – u biti se radi o popisu xyz časopisa „najvišeg znanstvenog ugleda“) nema docenture, a bez dostizanja statusa docenta, slijedila mi je „noga u guzicu“.

„A crni Zvone, pa što nisi napisao nešto?“

Ukratko – nije mi se dalo :smokin:.

Je, znan da malo grubo zvuči, ali ako objašnjenje mora biti kratko, onda je to najprecizniji opis. „Izgubiti“ godinu dana posla da bih objavio neki turbo gtx injection pametan članak, koji, budući je tako tubro gtx injection pametan najvjerojatnije neće imati nikakve veze s praksom i od kojeg neće biti (skoro) nikakve praktične vrijednosti/koristi, mi se jednostavno nije dalo.

U trijadi znanost-obrazovanje-biznis koja bi nekako (barem po meni, ali ne i po Ministarstvu znanosti i obrazovanja!) trebala opisivati „funkciju“ fakulteta, ja sam se uglavnom koncentrirao na obrazovanje i biznis (gdje bih ja ovdje „biznis“ definirao kao praktičnu primjenu znanosti) a „čistu“ znanost sam poprilično zanemario.

Nažalost, Ministarstvo znanosti i obrazovanja uvjete za napredovanje na fakultetima temelji isključivo na konceptu tzv. „znanstvene izvrsnosti“ (o toj temi, odnosno postavljenim uvjetima za napredovanje od strane MZOŠ-a i posljedicama koje će to imati, pogotovo na „konjukturne“ djelatnosti poput razvoja softera, bi se u stvari trebalo napisati zaseban post) i tako je završila moja priča s FER-om.

A kad već nisam dovoljno dobar za FER, sreća je što sam dovoljno dobar za Telegru pa ću sad umjesto prenošenja znanja budućim generacijama inženjera, snage malo usmjeriti na rješavanje konkretnih problema u praksi.

Ipak, moj rastanak s FER-om nije potpun (kako bi rekli Ameri, „we are not divorced, we are separeted;-) tako da ću i dalje redovno posjećivati FER, ali sad u statusu vanjskog suradnika. Nekoliko diplomanada mi je na par mjeseci do obrane i doista ne bi bilo korektno sad ih „nogirati“, a tu je i moje „djetešce“, predmet iz zimskog semestra na diplomskom studiju, Objektno oblikovanje, koji svakako planiram držati i dogodine.

A ako se pitate što od toga ima moj novi poslodavac – paaa … zadovoljnog radnika (ja stvarno volim držati predavanja i raditi sa studentima :wave:), a ne treba zanemariti ni head-hunting komponentu u današnjem IT sektoru u Hrvatskoj. Fajt za talent će uskoro postati još bespoštedniji, pa imati svog čovjeka at the source nije uopće blesavo. A sad kad sam s druge strane javno-privatne (da ne kažem fakultet-privreda) razmeđe, svakako ću probati učiniti nešto više da se ta famozna „suradnja fakulteta s privredom“ (još) poboljša.

Bolonja je, for good or worse, za studente na diplomskom studiju (4. i 5. godina) donijela značajno više praktičnog rada u vidu raznoraznih seminara i završnih radova, pa vjerujem da će se naći oni koji će umjesto rješavanja „izmišljenog“ problema radije probati zagristi u nešto „konkretno“.

Da se razumijemo, od studenata se samo u izuzetnim slučajevima može očekivati „profesionalni“ doprinos, ali načeti malo neki problem, ćirnuti malo kako to izgleda u „pravom“ svijetu i okušati svoje mogućnosti … nekako mislim da bi to bar ponekom studentu moglo biti interesantno.

Ili, da kažem to ovako – da je meni kad sam bio na studiju netko pristupio s takvom idejom, vjerojatno ne bih trošio vrijeme na izradu igre Monopoly za svoj Atari ST, ili izgradnju baze podataka o nogometnim utakmicama (u čistom C-u, kakav DBMS :-) . Naravno, to je bilo višestruko korisno, i vrijeme uloženo u kucanje tih nepreglednih tisuća linija C kôda mi je najbolja investicija u životu, ali da sam umjesto toga mogao probati zagristi u nešto konkretnije, mogao sam, a i guiding hand u vidu coach-a (Scrum terminologija ;-) bi mi isto tako dobro došla.

U svakom slučaju, vidjeti ćemo što će od toga ispasti. A meni je jako drago što sam u poziciji kad su sve opcije otvorene :-) .

Iza mene ostaje lijepih jedanaest godina, u kojima je svakako bilo i „mračnih“ trenutaka, ali koje ću svejedno uvijek pamtiti kao jedno jako lijepo razdoblje svog života. Rad sa studentima na FER-u je gotovo u pravilu uvijek bio užitak i iako sam često prema njima znao biti kritičan, čvrstog sam uvjerenja da su upravo kvalitetni studenti najveća snaga FER-a (ahem, koju bi se ipak dalo značajno bolje/kvalitetnije „upogoniti“!). Akademska sloboda i mogućnost vlastitog izbora smjera profesionalnog usavršavanja su klasični benefiti rada na fakultetu (tu svakako moram dati palac gore svojim šefovima na Zavodu za primjenjeno računarstvo!) a fleksibilnost radnog vremena koju mi je FER pružio je također nešto što se mora spomenuti. Uz „akumuliranje“ :party: troje djece tijekom godina ta je fleksibilnost bila više nego dobrodošla.

I što reći za kraj? Bilo je lijepo i lagao bih kad bih rekao da mi rad sa studentima neće nedostajati, ali došlo je vrijeme za nove izazove …

Semestar je (konačno!) gotov :-)

Puf, pant – tako bi se sažeto a kristalno jasno moglo opisati kako je to izgledalo tijekom netom završenog semestra (a ako ste ljubitelj Grunfa iz Grupe TNT, onda taj puf, pant poprima i dodatna značenja :-) .

Prva generacija studenata diplomskog studija na FER-u (to je ono za M.Sc. ;-) i prva godina predavanja na predmetu Objektno oblikovanje. Svatko tko je ikad držao ikakva predavanja zna kako to izgleda kad se neki predmet po prvi put predaje i koliko u to treba uložiti truda i vremena. Za dobru mjeru, trebalo je još odraditi i predavanja za jednu grupu brucoša (cirka njih 80-ak) iz Programiranja i programskog inženjerstva.

Ali, svakoj „muci“ dođe kraj, pa je konačno završila i ova :-) .

Ipak, ako mislite da je ovo još jedan post pun jamranja u kojem se oni koje rade u visokom obrazovanju žale kako im je teško, kako su za svoj trud malo plaćeni i kako se njihov rad uopće ne cijeni, onda ste se debelo prevarili.

Ovaj post će naime, biti čista pozitiva (dobro, ne baš skroz jer čim se radi o hrvatskom visokom obrazovanju, tako nešto je aksiomatski nemoguće ;-) a „muka“ kojoj je završetkom semestra došao kraj uopće nije bila muka i odraditi ovaj semestar mi je bio pravi užitak.

Da se ne bi krivo razumjeli, bilo je trenutaka kad sam se zapitao „Crni Zvone, što ti je to trebalo, koliko si samo sebi posla (nepotrebno) na leđa navalio!“. Ako vas je ovaj „nepotrebno“ malo ubo u oči, stvar je vrlo jednostavna. Naime, ja nisam profesor, čak nemam ni titulu docenta i držanje predavanja (pogotovo na diplomskom studiju) nije nešto što mi stoji u opisu posla. To hammer the point home, svaki semestar sam morao dobiti posebno „odobrenje“ Fakultetskog vijeća (tzv. „povjeru predavanja“) kako bih uopće mogao (čitaj, smio ;-) držati predavanja.

Gledajući iz te perspektive, ovo „što ti je to trebalo“ i nije tako blesavo (da ne spominjemo da bi za moju znanstvenu karijeru bilo puno probitačnije otfikariti studente i posvetiti se pisanju „znanstvenih“ članaka – kako to mnogi „pametnije“ od mene, čak i na FER-u, vrlo uspješno rade ;-) .

Ali, s obzirom na moju „misiju“ propagiranja objektno-orijentirane paradigme na FER-u (i iskonsku odbojnost prema pisanju članaka po onoj „samo da se pišu, nek ih ima“), tu u stvari nije bilo nikakve dileme :-) . I nije mi žao, ma niti zericu, jer kompenzacija u vidu užitka rada s motiviranim, pametnim i marljivim studentima je bila više nego dovoljna da „pokrije“ sav uloženi trud.

Nažalost (a to je onaj „žalim se“ dio), „potpora“ na predmetu je bila, kako bih to rekao, non-existent (iliti, nije je bilo). Sve sam morao odraditi sam, a kako je predmet zamišljen s puno praktičnog rada, stvari su pri kraju počele malo „bremzati“.

Ispraviti četiri domaće zadaće (čija su rješenja često bili programi i sa preko nekoliko stotina linija programskog koda ), međuispit i završni ispit, blicevi, te još završni seminar pride, i sve to za 50-ak studenata … bilo je tu puno posla, a kad se tome dodaju predavanja za grupu iz PIPIja, rad na projektima te „zarađivanje za kruh i mlijeko“ (troje djece nije mala stvar ;-) , žao mi je što to nisam sve bolje i ažurnije odradio, ali eto, „objektivne okolnosti“ :-) . Jedan „posvećeni“ asistent bi predmetu došao ko kec na desetku, ali di ću ja imati svog asistenta, kad sam i sam formalno asistent (i to „viši asistent“, moliti ću lijepo :-)

No dobro, toliko što se tiče „jamranja“.

A razlog zbog kojeg pišem ovaj post su „moji“ STUDENTI!

Što da vam kažem – bili su dobri, zainteresirani, angažirani na predavanjima, marljivi u odrađivanju svih zadataka (čak i kad bih ja organizacijski kiksao!) i da ne duljim previše – naprosto sam bio oduševljen njihovim pristupom i pokazanim znanjem!

Naravno, nisu baš svi bili tako fenomenalni u pokazanom znanju i angažmanu (što je iluzorno i očekivati!), ali čak i kad se gleda prosjek, medijan ili bilo koja druga statistička mjera njihove izvrsnosti – bili su naprosto IZVRSNI!

A u toj izvrsnoj grupi, neki su se svojom izvrsnoću posebno iskazali. Stoga ću svim njihovim budućim potencijalnim poslodavcima učiniti uslugu (ako već nije, Google će u „kadrovskim službama“ vrlo brzo biti prvi na „to do“ listi ;-) , i izreći „javnu pohvalu“. Iliti – dragi moji IT poslodavci, ako ćete prihvatiti ocjenu nekoga s 11 godina iskustva obrazovanja FER-ovih inženjera, a tko k tome ponešto i zna o modernim tehnikama razvoja softvera:

„sa studentima s ovog popisa, 99,9% je sigurno da nećete promašiti“ :thumbup: :thumbup: :thumbup:

Popis je abecedni, jer nikako drugačije ne bi ni moglo biti:

Nino Antulov-Fantulin
Josip Bišćan
Vinko Bradvica
Goran Glavaš
Vedran Ivanac
Alen Kralj
Kornelije Petak
Goran Pogačić
Vjekoslav Leonard Prčić
Dario Vuljanić

Sasvim je sigurno da se i među ostalim studentima skrivaju buduće zvijezde, ali „evaluacija“ u nastavnom procesu je nužno nesavršena (a ja svakako imam još par imena „u rukavu“ ;-) .

Sad kad smo to riješili, preostalo je još vidjeti što kažu studenti?

Paaa, mi na FER-u već tri godine provodimo anonimne studentske ankete tako da se vrlo dobro zna što studenti misle :-) . Doduše, rezultati tih anketa se kriju ko što zmija krije noge, ali kako sam ja cijeli ZA transparentnost, u nastavku posta će i studenti dobiti priliku da „kažu svoje“.

A kako su moje pozive za popunjavanjem ankete i komentiranje što misle o predmetu studenti ozbiljno shvatili, imati ćete što i čitati :-) . Za hvale ćete se ipak morati potruditi pročitati komentare studenata malo niže u postu, a ja ću se osvrnuti na kritike.

1. „puno smo vremena potrošili na jednostavne/poznate stvari“ – moja greška, jer sam potcijenio predznanje studenata s kojima su došli na predmet. Doduše, siguran sam da je bilo i onih kojima je taj početni „pregled (kao) poznatih stvari“ bio koristan!
2. „ocjenjivanje zadaća je bilo ne-ažurno“ – istina, i opet moj bed, ali kao što sam objasnio u postu – „objektivne okolnosti“
3. „prekasno je zadan zadatak za seminar“ – tehnički, to jest istina :-) , ali je isto tako istina da se okvirna tema seminara, odnosno ono što će se trebati napraviti, znalo već od sredine semestra! A to što se zbog cirkusa oko Laboratorija profila nije znalo hoće li Nhibernate u seminar ili u labos, to je u cijeloj priči ipak bilo manje važno.

I konačno, ono što su studenti posebno ogadili je Laboratorij profila. Osnovni problem – nije se znalo tko je glavni i odgovorni. Predmet nastao „kompilacijom“ četiri različita predmeta (Napredni algoritmi i strukture podataka, Napredni modeli baza podataka, Objektno oblikovanje, Raspodijeljeni sustavi), koji bi, kad bi se odradio i organizirao pošteno mogao predstavljati vrhunac semestra za studente profila „Programsko inženjerstvo“, a koji je iz gore navedenog razloga doživio debakl.

U svoju obranu ću za početak reći da, kad sam se prihvatio držanja predmeta Objektno oblikovanje, pojma nisam imao da postoji nešto što se zove Laboratorij profila i da to ima (in)direktne veze s mojim predmetom!

Držanjem PIPIja i Objektnog oblikovanja kroz ovaj semestar ja sam skoro za 100% premašio svoju „normu“ (iako je to „normiranje“ opterećenja u nastavi na FER-u još uvijek nerazriješen problem!) i kad mi je još taj Laboratorij profila „sletio u krilo“ na početku semestra – heh, skoro da bih rekao da sam odmah mogao znati da to neće dobro završiti :-( .

A kad ti je još k tome formalni nositelj predmeta Dekan fakulteta, koji ima i drugih (a reći ću i u globalnoj slici stvari ipak važnijih!) stvari na pameti, onda to pogotovo ne miriše na dobro.

Ukratko – zajebali smo! A kako mi se nekako čini da s time završiti post nije baš zgodno :-) , ajmo ispaliti par klasika – „tko radi, taj i griješi“, „dogodine će biti bolje“ …

I za kraj, kao što sam obećao, što su točno studenti „rekli“. Bez cenzure i ikakvih uredničkih intervencija, prenosim SVE komentare koje su studenti dali u završnoj anketi:

Smatram da je ovo jedan od najkorisnijih predmeta u ove 4 godine. Za programera, zajedno s predmetima o bazama podataka najkorisniji predmet.( pri tome mislim na onaj obični sa preddiplomskog, ove sad “napredne” su prešugav predmet) Jedini predmet uz Dizajniranje organizacije na kojem studenti aktivno sudjeluju moram reći. A što se tiče predmeta nekako mi se čini da smo trebali ubrzati prvi dio jer za sad ovo što je bitno tj. NHibernate i MVC nije bilo vremena. Naravno, zbog rasporeda predmeta na faksu morali ste ponavljati ono što smo mi trebali zapravo znati. I ovo sad zadnje ste malo … s ovim seminarom, al dobro, koristan će bit, i to jako. I mislim da ste trebali definirati neke granice što se tiče veličine projekta tj. seminara. Jer neki su napravili toga jako malo a neki puno. Morali bi reći šta ako ne uspijemo dovršiti sve viewove ili implementirati sve use-caseove jer sam se ja možda recimo zaletio sa zahtjevima. Uglavnom, odličan predmet.

1. treba smanjiti uvod u objektno orijentirano programiranje i više vremena posvetiti stvarnom gradivu kolegija koje se nije obradilo na dovoljno kvalitetan način 2. za dobro i profesora i studenata, ranije razmišljati o laboratoriju profila – iako, po meni, bilo bi puno bolje da laboratrij profila doživi izmjene, dakle da se ne dijele ocjene (samo prolaz), da se radi jedna projekt koji uključuje gradivo teotijskih predmeta, a da ga pregledava skupština profesora voditelja tih teorijksih predmeta koje student sluša 3. malo više vremen posvetiti samoj organizaciji i planiranju predmeta te gradiva koje se predaje – neke stvari su bile uistinu na brzaka napravljene i to se vidjelo, nije bilo ni glave ni repa 4. više pažnje posvetiti samim slajdovima 5. planirati projekt tako da se stigne ranije završiti, a ne da ostane za tjedne ispita -> dakle, kada bi se uvodni ciklus smanjio, stiglo bi se ranije obraditi MVC i NHibernate, možda čak prvo NHibernate, a nakon toga MVC a završiti s Web MVC (na primjer)

Predmet je odličan i jako koristan! Predavanja su super i zanimljiva! Međutim, Problem je sa organizacijom laboratorija. Mislim da stvarno nije pošteno na zadnjem predavanju zadati zadatak za Laboratorij profila (web mvc)!!! Trebalo bi takve stvari puno prije objaviti!!! Osobno, stvarno ne znam kada ću to napraviti.

Prof. Vanjak je odlican predavac, ali mislim da mu je mozda bila potrebna pomoc jednog asistenta ili profesora jer.. ocito je da nije bilo dovoljno vremena za neke stvari.. Takoder mislim kako bi bilo super kada bi Objektno oblikovanje dobio starijeg brata, tj kada bi nasatao (organizirao se) jos jedan predmet koji bi bio logicnki nastavak na OO.. Ipak smjer PI zasluzuje takav predmet.. dapace.. OO bi trebao bit najobavezniji predmet ikad na fer, sto se tice smjera PI.. Ideja.. Umjesto zadaca, seminara ili nesto slicno, mislim da bi bilo super organizirat neku vrstu bloganja.. dakle.. studnet umjesto da radi seminar pise blog o odredjenoj temi.. i objavljuje ga na netu kako bi svi ostali studenti (koji slusaju OO) mogli saznat neke sitnice vezane za danu temu.., dakle, jedan svaki student obradi jedan maliiii dio gradiva, ali ga obradi posteno i sa primjerima, ali opet sazeto i citko jer.. tko ima vremena citat 80 blogova, pogotov kad ih pisu ferovci :) ) osobno citam jako puno blogera i smatram da je to mozda najbolji nacin unaprijedjivanja vlastitog talenta (?znanja?)

Kolegij je u velikoj mjeri bio ok, al uvijek ima mjesta za popravak. Za početak, puno previše vremena je potrošeno na stvari koje bi otprije trebalo znati. Smatram da se ubuduće te stvari ne bi treba predavati, ili bi se materijali mogli staviti na stranice kolegija za samostalno proučvanje za one koji s tim stvarima nisu upoznati. Također, staviti u opis kolegija listu requirment-sa sa stvarima koje bi bilo poželjno znati prije upisivanja ovog kolegija. Nadalje, što se tiče case-study-a koji studenti rade samostalno kroz semestar. S obzirom da se MVC i NHibernate proučavaju tek na kraju semestra zadnja tri predavanja, posljedica toga je da studenti moraju više od 50% projekta napraviti nakon što je to gradivo obrađeno na predavanjima, što znači u tjednima završnih ispita, kada bi se ti studenti trebali posvetiti završnim ispitima, a ne rađenju projekta. To je također moguće realizirati na način da se izbace one stvari na početku kolegija koje bi svi trebali znati prije upisivanja kolegija, te bi time MVC i NHibernate brže došli na red, a ne tek na kraju semestra. Također, još jedna stvar koja mi je zasmetala je što je profesor Vanjak do posljednjeg predavanja govorio kako za projekt nije potrebno predati nikakvu dokumentaciju osim one koja je ionako nastala kroz zadaće, da bi se na zadnjem predavanju iz vedra neba predomislio i rekao da je ipak potrebno napisati dokumentaciju, koju mi sad naravno moramo napraviti također u tjednima završnih ispita. I šećer na kraju. Kao da nemamo dosta posla u tjednima završnih ispita s projektom i njegovom dokumentacijom, te samim završnim ispitima, profesor se na zadnjem predavanju, iz vedra neba, sjeti da će za Laboratorij profila trebati napraviti seminar obujma do 20 stranica, na temu koja je većini u većoj mjeri nepoznata i s kojom nemaju praktičnog iskustva. I još jednom napominjem, ta obavijest dolazi na zadnjem predavanju, dok kroz cijeli semestar o tome nije bilo niti riječi, a upiti studenata vezani uz to kako će se zaraditi bodovi iz Labaratorija profila su dobivali, kroz cijeli semestar, odgovor: “Neznam”. Krajnje neodgovorno, neprofesionalno i u suprotnosti s politikom koja se prakticira na većini kolegija na fakultetu. I naravno, kad je vrijeme stisnulo, stvar se na studentima prelomilo, kako to već obično biva. Mislim da sam ovim rekao sve što sam namjeravao i da nisam ništa zaboravio. Nadajmo se da će se ove stvari riješiti do iduće godine kada se ovaj kolegij ponovno predaje.

Odličan predmet, odličan nastavnik. Predmet je u svakom slučaju koristan i nešto slično bi se trebalo predavati na preddiplomskom studiju. Zvonimir Vanjak ima uvjerljivo najbolji odnos sa studentima, te na nijednom drugom predavanju nije bilo više aktivnosti studenata i interakcije sa nastavnikom. Konkretno izvođenje primjera na predavanju je za svaku pohvalu.

Za početak, pohvala prof. Vanjku za odlična predavanja i jako dobar način interakcije sa studentima. No, nije sve odlično. Samo gradivo je loše organizirano i raspoređeno. Previše je vremena potrošeno na trivijalne stvari koje je većina slušala na drugim predmetima (OO uvod, UML, proces razvoja) tako da je gradivo koje je najbitnije moralo biti ispredavano na brzinu. Dakle, malo raspitivanja o tome što se uči na bazama, oblikovanju programske potpore, programskim paradigmama i jezicima te razvoju primjenjene programske potpore uvelike bi smanjilo opseg tog početnog gradiva. U organizacijskom smislu, seminar i domaće zadaće su loše riješeni. Tek smo u 3. ciklusu (i to krajem) mogli točno doznati što se traži u seminaru, a do tada smo svaki sat mogli čuti poneki detalj, ali je uvijek sve bilo još u fazi nastajanja. To ne bi bio problem da taj seminar ne iziskuje dosta truda i rada u malo vremena, vremena koje nemamo jer slušamo još 4-5 predmeta koji zahtijevaju otprilike jednaku potrošnju vremena. Dakle, budućim generacijama osmislite predmet do kraja u kolovozu/rujnu tako da odmah znaju što ih čeka. No, seminar je još super u odnosu na laboratorij profila. Nakon tjedana i tjedana slušanja kako će se “već nešto smisliti”, u zadnjem tjednu predavanja dočekalo nas je prekrasno iznenađenje – ajde vi sad lijepo napravite još jedan seminar. Ako je prof. Kalpić, tj. Hlupić, mogao još u rujnu odrediti kakve ćemo obaveze imati, onda se to moglo i na OO. p.s. U potpunosti razumijem da prof. Vanjak nema puno vremena jer stalno ima neke obaveze s ministarstvima, firmama, itd., ali i mi studenti imamo hrpu obaveza za svaki od 6 predmeta i ne možemo reći “nisam stigao jer …” nego imamo rokove čije nepoštivanje donosi lijepi, okrugli broj bodova – 0.

Zadaće se prekasno ispravljaju, tako da ne dobivamo skoro nikakvu povratnu informaciju koliko smo dobro usvojili gradivo. Još kad se uzme u obzir da nad tim zadaćama gradimo projekt koji nosi dosta bodova, ikakve informacije bi bile dobrodošle. Upute za projekt(seminar) u sklopu predmeta su objavljene tek zadnji tjedan. Iako je profesor napominjao na svakom predavanju komad po komad kako bi seminar trebao izgledati te natuknice su se često mijenjale, te nismo dobili nikakvu “čvrstu” informaciju kako i što trebamo raditi. Iako je profesor spominjao da će bodove iz projekta samo prepisati u bodove za Laboratorij modula tek nam je ZADNJI TJEDAN priopćio da eto ipak moramo napisati još jedan seminar (koji nije baš neopsežan), a kad se uzme u obzir da imamo šest ispita u dva tjedna te i projekt iz objektnog za dovršiti pitanje je kako i koliko dobro ćemo to stići napraviti. Iako nam je profesor dao maximalni rok za predaju, ovo definitivno nije u redu (ako su mogli ostali poput profesora Hlupića i profesora Kalpića već drugi tjedan nastave objaviti bodovanje njihovog predmeta u sklopu Laboratorija modula znači da se može), dok smo tu cijeli semestar držani u neznanju, da bi nas profesor zadnji tjedan stavio pred gotov čin. Pa se djeco snađite kako znate.

Ovaj predmet je bio jako koristan i moglo se puno naučiti. Loše je to što nismo dobivali povratne informacije od zadaća na vrijeme. Npr. pisali smo prvi međuispit u kojem smo trebali napraviti objektni model i scenarije korištenja bez da smo znali što smo u sličnim zadaćama pogriješili, pa smo zapravo ponavljali dvaput iste greške. I drugo, trebalo bi skratiti uvod u objektno oblikovanje jer smo te već radili na drugim predmetima kako bi mogli prije početi raditi projekt. Ovako gradivo koje nam je bilo potrebno da počnemo raditi projekt obradili tek krajem 12.mjeseca. Na kraju sve pohvale profesoru Vanjaku koji je s obzirom da je sve radio sam uspio to izvrsno organizirati.

Najbolji i najkorisniji predmet do sada, i najbolji profesor kojeg sam imao. Svaka čast!

Previše bodova ide na prisustvo koje se nije provjeravalo redovno zbog nepostojanja čitača. neće biti pošteno ako svi studenti ne dobiju barem 5 bodova iz tog elementa ocjene. Zadaće se kasno ispravljaju i organizacija kao da uvijek kaska za gradivom. Prvi međuispit je sadržavao par pitanja koja su loše postavljena ili uopće se ne bi trebala nalaziti u ispitu iz objektnog oblikovanja. seminar je bilo nemoguće početi raditi dok se nije ispredavalo sve što će se u njemu koristiti tako da mnogi studenti jedva da će stići to napisati. u 3. zadaći se ocjenjuje model seminara koji je najbitniji pri ocjeni, ali kasno ispravljanje zadaće onemogućuje studentu da ispravi model značajno zbog nedostatka vremena. Najveće zamjerke idu nesretnim laboratorijima profila. Predavač je izvrstan, ali organizacija poprilično loša.

Jako koristan predmet, ali katastrofalno loše organiziran. Vanjak se iskazao kao vrlo sposoban predavač, ali je konstantno odgađao ispravljanje provjera i zadaća, te odugovlačio s zadavanjem zadatka za predmet laboratorija do početka završnih ispita. Neorganiziranosti je pridonjeo i nositelj iz sjene jer se nije znalo tko pije, tko plaća.

Za početak, ovaj predmet mi je bio vrlo koristan za upotpunjavanje rupa u mom znanju objektnog oblikovanja i sličnog, što sam sve koristio do sad, ali ne s toliko razumijevanja. // ne znam kome su namijenjeni ovi komentari, pa ću pisati // u 3. licu) Prof. Vanjak je pokazao visoku razinu poznavanja materije koju je predavao i ovaj predmet je bio jedan od korisnijih i zanimljivijih ovaj semestar. ALI… Semestar je počeo 8.9.2008. Predmeti i obaveze su bili poznati još u 6.-7. mjesecu (ako sam ga ja većt ad upisivao, onda je valjda i prof. Vanjak znao da će ga predavati). Skoro sve obaveze na ovom predmetu su kasnile, počevši od međuispita, blica, preko rezultata zadaća, pa do krune svega, seminara za laboratorij. Seminara koji je zadan 14.1.2009. Valjda ne moram računati koliko je to od početka semestra i koliko je vremena bilo da se ta tema zada. I onda još jedan pad u očima, zbog žurbe, gužve i previše posla, kriteriji će biti sniženi, zahtjevi smanjeni… Ako već radim taj projekt za ovaj predmet cijeli semestar, onda bih ga radije napravio kako spada, a ne polovično. Mislim da je prof. Vanjak time i sam sebe razočarao, pa se neću dulje zadržavati na tome. Za kraj… shvaćam da je prof. Mornar zaposlen i ne stigne razmišljati o ovom predmetu. Shvaćam i da je prof. Vanjak u nekim stvarima bez prof. Mornara vezanih ruku što se tiče organizacije predmeta. Ali, kakve to veze ima s nama studentima? Žao mi je reći, ali opet smo mi ti zapostavljeni, standardno pod motom “vi ste prva generacija, predmet se još nije organizirao kak spada”.

Mislim da prvi dio mora biti kraći. Ponavljali smo tamo stvari koje je većina znala, a ako nije mogla je ponoviti sama. Ovo ostalo je bilo super, da nismo radili tak dugo uvod bilo bi sad vremena i za NHibernate i ASP.NET MVC. Htio bi da dajete povrtanu inforamciju, a ne samo na zahtjev. To je inače minus svim predmetima, ali ovdje je pogotovo to potrrebno jer oblikovanje nije kuharica već zahtjeva iskustvo. Meni je predemt super, drago mi je što sam ga upisao. I još onaj laboratorij profila, mislim ASP.NET MVC je koristan, al staviti to tako zadnji tjedan nije u redu. Nekad imam osjećaj da se misli da su studenti strojevi koji će prožvakati sve nedostatke ovog faksa.

laboratorij profila.. jednom riječju katastrofa! vi ćete odgovoriti slijedeće generacije će sada znati. Da one će znati, a što s nama?? zar mi nemamo pravo znati takve stvari na vrijeme? I zadatak koji smo dobili nije ni malo trivijalan. To što moramo uz .doc predati i program (s 5klasa) nikako ama baš nikako ne pomaže u nastaloj situaciji. Uza sve ispite kojih da podsjetim imamo 6!!! još zahtjevate da u zadnji čas izrađujemo taj seminar za laboratorij profila je stvarno previše. Iskreno bojim se kako će izgledati slijedeća 2 semestra kada uza sve ovo što smo do sada imali dodatno dobivamo seminar i projekt. Svaki profesor smatra da je njegov predmet najvažniji i to se sve lomi na nama studentima. Nepošteno! Korištenje gausove raspodjele za ocjene na diplomskom sudiju je apsurdno. Ne vidim tko ima korist od toga. I na kraju će na poslodavci pitati kako to da ste imali tako niske ocjene na diplomskom studiju? Ocjena u ovom slučaju kada su 5 i 4 rezervirane samo za prvih 25 studenata nisu odraz znanja. Jer student koji ima 5/100 bodova manje će imati i možda 2 ocjene manje na nekim predmetima. Opet nepošteno!

Zvonimir Vanjak je odličan profesor, predmet je izuzetno koristan i oko te dvije stvari nema dileme. Ali nevjerojatno je da se pored desetine predavanja na kojima se gotovo svaki put pitalo što će se, kako i kada raditi za Laboratorij profila prefosor zada (vrlo opširan!) zadatak – u tjednu ispita! Mislim da je to licemjerno i bezobrazno prema studentima. Jedina kritika pored te je da bi se profesor mogao malo više interesirati za predmet. Očito je da zaista poznaje materiju i da zna “o čemu priča”, ali neobjašnjivo mi je zašto mu treba po 5 tjedana da ispravi jednu domaću zadaću. Sve u svemu – predmet je jako koristan i preporučit ću ga ostalim studentima.

Mislim da nije u redu da nas profesor nije branio kada nam je dekan rekao da je potrebno napravit labos dodatno. Profesor je trebao inzistirat na preslikavanje bodova iz seminara jer mi imamo jos drugih 5 predmeta ovaj semestar. Da su nam svi tako napravili, nebi bilo teoretske sanse da sve stignemo, a jedva cemo stic dodatni labos samo za ovaj predmet.

Ocjenjivanje studenata je općenito bilo katastrofa. Uloženi trud na seminarskom radu i laboratorijskom seminaru se uopće ne cijeni, svi studenti šablonski dobivaju bodove radili puno ili malo. Potpuno sam razočaran činjenicom da sam napravio odličan seminar i dobio isti broj bodova kao kolege koji su rekli da se nisu uopće dobro napravili seminar. Ista stvar je i sa seminarom iz labosa. Završni ispit je bio smješno lagan i ocjenu ovog kolegija je određivao uspjeh na međuispitu i na potpuno nasumično raspoređenim bodovima sa nastave. Najgore je što mi se predmet skroz svidio i radio sam na njemu, i na kraju nisam nagrađen za svoj trud.

Predmet je bio ne organiziran! Profesor je odlucio da necemo imati 2 medjuispita, nego jedan, tjedan (najkasnije 2 tjedna) iza prvih medjuispita, zbog lose organizacije taj se medjuispit odrzao za vrijeme drugih medjuispita! S duplim gradivom… Do zadnjeg dana se nije tocno znalo sto treba napraviti s projektom i seminarskim. Upute za projekt su se pojavile na stranici predmeta 2 dana prije pocetka zavrsnih ispita. A rok za izradu i predaju se poklopio sa zavrsnim ispitima! (A za projekt ipak treba vise vremena, tj. vise dana!). Medjuispit koji smo imali je bio nerealno postavljen i ocijenjen. Predmet mi se uopce nije svidio! A i rezultati nisu bili u ahycu, vec postavljeni na stranice predmeta, sto mislim da nije u redu jer je to osobna stvar svakog studenta!

odlican predmet, mozda meni najbolji ovaj semestar. puno manje vremena treba potrositi na prvi ciklus, 99% ljudi koji su upisali predmet su vec slusali o tome puno puta (ipak korisno je podsjetiti se nekih stvari ili jednostavno cuti od nekog drugog istu stvar jer mi se i samom dogodilo da su mi neke stvari jos bolje sjele). od predavanja, uml je odlicno obraden, kao i sam model domene (mozda malo detaljnije o ulogama repositorija i factorija, situacije u aplikacijama), testiranja bi mogla biti mrvicu bolje napravljena. mvc nisam bio pa ne mogu komentirati ali hibernate definitivno moze puno bolje. a time dolazimo do sljedeceg: ukoliko na predmetu java i c jezici su tretirani na isti nacin onda bi trebalo biti dosljedan u tome. na ispitu ne bi trebalo biti nesto sto je specificno za pojedini jezik (kao sto je to bilo u meduispitu, vezano za zadatak s C++ i C# kodom), takoder hibernate je objasnjen samo za C# a nije za Javu (svede se na isto u teoriji ali problem je sto se na predavanjima nije toliko o teoriji pricalo koliko o samoj implementaciji, kako u kodu napisati nesto, sto je drugacije za javu i c#, mozda bi se trebalo potpuno izbaciti objasnjavanje tehnickih stvari, ipak smo mi na diplomskom studiju i svi znamo pronalaziti kako stvari rade, ono sto bi ja htio je da to onda svi moraju a ne samo oni koji su odabrali javu i time im slusanje o tome kako koristiti c# trikove ne znaci puno, dakle ili govoriti java trikove i c# trikove ili niti jedne). ispiti – mozda samo malo jasnije definirati zadatke.

Domaće zadaće, seminari i zadaci za laboratorij su bili definirani prekasno, u zadnji čas.

Ako ste pročitali sve, vidjeli ste da je bilo i pohvala i pokuda, a sljedeći komentar možda nekako najbolje sumira stvar:

Obicno ne pišem ankete vezane uz kolegije koje slusam, no ovaj kolegij me potaknuo da ju ispunim :) Potaknuo me jer smatram kako ovaj predmet ima izvrstan potencijal, sjajne stvari se mogu naučiti na njemu, ne radi se nešto “staromodno” nego nešto što je trenutno tu u našoj struci i ono što je njena budućnost. Na žalost, razlog što ispunjavam ovu anketu je taj da mi se čini da je sve ostalo na potencijalu… :( Najvažnije stvari ovog kolegija (seminar i labos) su rađeni na kraju i mnogi studenti su ih napravili lošije nego što bi htjeli i onako kako su sposobni. Bez obzira što je profesor rekao kako je zadovoljan uspjehom. Meni osobno je taj zadnji dio bio najzanimljiviji,najviše sam naučio iz njega,a najmanje vremena sam imao da ga savladam. Jedan od razloga vidim u tome što je sam raspored predavanja krivo koncipiran. Mislim da je previše vremena na početku otišlo na upoznavanje sa “programiranjem”,sintaksom itd. … Smatram kako je to pogrešno jer cilj ovog predmeta nije da mi naučimo programski jezik, preduvjet ovog kolegija mora biti da studenti imaju određeno predznanje i iskustvo u programiranju,a da ovdje nauče pravilne koncepte i pravila kako to što znaju poboljšaju i rade na bolji način. Još jedna zamjerka su ljudski resursi :) Nemoguće je da jedna osoba voodi ovaj kolegija, da nema asistenata ili osoba sa sličnim ulogama. Studentskih projekata je previše, zadaće se pišu, a tu se sve radi o programskim kodovima za čije ispravljanje treba jako puno… I profesor je imao neke propuste(bilježenje aktivnosti i sl.) ali smatram kako je i to neka vrsta posljedice ovog prethodnog. Eto, koliko god zvučalo kao klišej,napisao sam ovo da idućim generacijama bude bolje :) Jer kako sam rekao, predmet ima potencijal,šteta samo što nije ostvaren dok sam ga ja slušao…

Za one koji su došli do kraja, prenosim i rezultate „numeričke“ ankete, u kojoj su studenti s ocjenama u rasponu 1-5 ocijenili određene aspekte nastave. Pitanja ima preko 30, a zadnjih desetak se odnosi na nastavnika :-) , pa evo kako je to sumarno izgledalo (napomena, anketu je popunilo 27 studenata, od njih 55 upisanih na predmet). Jest da sam tijekom zadnje tri godine imao i boljih rezultata, ali što se može :-)

Nastavnik je bio pripremljen za predavanje? 4,47
Nastavnik je poticao zanimanje za temu? 4,84
Nastavnik je tumačio jasno? 4,79
Nastavnik je poticao diskusiju i interakciju? 4,89
Nastavnik je pokazivao znanje o materiji koju predaje? 4,63
Nastavnik je pokazivao brigu za studente? 3,74
Nastavnik je bio raspoloživ za studente? 4,16
Nastavnik je dolazio na predavanje redovito i na vrijeme? 4,79
Nastavnik se prema studentima odnosio korektno i s poštovanjem? 4,42
Tempo predavanja bio je odgovarajući? 4,32
Predavanja su se izvodila na zanimljiv način? 4,47

Kažu da Hrvatskoj fali informatičara! Ozbiljno :-)???

Eto što ti je slučajnost. Da san jučer u vrime Dnevnika osta samo pet minuta duže siditi za kompjuterom, ovog posta ne bi bilo a ja bi večer proveo … pa nekako bih, a sigurno ne bih pisao ovaj post (koji se rastegnuo eto i na današnji dan, a to što su žena i djeca kod punca i punice je razlog ovolike „slobode slobodnog vremena“ ;-) . Ali, prilog u jučerašnjem Dnevniku o nedostatku „informatičke radne snage“ u Hrvatskoj me naprosto natjerao za tipkovnicu (btw. vidi, vidi, opet/još Šprajc vodi Dnevnik, al kolko čujem na Prisavlju je prava nevera ;-) .

Jel’ to nekome konačno sinulo, ili se radi o tradicionalnoj novinarskoj priči za jedan dan, da se malo „olakša“ nacionalna savjest pa da onda možemo mirno dalje do sljedeće takve priče sve dok se ciklus opet ne zatvori prosvjedima maturanata zbog uvođenja državne mature (a biti će ih ;-) ? E, to tek treba vidjeti.

Što je bilo u prilogu?

Opće žaljenje sa svih strana da u hrvatskoj fali informatičara! Iznesen je recimo i podatak da u zapadnim zemljama „informatičke fakultete“ upisuje 4% brucoša, a kod nas samo 2%!

Ali, ne treba meni ta statistika da bih znao kako stoje stvari :-) . Kao što sam već pisao, pinganje „imaš nekog dobrog programera, ma može biti i apsolvent“ se događa na prilično regularnoj bazi. A programera nigdje na vidiku!

A zašto ih nema?

Moj vrhovni šef (dekan FER-a, Vedran Mornar, op.ed. ;-) je u prilogu to jako lijepo rekao:“Naša kvota brucoša koju upisujemo svake godine je istovremeno i premala i prevelika. Premala ako se gleda iz pozicije zahtjeva tržišta, a prevelika ukoliko se gleda s aspekta resursa kojima fakultet raspolaže“ (citat je po sjećanju pa možda nije svaka riječ točna, ali bit je right to the point).

Aha, znači iska se više para, više prostora, više nastavnika … reklo bi se standardna priča hrvatskog visokog obrazovanja.

Pa u biti i jest. Nema tu puno filozofije. Jedina je (mala ;-) razlika u odnosu na „plakanje“ npr. prof. Kregara (dekana Pravnog fakulteta) možda u tome što na burzi nema nezaposlenih inženjera FER-a :-) . Ali, s obzirom da sam siguran da fali i dobrih pravnika, to i nije tako bitno ;-) .

Da je bilo pameti prije deset godina pa postaviti razvoj IT industrije (a koja mora u osnovi imati i razvijenu „industriju“ IT obrazovanja) u okosnicu gospodarske strategije, danas bi pričali drugačiju priču. Ali, prije deset godina su in bili Pravo i Ekonomija (a mislim da su i danas), FER je jedva popunjavao svoju kvotu (jedne godine se za dlaku desilo da je trebalo organizirati i drugi prijemni rok!) a ako ćemo pravo, obrazovanju se ionako u ovoj državi nikad nije poklanjalo previše pažnje.

„Ma sve je to u redu Zvone, kužimo mi to, sad je ta, kako se kaže konjuktura, pa ćemo sad djelovati“.

Jest da, ali ima tu jedan vrlo nezgodan problem. Čak i kad bi se kojim slučajem ova vlada odlučila na masovnu injekciju sredstava u „IT obrazovanje“, malo bi od toga bilo vajde. Moglo bi se doduše sagraditi puno lipih kabineta, moglo bi se kupiti i puno lipih računala (vrlo skoro očekujem daljnje najave resornog ministra ;-) , ali osnovni i najvažniji sastojak obrazovnog procesa – kvalitetan nastavnik – se ne može tako lako „stvoriti“!

A da bi priča bila zanimljivija i „hrvatskija“, kod nas se, posve zanemarujući činjenicu da je „stvoriti“ nastavnika/profesora samo po sebi teško, aspirantima na taj status na put postavljaju i dodatne zapreke, a sve s idealističkim ciljem postizanja „znanstvene izvrsnosti“!

„Što ti Zvone imaš protiv znanstvene izvrsnosti?“ – vjerojatno se sad pitate, zbunjeni kategorizacijom „znanstvene izvrsnosti“ kao prepreke!?

Ama baš ništa!

„Znanstvena izvrsnost“ je nešto čemu apsolutno treba težiti i biranje znanstvenika po principu izvrsnosti a ne podobnosti (bilo koje vrste) je jedino što može spasiti hrvatsku znanost (pođite na portal hrvatskih znanstvenika Connect – puno lipih stvari tamo ima). Jedini problem u ovoj priči leži u činjenici da je IT znanost (možda bi preciznije bilo reći computer science), promatrana kroz prizmu (visokog) IT obrazovanja, ponešto specifična i drugačije „društveno situirana“ u odnosu na „klasične“ znanosti poput fizike, matematike, biologije ili kemije!

Znanost jest znanost, i tu u stvari ne bi trebalo biti puno priče, ali specifičnost IT znanosti, i njen posljedični problem, leži u činjenici da je ona danas u izrazitoj konjukturi i svi ovi što danas plaše malu djecu pričama o indijskim „programerskim armijama“ su alas, u teškoj zabludi ;-) . Cijeli svijet ide u softver, i brzina te transformacije je ponajviše ograničena upravo raspoloživim ljudskim resursima u ITju. A hrvatski visoko obrazovni sustav se tome nije prilagodio niti za jednu jotu!

Da je bilo pameti pa o tome misliti prije deset godina (a već tada je bilo jasno kamo stvari idu!) di bi nam danas bio kraj :-) .

Možemo li se izvući iz toga na brzinu, klasičnom hrvatskom tehnikom improvizacije?

Teško, jer kao što rekoh, da bi se „produciralo“ više završenih inženjera (da ne kažem bakalara ;-) , treba i više nastavnika! A oni se ne stvaraju tako brzo.

„Ma nije problem, sad kad vide koliko su traženi nagrnuti će ko alva – evo samo što nisu!“

Hau jes nou :-) .

Dekan Mornar je to (ponovo) vrlo sažeto i kristalno jasno rekao u tv prilogu, a ja ću ga, s obzirom da sam zaboravio što je točno rekao, malo parafrazirati i reći: „Pa nije znanstveni novak LUD da ide raditi za plaću od 5.000 kuna, dok u privredi u startu, kao pripravnik može dobiti bar 5-6.000 kuna, što se nakon pola godine do godinu dana sigurno penje na 7-8.000!“

Jer, pazite, ovdje pričamo o kalibru znanstvenog novaka – a to bi trebali biti best of the best.

A kad će na FERu dostići takvu plaću?

Javni je podatak pa mogu i podijeliti s vama – dakle, nakon deset godina na FERu, s doktoratom i u statusu „povjerenika predavanja“, stigao sam do 7.950 kn :-) . Jes’ da, ali s troje djece prijavljeno na sebe – znači, osnovna plaća je nešto preko 7.000.

Za one koji će sad vikati kako to i nije tako loša plaća, imam samo jednu poruku – izmislite vremenski stroj pa se vratite u socijalizam :-) . Danas stvari tako stoje i žalibože i jednog jedinog slovca dalje potrošenog na tu diskusiju.

Neki drugi će reći – „A jes’ ti Zvone budala, pa što radiš ti na tom FERu deset godina!?“ :-) )))

Ma dobro, nije to cijela priča. Famozna „suradnja s privredom“ je nešto što je FERu oduvijek dobro išlo, tako da se već danas 50 % budžeta fakulteta samofinancira od prihoda raznih projekata. Ukratko, ko hoće, i zna raditi, može zaraditi sasvim pristojan dodatak na plaću, determiniran primarno količinom vremena koje čovjek želi posvetiti toj aktivnosti.

Kad se to tako posloži – MOŽE LI BITI BOLJE!!!

U nastavi se studentima prenose relevantna znanja iz IT industrije (bilo programiranje, bilo telekomunikacije, bilo sigurnost,, …), koja se istovremeno unovčuju kroz suradnju s privredom. Da ne bi sad mislili da je IT na FERu neki zlatni Eldorado, reći ću samo da, po mojim informacijama, energetičari još uvijek šišaju svih za tri koplja (heh, vjerojatno je HEP izdašna krava muzara ;-) .

Na prvi pogled, sve super, svi zadovoljni – win-win situacija.

Na drugi pogled – A GDJE JE TU ZNANOST!? I „znanstvena izvrsnost“?

Hmmm, pa sad … kako bih to rekao … ako ti je baš do prave, computer science, znanosti onda je vjerojatno Google najbolja destinacija :-) . I može se to na FERu srediti – prof. Siniša Srbljić to fenomenalno radi i uspjesi njegovih novaka su na ovom blogu ostali neopjevani samo zbog moje lijenosti :-) .

A bavljenje fundamentalnom IT znanošću na FERu?

E tu nastupa famozna trijada – nastava, znanost, biznis.

And something gotta give !!!

Iliti – ne može sve troje :-) . Ako ćeš se baviti „ozbiljnom“ znanošću na području computer science onda treba zaroniti u teške teorijske dubine, koje na tržištu u Hrvatskoj nemaju ama baš nikakvu prođu (potencijalni startupi ili, daj bože, novi Google sigurno neće proizaći iz projekata financiranih od MZT-a, a i ti projekti su … heh, tema za poseban post ;-) .

Nije da se ne može ući u gornje ešalone znanstvene iT zajednice, daleko od toga! Ali, postizanje takve znanstvene izvrsnosti se često negativno reflektira na ostala dva člana Trijade. A kako se šoldi teško odreći, nastrada … nastava ;-) . Iako je to pomalo u skladu s famom o ludim-briljantnim znanstvenicima (sjećate se kako je to Russel Crowe u filmu „Briljantni um“ na prvom, i jedinom, satu svog predavanja to pojasnio studentima ;-) , ovdje se treba prisjetiti o čemu je u ovom postu u stvari riječ – o OBRAZOVANJU novih informatičkih kadrova!!!

S obzirom na potražnju za tim znanjima na tržištu i neadekvatnu osnovnu plaću, jasno je da su šoldi sigurno „in“ i to nas dovodi do znanstveno-pedagoške šizme!

Što je važnije za fakultet – dobar znanstvenik ili dobar nastavnik?

Odgovor Ministarstva znanosti i obrazovanja je u svakom pogledu nedvosmislen – bitna je JEDINO znanost! Uvjeti napredovanja su kristalno jasni i tamo se nastava ne spominje niti jednim jedinim slovom. Iako se naveliko priča o obaveznom anketiranju studenata o kvaliteti nastave (a ISVU to već ima ugrađeno kao feature) tu nemam ama baš nikakve nade u nekakva poboljšanja (da budem iskren prema svom FER-u, dekan se trudi i ima pomaka, ali … teško će to ići ;-) .

Stoga, s obzirom da je ljude koji su spremni (i sposobni!) cijelu Trijadu odrađivati na zadovoljavajući način prilično teško naći, bojim se da će se nestašica informatičkih stručnjaka u Hrvatskoj nastaviti. Čak dapače, procjenjujem da će biti sve gora i gora!

I, kako je ovo ipak blog, za sve one koji žele/planiraju krenuti putem znanstvenog novaka na FER-u, ovaj post ću završiti s nekoliko osobnih savjeta – što bi se reklo, „Path to success“:

Pravilo broj jedan – zajebi nastavu!!! To ti uopće nije bitno. Studenti su tu da slušaju i budu sretni i zadovoljni. Ukoliko u takvom pristupu budeš uspješan, studenti će vrlo brzo shvatiti kako stoje stvari pa te neće ni gnjaviti. U idealnom slučaju, limes broja studenata koji upisuju tvoj predmet treba težiti NULI.

Pravilo broj dva – znanost je važna!!! Poglavito famozni CC radovi. Oni su ti zakon. Nije do njih lako doći, ali slušaj ti mene. Prvo, moraš naći svoju nišu … specijalizirati se … i uroniti. Nije bitno je li to nešto iz sigurnosti IT sustava ili kriptografije, teorijske podloge i analize XYZ protokola, nešto iz teorijskih dubina operacijskih sustav, teorije automata ili programskih jezika ili možda nečeg desetog. Nije bitno ni to što to čime se baviš i nad čime se grbiš za kompjuterom nikog živog ne zanima, nikom živom u Hrvatskoj (a i šire) ne treba, niti će iz toga ikada izaći iti jedna čvrsta kuna koristi (dobro, papirna industrija će biti zadovoljna – tribati će isprintati te silne članke). Ništa to nije bitno – bitno je samo da se štanca. Ako baš ne ide, kažu da ima neki češki CC časopis sa, ajmo reći, nešto „labavijim“ normama recenziranja ;-) .

I za kraj, pravilo broj tri – moraš slušati šefa!!! I nadati se da ćeš izdržati dok i ti ne postaneš šef, a onda će svi slušati Tebe :-) .

Eh, da je barem meni netko ovako nešto napisao prije deset godina … valjda ne bih danas bio 0 od 3 ;-) .

Objektno oblikovanje – što je sad pak to ?

Ako ste zbunjeni sintagmom „objektno oblikovanje“ te ste pomislili da se radi o nekoj novoj formi apstraktne umjetnost – relax :-) . Nema tu nikakve „umjetnosti“ već se radi o hrvatskoj inačici svakom developeru dobro poznatog termina object design.

O objektnom dizajnu će se na ovom blogu još puno pričati, a za ovaj post je bitno da je to (i) naziv predmeta koji ću predavati u prvom semestru diplomskog (M.Sc.) dijela studija koji na FERu starta u mjesecu rujnu. Kako su mi se počeli javljati studenti s upitima „o čemu se tu radi“, a službena verzija opisa predmeta koja je nastala prije jedno tri godine kad se slagao curriculum za FER-2 studij (po Bolonji) je pomalo outdated (preciznije, u međuvremeno je značajno dorađena), mislim da nije zgorega malo detaljnije opisati teme koje će se obrađivati na predavanjima, kako će organizacijski sve to izgledati, a i što će se očekivati od studenata koji upišu predmet :-) .

Pa, za početak o organizaciji.

Predmet nosi za izborne predmete standardnih 5 ECTS bodova, ima opterećenje od 45 sati predavanja (ie. 3 sata predavanja tjedno) i „klasičnu bolonjsku“ organizaciju, što se najbolje vidi i po načinu, odnosno kompoziciji bodovanja za završnu ocjenu:

- blicevi 10 %

- domaće zadaće 15% bodova

- međuispit 20%

- završni ispit: 35%

- izrada seminarskog rada: 20%.

Ili, kako se to službeno po FERu kaže: „Kontinuirana provjera znanja“ :-) . Naravno, to će i dalje nažalost/vjerojatno značiti pet šest (7-8!?) „kampanjskih sprinteva“ za studente, gdje će neki trajati dan-dva, a neki i cijeli tjedan, ali to valjda tako mora biti :-) .

A što će se na predmetu raditi/učiti ?

U jednu rečenicu – kako primjeniti/iskoristiti tehnike objektno (orijentiranog) dizajna s ciljem što efikasnijeg razvoja informacijskih sustava!

Naravno, ovakav opis je vrlo širok i potrebno ga je malo suziti i preciznije definirati jerbo na FERu već ima predmeta, čak bih rekao i podosta :-) , koji su posvećeni „tehnikama za efikasniji razvoj informacijskih sustava“.

A specifičnost ovog predmeta, odnosno ono po čemu ga planiram napraviti ponešto različitim od postojećih, je sadržana u samom nazivu – OBJEKTNO oblikovanje. Ukratko bi se moglo reći – objects to the core.

Jer, ako ćemo pričati o načinima za savladavanje sve veće složenosti modernih softverskih sustava, što je u stvari vječiti izazov software developmenta, iz mog, sad već 20-godišnjeg iskustva s programiranjem proizlazi jedan nedvosmisleni zaključak – objektno-orijentirana paradigma is your best friend!

Apstrakcija i enkapsulacija u borbi sa složenošću softvera predstavljaju najjače (a često i jedine!) vojnike, i iako su u računarskoj znanosti oba principa otkrivena/identificirana poprilično davno (Parnasov princip „Information hidinga“ još tamo iz 70-tih!), tek je objektno-orijentirana paradigma apstrakciju i enkapsulaciju postavila kao „kamen temeljac“ razvoja softverskih sustava!

„Ma sve je to lipo Zvone, ali čuj, danas ti SVI programiraju po OOPu!?“

Da, ali ipak ne :-) .

Jer, prepakiravanje proceduralnog programskog kôda u nekoliko klasa sa članskim varijablama i funkcijama NIJE OOP! Ili, da budem precizniji, takvim pristupom OOPu se neće dohvatiti puni potencijal koji objektno-orijentirani način razvoja softvera pruža!

Kako identificirati objekte (u stvari klase iz kojih se instanciraju), kako ih softverski modelirati i prilagodili „virtualnom svijetu“ objektnog modela, kako i na koji način ustanoviti kolaboraciju među tim objektim, kako ih uklopiti u arhitekturu cjelokupnog sustava … sve su to vrlo važna (da ne kažem krucijalna) pitanja koja daleko nadilaze „tehničke aspekte“ OOP-a (što je članska funkcija, što je članska varijabla, što je private/public, što je nasljeđivanje i slično …).

I to je područje objektnog dizajna kojim ćemo se baviti na ovom predmetu.

S obzirom da sâm objektni dizajn nije zatvorena (self-contained) tehnička disciplina, odnosno da egizstira primarno kao dio procesa razvoja softvera, na predavanjima će se određeno vrijeme posvetiti i stavljanju OO dizajna u kontekst tog procesa, s posebnim naglaskom na moderne tehnike agilnog razvoja softvera.

Početi ćemo s uvodnim predavanjem, s (radnim) nazivom „Software development is hard“, na kojem ćemo„urakljiti“ problem, odnosno identificirati faktore koji razvoj softvera čine teškim te raspraviti razloge koje OO paradigmu čine privlačnom.

Nakon toga ćemo u „pripremnom“ dijelu odraditi kratki (i ubrzani!) tehnički uvod u osnove OO programiranja, te vidjeti kako organizirati proces prikupljanja i analize zahtjeva (requirementsa) a da se taj proces prirodno uklopi u tehnike OO dizajna (use case is the keyword here!)

A po odrađivanju tog pripremnog dijela, ulećemo u bît predmeta – primjenu Domain-driven design tehnika za razvoj softvera. Da li je to tehnika, ili možda metodologija, ili „samo“ vještina je tema za detaljnu razradu, ali ono što je ključno je da je pri primjeni DDD-a fokus na što vjernijem preslikavanju domene problema (= ono što bi softver trebao riješiti) u objektni model koji će biti osnova za softversku realizaciju.

Ukoliko ćete primjetiti da tehnika „find the nouns“ za identificiranje objekata uz pripadno vjerno preslikavanje objekata (entiteta) iz realnog svijeta u svijet virtualnih objekata i nije baš pripametna :-) , ja ću se potpuno složiti s vama i reći da su stvari ipak značajno kompliciranije.

Kako definirati i u softveru realizirati model domene koji će što vjernije reprezentirati problem space (s primarnim ciljem olakšavanja komunikacije stakeholder – developer), a da taj model bude u skladu sa zahtjevima postavljenim na softver (odnosno da je u svojoj realizaciji primarno posvećen zadovoljavanju zahtjeva korisnika, a ne „vjernosti preslikavanja“ realni->virtualni svijet) je THE problem kojem ćemo se posvetiti na ovom predmetu.

Da ne bi sve bilo ovako apstraktno, kroz cijeli semestar ćemo u skladu s naučenim konceptima razvijati jedan case study (a sličnog formata će biti i seminarski rad koji će studenti trebati odraditi), a kao dodati bonus (iako to nije nikakav „bonus“ već conditio sine qua non –o čemu imam već DVA parcijalna posta :-) ) ćemo se pozabaviti i tehnikama Test Driven Developmenta koje se prirodno slažu s DDD-om.

U tu priču će se lijepo uklopiti i Model-View-Controller (MVC) pattern koji je prirodni (čak i nužni!) suputnik i DDD-a i TDD-a, a reći ćemo ponešto i o Objektno-Relacijskom Mapiranju (triba negdje i spremit te podatke, jel’ tako ;-) ) – ukratko: forget ADO.NET, (N)Hibernate rulez :-) !

„Lipo, Zvone, lipo, a reci ti nama ima li kakvih preduvjeta za uspješno savladavanje svih tih tema?“ – sad će se sigurno kogod javiti.

Ima, jasno da ima – i osnovni preduvjet je određeno iskustvo programiranja! Ako niste do sada odradili projekt s bar par tisuća linija programskog kôda (u bilo kojem programskom jeziku) i ako niste „na svojoj koži“ osjetili ubode složenosti softvera, onda će ova priča biti uvelika apstraktna. Ako ćeš se penjati na Mount Everest, onda je logično bar malo vježbati na onoj penjačkoj stijeni, prije nego se uputiš u Nepal :-) .

Dakle, nije sve izgubljeno, ali ukoliko ste u takvoj situaciji, morate biti spremni na „dodatni angažman“ :-)

Pa vi vidite ima li tu za vas što zanimljivo, a naravno, svi komentari i pitanja su dobrodošli.

Samouki programer vs. FERovac!?

U prethodnom postu sam načeo temu „što može raditi prvostupnik FERa“ (B.Sc. titula) nakon završenog trogodišnjeg studija.

„Službena“ verzija je (citiram članak iz Mreže) da se od prvostupnika može očekivati „dobro znanje o području koje je birao godinama na faksu.“ i da se „za prvostupnika smatra da može voditi manje projekte, manju skupinu ljudi ili biti asistent glavnom projektantu“.

U svom stavu na kraju posta sam bio nedvosmislen:

… oni ne samo da neće biti za „voditelje malih projekata“, već mnogi od njih neće spadati niti u kategoriju „kvalificirani programer“ !!!

A kao osnovni razlog za takvu situaciju sam identificirao – premalo praktičnog rada!

Jer, make no mistake about it, do statusa kvalitetnog programera se dolazi ISKLJUČIVO PRAKSOM !!! (a posebno je „nezgodno“ s ovom profesijom što zahtijeva kontinuiranu praksu – zbog reinventing-a barem svakih desetak godina!)

Ovdje se otvara i posebno pitanje – da li „voditelj projekta“ mora biti dobar programer? Tom pitanju ću se detaljnije posvetiti u jednom od sljedećih postova :-) , ali ukoliko pričamo o vođenju projekata kako se o tome govori u „službenoj“ verziji kvalifikacija prvostupnika, onda vjerujem da je svakome jasno da je biti „kvalificirani programer“ OSNOVNI PREDUVJET za obavljanje takvog posla! Jer, ako ćemo pravo, „voditelj malog tima“ ili „pomoćnik glavnom projektanu“ (ovo je naravno, totalno zastarjela Waterfall spika ;-) ) se u engleskoj terminologiji kaže lead DEVELOPER :-) ))).

A kakvi su po pitanju programerskih vještina FER-ovi bakalari (pardon, baccalareusi ;-) ?

Na to pitanje se može odgovoriti na dva načina. Jedna mogućnost je postaviti se u „apsolutističku“ (da ne kažem radikalnu ;-) poziciju i beskompromisno (pro)govoriti o tome kakve stvari jesu, kakve bi mogle biti, i, najvažnije, kakve bi TREBALE biti! A može se zauzeti i „opravdavajuću“ poziciju u kojoj će fokus biti na ono što je feasible (tzv. „umjetnost mogućeg“, gdje su Hrvati dali, a daju i dalje, značajne doprinose na svjetskoj razini – za čitalačke mazohiste, odličan uvod, iako poprilično težak za čitanje, u hrvatsku verziju maoizma i zrelog kardeljizma daje kolega ap s pollitika.com portala ;-) )

Ja ću se na poziciji „umjetnosti mogućeg“ ipak zadržati vrlo kratko. Što je sasvim u skladu s mojim „političkim alter egom“ a to je ionako klasika u svim ostalim medijskim osvrtima na tu temu. Dovoljno je reći da s te pozicije studenti FER-a mogu biti relativno zadovoljni obrazovanjem koje dobivaju (uzimajući, naravno, value for money mjeru – pogotovo zato što money u najvećem dijelu daje ministarstvo!)

A s apsolutističko/radikalne pozicije, treba biti iskren i reći da stvari na FERu baš i nisu optimalne! Kolege studenti su u komentarima na prethodni post bili 100% u sridu i ukratko se to može reći ovako:

Završeni student FER-a (novi B.Sc., a i stari dipl.ing.) je kvalificirani programer JEDINO u slučaju da se tijekom studija potrudio SAMOSTALNIM radom dosegnuti taj status!

A ukoliko je tijekom studija na FERu dotični student odradio „samo“ ono što se od njega tražilo da bi položio/prošao xy predmeta (čak i ukoliko ih je pri tome polagao s dobrim ocjenama!), tada od „kvalificiranog programera“ tu nema niti k :-)

I to je tako i nikako drugačije :-) .

Bar 30 (50!?) % studenata koji POLOŽE „osnovne“ programerske predmete na FERu – PIPI („Programiranje i programsko inženjerstvo“ – a u biti programiranje u C-u ;-) ) i ASP („Algoritmi i strukture podataka“) – efektivno NE ZNA PROGRAMIRATI! Jest, ima tu na prvoj godini podosta i budućih energetičara, inženjera (tele)komunikacija, automatičara i elektroničara, ali podosta takvih završi i na računarski orijentiranim smjerovima!

„Pa kako su onda položili te predmete!!!“ – sad će vikati „idealisti“ :-) !

A lipo – ne moš’ njih 75 % bacit’ na ispitu :-) ! Nije „pedagoški“, i uostalom, kakav si ti to onda profesor ;-) .

Tu je važno i pitanje kako uopće provjeriti nečije programerske vještine!? Pismeni ispit (dobro, 2 međuispita i završni ispit ;-) s četiri-pet zadataka koji se rješavaju na papiru svakako daje nekakav uvid u programersko znanje studenta koji ga rješava, ali da bi slika bila potpuna, nužno je evaluirati i sposobnost praktične primjene tog znanja, a tu bi, bojim se, za FER rezultati bili porazni :-( .

Jer, čak i ukoliko student na ASPu recimo zna na pismenom ispitu riješiti jednostavan problem s binarnim stablima, staviti ga pred kompjuter i reći mu „give me running program“ u velikoj većini slučajeva će završiti fijaskom :-( .

Nekada smo imali Laboratorijske vježbe, gdje su studenti pod nadzorom asistenata barem malo dolazili u doticaj s praktičnim radom, ali Bolonja je, nažalost, labose poslala u ropotarnicu povijesti … Ne da su ti labosi bili nešto perfektno, odnosno rješenje svih problema o kojima pričam, daleko od toga, ali su bar prisiljavali studente na nešto praktičnog rada.

Sada imamo automatizirano ocjenjivanje domaćih zadaća koje studenti uploadaju na website i … kako da to kažem, piracy is rampant :-) (a za ovo se nadam uskoro imati i „znanstvenu“ podlogu). I tako brucoši polože PIPI i ASP a da nikad nisu niti upalili neki C kompajler (a koliko je takvih u postotku, e procjenu tog broja bih volio čuti od kolega u komentarima ;-) ). Kad se tako počne, ni nastavak ne može biti puno bolji.

A di je tu samouki programer iz naslova ? I kakve to veze ima s njim?

E pa ima, jer nedavno sam se našao u diskusiji s jednim kolegom koji je vehementno tvrdio da bi na poziciju programera/developera u svojoj firmi (mali developerski shop) uvijek PRIJE uzeo samoukog programera, nego nekog FER-ovca!!!

Hmmm …

Pitanje za žestoku diskusiju – koja se može presjeći u korijenu – treba uzeti onoga ko bolje zna raditi taj posao! Iliti, ko „više zna“. I gotova priča :-) (btw. moj šef, inače dekan FER-a, je na to pitanje u spomenutom intervjuu u Mreži odgovorio otprilike isto – naravno, u puno ljepšem „pakiranju“). Ali pokušati uspostaviti bilo kakvu generalizaciju u ovom slučaju nužno vodi u flame-war i stoga ćemo to preskočiti.

Ipak, all is no lost u ovoj diskusiji jer pitanje se može postaviti i na drugačiji način! Ajmo probati ovako:

Ukoliko treba birati između B.Sc. inženjera FER-a, i samoukog programera koji je otprilike istu količinu vremena posvetio poboljšavanju svoje programerske vještine kroz praktični rad, koga uzeti ?

Heh … ni tu odgovor nije jednoznačan jer ima različitih FERovaca :-) . Ali, ono što jest sigurno je da FER-ovac (ponovno, ukoliko pričamo o prosjeku!) po „momentalnoj iskoristivosti“ nije ni blizu samoukom programeru!

I to i ne može biti nikako drugačije :-) .

Jer u tri godine koje je student FER-a potrošio na udaranje temelja svom inženjerskom obrazovanju naš samouki programer se mogao posvetiti glancanju svojih koderskih vještina i istraživanju C++a, Jave, PHP-a, AJAX-a, Railsa i svih ostalih hot/in tehnologija. Uz „gaženje“ matematikom, fizikom, energetikom (pa i elektronikom!) i ostalim stvarima koje, da budemo iskreni, sa Computer Science imaju malo ili nikako veze (naravno, ovo za matematiku ne vrijedi!), student FER-a je nužno in disadvantage!

„A jel ti to Zvone kažeš da bi svakome bilo pametnije okaniti se FER-a, uzeti par dobrih knjiga iz programiranja (ili ih naći na internetu) i SAM naučiti programirati?“

NOOOOOOOOOOOO :-)

Da pojasnim stvar iz osobne perspektive – ja sam 90 % onoga što o kompjuterima znam, naučio sam :-) . A kad kažem sam, onda pod time mislim ono što „naučiti nešto sam“ doista i znači – bez ičije pomoći, bez mentora, bez predavanja samo uz (često šturu) literaturu …

Gfa Basic (’90-te), pa C (’92), pa C++ (’95), pa Visual Basic (’99), pa C# (’02) … dva jezika koji ne spadaju u kategoriju „learned by myself“ su BASIC (’88) koji sam naučio na tečaju u Omladinskom domu u Zadru te FORTRAN (’94) koji je bio standard na predmetu „Programiranje“ na prvoj godini FER-a.

Ako ćete ovdje primjetiti da sam u usvajanju programskih jezika malo „usporio“ u zadnje vrijeme, i da bi bilo vrijeme za nove izazove – jest, u pravu ste – ali se već godinu dana odlučujem hoće li to biti Ruby, Python, JavaScript ili F# (a i PHP me nekako pinga u zadnje vrijeme ;-) .

Dakle, može li se sam naučiti programirati ?

Apsolutno da! Uostalom, eno vam primjer Billa Gatesa :-) .

Ali, ali, ali … Dvije stvari se ne smiju zanemariti! Prvo, ja osobno ne poznam puno ljudi koji vezano uz kompjutere imaju isti drajv kao i ja (je, ne znam puno ljudi, vjerojatno je u tome problem :-) ). A da bi sve to naučili sami, treba vam drajva, ooo, itekako treba :-) .

A drugo, onih 10 % znanja koje sam stekao na FERu NIJE ZANEMARIVO !!!

Daleko od toga! I tu dolazimo do jedne od ključnih komponenti razlike između samoukog programera i FER-ovca: FERovac ima širinu! Jer čak i ukoliko pričamo o prosječnom studentu FERa, znači onom koji nije dušom i srcem vezan za kompjutere već je više onako za „odraditi posao i dobiti diplomu pa onda što bude“, ta širina će prije ili kasnije biti od koristi.

Osnove UNIX-a (što se uči na Operacijskim sustavima), baze podataka, računarska grafika, osnove rada mreža, … sve to vješt programer treba znati. A najefikasniji način za sve to savladati je naučiti to na FERu :-) (ok, priznam, ovo bi se moglo/trebalo kvalificirati, ali hej, pa moram vam baciti pokoju kost ;-) .

Važno je dodati da diploma FERa svjedoči i o određenom stupnju sposobnosti, marljivosti i upornosti (iako se nedostatak bilo koje od te tri vrline može nadoknaditi značajnijim angažmanom u druge dvije ;-) , a i usvajanje famoznog „inženjerskog pristupa“ nije za zanemariti (evo još jedne koske ;-) .

Onda, kako ćemo razriješiti fajt između samoukog programera i FERovca?

Standardno … It all depends :-) :-) :-)

Ukoliko naiđete na FERovca s odličnim ocjenama, a koji se tijekom studija nije samo „zabio u knjigu“ već je stečeno znanje nadopunjavao samostalnom primjenom u praksi (pa čak i ako je bilo „samo“ za svoj gušt, kao što najčešće i jest), u rukama vam je dobitni listić na lotu i takvoga potencijalnog zaposlenika nikako ne smijeti propustiti!

Ukoliko se pak radi o studentu FERa koji je „samo“ korektno odradio svoje obaveze na fakultetu, onda je priča malo drugačija i samouki programeri postaju kompetitivni. Naravno, ovdje je bitno i o kakvom se točno poslu radi, ali recimo to ovako: prosječnom završenom studentu FER-a, u situaciji kad se traži standardni developer (recimo, za web aplikacije), činjenica da ima diplomu FERa, ne predstavlja odlučujuću prednost i netko ko već ima tri-četiri godine iskustva rada u praksi s konkretnom/traženom tehnologijom je sasvim kompetitivan, dapače čak i više od toga :-) .

Ovdje ima i jedan „tamni“ aspekt priče s današnjim studentima FER-a – niko ne bi šporkava ruke programiranjem! Svi bi odma bili neki voditelji, menadžeri i slične điđe miđe, uz plaću od 10.000 kuna, službeni auto, a i tajnicu, nek’ se nađe :-) . Ali, to je tema za poseban post…

Za zaključak ove priče je dovoljno reći da osobno poznajem developere koji nikada nisu završili fakultet (većina ih je probala pa nisu uspjeli, a neki nisu čak ni probali!) a ipak su VRHUNSKI programeri :-)

Ukratko, nema jednostavnih rješenja – jedini spas vam je dobar candidate screening process

Što da radi prvostupnik (iliti bakalar :-) s FER-a nakon stjecanja B.Sc. diplome?

Kritizira me vrend neki dan (dok smo gledali kako se na turskom primjeru potvrđuje ona engleska poslovica: „what goes around, comes around“ – Gary Linecker mi je također pao napamet ;-) ) da se (pre)dugo nisam osvrnuo na „obrazovne“ teme na svom blogu :-) .

Što reći nego: mea culpa!

I dodati da prije godišnjih odmora uvik ima dosta posla „za dovršiti“, što uz neke VRLO zanimljive poslove/projekte u perspektivi i angažman oko pokretanja blogerske udruge u Hrvata nadam se može poslužiti kao dovoljno dobro opravdanje.

A povod za ovaj post je članak u zadnjem broju Mreže u kojem Hrvoje Pelaić daje osvrt na „Bolonju u Hrvatskoj danas“ iz perspektive IT obrazovanja.

I da Vam pravo kažem – ČLANAK JE ODLIČAN :-) !

Lijepo je opisano kako se Bolonja „provodi“ u Hrvatskoj (ili preciznije kako se fejka ;-) . FER je za koliko toliko korektnu provedbu Bolonje pohvaljen točno onoliko koliko triba (ima doduše priča oko ASIIN certifikata, ali nećemo sad :-) . Ukazano je na problem worker gap-a koji će se pojaviti na tržištu hrvatske IT snage zbog toga što će većina prvostupnika nastaviti obrazovanje još dvije godine na diplomskom (M.Sc.) studiju (što znači da će kadrovske službe hrvatskih IT firmi biti u još većim problemima ;-) !). I ispravno je ukazano na globalizacijske efekte koji će neminovno zahvatiti i Hrvatsku (s taman ispravnom dozom optimizma – i završetak članka mi se posebno sviđa ;-) .

Naravno, kad bi u članku SVE bilo tako lijepo i točno, ne bi bilo potrebe za ovim postom :-) . A kako je post tu, onda očigledno ima i nešto što mi je „zapelo za oko“.

Naravno ima :-) , a radi se o poslovima koje bi prvostupnici (dakle B.Sc. titula nakon tri godine studija) trebali raditi u gospodarstvu.

Kao što je lijepo u članku napisano, VEĆINA studenata koji uspješno dosegnu B.Sc. titulu (na FERu njih oko 300, od preko 1000 koliko ih je prije tri godine krenulo u „Bolonju“!) će nastaviti diplomski studij i to bi moglo stvoriti probleme u gospodarstvu ukoliko nastane gap između pritoka „starih“ dipl.ing. i „novih“ M.Sc. inženjera.

Ali, to će se nekako riješiti (ako ništa drugo povećati će se plaće ;-) ) a ostaje pitanje što mogu raditi oni studenti koji NEĆE nastaviti diplomski dio studija (zadovoljiti će se da ostanu B.Sc.) ? S obzirom da se Ministarstvo obvezalo na 100%-tno subvencioniranje pohađanja diplomskog studija, barem ne probati odraditi M.Sc. je prilično blesava odluka :-) , ali vjerujem da će biti i takvih (blesava = you are letting FREE MONEY pass you by ;-) .

Dakle – što bi B.Sc. inženjeri mogli raditi nakon što završe studij?

Dati ću odmah i hint – čeka ih PUUUUNO učenja :-) .

A evo što Hrvoje kaže u gore spomenutom članku:

„poslodavci od njega (prvostupnika, op.Z.R.) mogu očekivati nešto slabije opće znanje od nekadašnjeg diplimiranog inženjera, ali dobro znanje o području koje je birao godinama na faksu.“

„Što se tiče posla koje može obavljati, za prvostupnika se smatra da može voditi manje projekte, manju skupinu ljudi ili biti asistent glavnom projektantu. Drugim riječima, poslove srednje složenosti, slične onima koje sad rade inženjeri za razliku od diplomiranih inženjera“

Sorry, ali ipak ne :-)

Ili, preciznije, ko misli da se netom diplomirani prvostupnik može staviti na takvo radno mjesto, taj će se grdo prevariti! Nakon (barem!) dvije godine praktičnog rada u IT firmi, tijekom kojih se dotični može/treba dokazati (i pritom puuuuno naučiti), možda, odnosno svakako DA. Ali, reći da FER OSPOSOBLJAVA svoje završene B.Sc. studente za obavljanje takvih zadataka je – kako da to „mekano“ kažem – TEŠKO PRETJERIVANJE :-) ))) (Editor – baš „mekano“ Zvone, nema što ;-) .

Ovdje je na mjestu jedan disklejmer – ovih 300 studenata što sada diplomira (evo, samo što nisu ;-) ) – koji god od njih da se odluči na „blesavu“ odluku da NE nastavlja studij – triba ga zgrabiti ! A ako je u najboljih 100, onda ga triba zgrabiti by all means neccessary !

To je ekipa koja je uspješno (i to prva!) prošla kroz „nepoznati teritorij“ na putu ka Bolonji i koji su često i u frenetičnom tempu (ponekad i u promjenjivom „okruženju“) odradili što se od njih tražilo! Star quality material :-) . Ne da ih baš sad ODMAH možete baciti na poziciju voditelja projekta :-) , ali dok kažeš keks (pogotovo ovi najbolji!) grabiti će naprid koracima od deset milja :-) .

Alas, pametni kakvi jesu, većina njih će ipak (naravno!) nastaviti studij dalje :-)

A njihov značaj (i reputacija ;-) ) je dodatno potencirana činjenicom da MEĐU NJIMA NEMA PONAVLJAČA !

„Čekaj Zvone, kakvi pobogu ponavljači – toga nema u Bolonji!?“

Ima, naravno da ima :-) . To su oni studenti koji ne uspiju od prve dati predmet. A kako na FERu više NEMA ispitnih rokova, nema ni šanse za popravak nego se dogodine predmet mora odslušati ponovo (to je taj „kontinuirani rad“ – kroz cijeli semestar zadaće, kolokviji i na kraju jedan završni ispit ;-) .

Stvar za ponavljače nije posve crna, jer, ovisno o preduvjetima, mogu upisivati predmete iz viših godina, tako da kiks na jednom ili dva predmeta ne „stopira“ studiranje, ali svejedno znači jednu godinu više studiranja. Što znači da će dogodine B.Sc. titulu steći oni iz druge generacije koji su sve odradili „iz prve“, ali i oni iz prve generacije koji su jednu godinu „kiksali“. A za dvije godine će se u završnom potu naći zajedno TRI generacije studenata. I tako (skoro :-) pa ad infinitum

Naravno, Ministarstvo sigurno ima postavljen neki limit, ali uz nedavnu odluku Fakulteta da se dopusti upisivanje istog predmeta PO TREĆI PUT (koja je kao „još samo ove godine“ ;-) prilično sam siguran da će biti i B.Sc. inženjera koji će cijelu stvar razvući na 5 godina (a poznavajući naš sustav i mentalitet, i oni „dugovječni(ji)“ će naći svoje mjesto ;-)

Zbog toga će se stvari u „ponudi na B.Sc. tržištu“ ponešto promijeniti u odnosu na ovu prvu generaciju (ovdje treba reći da vjerojatno ima i onih koji su zaključili da im je nametnuti tempo prebrz za kvalitetno usvajanje gradiva, pa su namjerno malo „usporili“ i dali sebi jednu godinu više). A kad sistem dođe u stacionarno stanje i kad 50 % (ma 75 %!) najboljih B.Sc. po defaultu ide na M.Sc. studij, a odozdola počnu pridolaziti oni uporni dugoprugaši, kvaliteta B.Sc. inženjera će početi (rapidno!?) opadati.

Zašto !? Odnosno, što im fali ?

U dvi (tri) riči – PRAKTIČNI RAD/ISKUSTVO !!!

Jer, oni ne samo da neće biti za „voditelje malih projekata“, već mnogi od njih neće spadati niti u kategoriju „kvalificirani programer“ !!!

Ovako oštra kvalifikacija svakako zahtijeva pojašnjenje, ali kako sam ovaj post već razdužio više nego što sam mislio, više o tome u sljedećem postu „Samouki programer vs. FERovac“

Malo o prethodnom postu …

Dok se priprema novi post o ulozi testiranja u razvoju softvera, bio bi red da se osvrnem i na komentare na prethodni. Jer, desetak zanimljivih komentara svakako zaslužuje osvrt, a kako je blog u smislu komunikacije dvosmjeran, mišljenja sam da je dobro „paziti i maziti“ kolege blogere koji se potrude sudjelovati u njenom inbound smjeru :-) .

MasterMind (prvi komentator na ovom blogu :) !) je u svojim komentarima bila opširna i otvorila vrlo zanimljivu temu – osnovno informatičko obrazovanje! Kako djecu uvesti u čari programiranja je poprilično zanimljivo i važno pitanje. Koje će definitivno dobiti svoj post, a do tada možete (kao i ja) probati malo guglati (npr. „teaching kids programming“ mi je bio dobar starting point!). Jest da sinčina tek treba navršiti 5 godina, ali triba biti spreman :-) (naravno, ako sinčina bude imati volje, a početni znaci su i više nego pozitivni – iako je za sada kompjuter = igra Formula One – vjerojatno zato što imamo i force-feedback volan ;-) ).

Druga stvar na koju se osvrće MasterMind je posvemašnja neadekvatnost naših „učitelja“ informatike u osnovnim školama. I BITI ĆE SAMO GORE, ako se obrazovni framework radikalno ne popravi! Ali, to je tema za samostalan post koju će odraditi Zvone Radikalni ;-) .

Javio se i BivšiStudent koji je ukazao na problem nekvalitetnog managementa IT projekata. I komentar mogu ocijeniti kao – U SRIDU MAJSTORE :-) ! Kronični nedostatak mid-level menadžera u IT industriji je jedan od glavnih razloga zbog kojih IT industrija u Hrvatskoj ne može razviti puni potencijal (kako ja doživljavam tu poziciju, radi se o voditeljima odjela/projekata/timova – znači ljudi na razmeđu čisto tehničkog IT dijela i višeg managementa koji je, jel’te čisto menadžerski – a možda bi to u stvari bio low-level management!?). Što reći, nego da će i problem vođenja softverskih projekata također uskoro dobiti svoj zaseban post. I BivšiStudent je na pravom tragu kad spominje tehnike agilnog programiranja ;-) .

CikaVelja je također bio opširan u svom komentaru, a sukus je:

ti se zahtjevi ne mogu predvidjeti, ali se može predvidjeti njihovo postojanje. I besmisleno je analizirati kakvi bi mogli biti (ako su predvidivi treba ih odmah i ukalkulirati), pa projekt treba napraviti tako da teži idealnom a realizirati ga najbolje moguće u danim okolnostima – što znači da je glavna stvar odredti što je realizirani projekt a što nije.

Iliti, od changing requirementsa se NE MOŽE pobjeći :-) .

Upravo tako Veljko!

Comrade from the trenches (ali i „ideološki protivnik“ ;-) borgman se također javio. Dobrodošao!

A za kraj, i malo šuga, se javio puzz koji je sebi dao truda i napisao kratki osvrt na moj post. U kojem iznosi tezu da je naslov posta pomalo promašen jer „Zašto IT projekti kiksaju“ nije jedinstveno pitanje.

I puzz je apsolutno u pravu :-) .

IT projekti mogu kiksati na sto različitih načina, i kao što puzz točno ukazuje, različite vrste softvera imaju i različite glavne faktore rizika. Ali, namjera prethodnog posta nije bila klasificirati SVE moguće razloge kiksanja IT projekata. Namjera je bila osvrnuti se ponajprije na metodološke probleme u razvoju softvera! Ne tehničke (je, IT projekti kiksaju zbog tehnologije), ne financijske (je, nedostatak šoldi ultimativno vodi u kiks), ne motivacijske (je, odlazak lead developera eksponencijalno povećava šanse za kiks), a ne ni human-resources-related (je, ako imaš loše developere, crno ti se piše).

Sve su to mogući razlozi/uzroci kiksanja IT projekata, ali, kao što rekoh, ta pitanja nisu bila u mom fokusu. Daleko od toga da su ona nevažna, ali that was not the point here! Jest da sam mogao i staviti malo bolji/precizniji (i duži!) naslov pa da sve u startu bude jasno, ali u terminima standardne blogovske navlakuše, mislim da i nisam previše zgriješio :-)

Zašto IT projekti (pre)često kiksaju?

Razlog je vrlo jednostavan, i ukratko ga je briljantno sumirao Donald Knuth u predgovoru knjige Scotta Roseberga „Dreaming in Code“:

Software development is hard!

Teško, složeno, komplicirano … koji god hard-sinonim stavite kao pridjev uz razvoj softvera, dobro ste ga stavili. Izvještaji Standish grupe o uspješnosti IT projekata, iako u zadnje vrijeme pokazuju određen pozitivne pomake, ni u kojem slučaju nisu pleasent reading za bilo koga tko se sprema u takvu avanturu, a lista propalih softverskih projekata, čak i ako ćemo se ograničiti samo na one s preko 100.000.000 „uništa“ utučenih dolara, valjda jedva stane na list papira! (evo jednog popisa koji sam pronašao). Od aerodroma u Denveru do FBI-evog Virtual Case sistema … primjera koliko hoćeš.

Zašto je tome tako kad danas svaka šuša zna napraviti web site ili neku jednostavnu aplikaciju za vođenje kafića?

E, upravo je u tome problem! Ili, preciznije rečeno, jedan od problema. Moderna integrirana razvojna okruženja (IDE) naizgled doista omogućavaju vrlo jednostavnu izgradnju čak i složenijih aplikacija a ne bi bilo pretjerano reći da im je to i ultimate driving force!

Definiraj par tablica u bazi, kreiraj konekciju, napravi Windows/Web formu, stavi SqlConnection/DataAdapter/DataReader/DataGrid, Ctrl+F5 i voila … gotovo (ovo je stvar iz Microsoftove perspektive, but you get the point :-) .

I ja osobno mislim da je to prekrasno :-)

Jer, kad se sjetim svojih početaka s Commodoreom VC-20 s 3 KB memorije (ali, imao sam „proširenje“ na cijelih 11 Kb!) i kako sam u čistom mašincu (čitaj, ukucavanjem mašinskih kodova u Basicu korištenjem DATA naredbe – nije bilo asemblera!) brljao po video memoriji „grafičke kartice“, na ovo što danas mladac od 13-14 godina može izvesti na PC-ju mogu samo reći – VAU :-) .

Ali, ali, ali …

There is a dark side of the story here!

Koja izlazi na vidjelo iznošenjem jednostavne činjenice – nikad više kao u doba dok sam se „igrao“ s mojim Commodorcem neću toliko znati o tehnologiji koju koristim!!! (a doista je zanimljiva koincidencija da nešto slično tvrdi i Coding Horror CAR u svom postu , i btw. ja se s njim potpuno slažem da je car Dijkstra bio u krivu :-)

Onog trenutka kad sam posve ovladao BASICom i mašincem za 6520 procesor (knjiga Dejana Ristanovića “Mašinac za 6520 i Z80″, jednog od careva davnašnjih „Računara“, mi i danas budi jedinstvene osjećaje ;-) ), te kad sam nabavio specifikaciju za VC-20 (čitaj, popis i namjenu memorijskih lokacija – što bi danas rekli BIOS) svijet je bio moj.

Od tada pa danas, it was all downhill u borbi s složenošću sofvera!

Naravno, ovdje se mora reći da je to moja osobna percepcija/iskustvo i da sam svjestan da su ljudi dok sam se ja bakćao s video memorijom na VC-20 već gradili prilično složene IT sisteme (mainframe is the catch word here), ali vjerujem da će većini onih koji imaju bar 10-godišnje iskustvo u razvoju softvera biti jasno o čemu pričam. Tipična „aristotelovska“ priča – ne znam da li bih taj vremenski trenutak stavio u 40-te ili 50-te, ali prilično sam siguran da je davno bilo kad je netko mogao reći da „zna sve što se o kompjuterima ima znati“.

I, da se vratimo na ulogu modernih IDE sistema, u skrivanju te sve veće kompleksnosti IDE vendori su odradili vraški posao, a odrađuju ga i dalje (jel se ko sjeća Turbo Pascala, ili možda Visual Studia 6.0? – ma da sjećam, održavam još i danas ;-) .

Ali, problem je što je ta složenost ipak „samo“ skrivena! Ona je i dalje tu, i pomalja svoju ružnu glavu svaki put kad u nekoj third-party biblioteci ili komponenti (ili samom IDE okruženju!) iskoči bug, ili kad ju koristite na način na koji developeri koji su je pisali nisu računali. Kako je danas svakome jasno da potpuni in-house razvoj nije kredibilna opcija (za iole složeniji IT sistem) situacija može biti/postati prilično pipava.

Ipak, savladavanje složenosti nije nepremostiv problem, kao što cjelokupni dosadašnji razvoj ljudske civilizacije zorno ilustrira! Od Space Shuttlea do najnovijeg Airbusa (iako će netko ovdje sigurno primjetiti da su to dva odlična primjera kako složenost ljudi ipak nisu do kraja nadvladali ;-) grade se sve složeniji sustavi. Nažalost, softver je u tom fajtu sa složenošću suočen s jednim dodatnim problemom, od kojeg ne pate ostale inženjerske discipline s kojima se razvoj softvera često uspoređuje, a to je problem mijenjajućih zahtjeva (iliti na engleskom, a i bolje zvuči, changing requirements)!

Da bi posve shvatili s kakvim su calamityjem ovdje developeri softvera suočeni, povući ću paralelu s građevinom – područjem s kojim se izgradnja softvera često „analogizira“ (građevinari grade fizički, softveraši virtualno pa to valjda nekako „dođe na slično“).

Zamislite, na primjer, da Vas kao uspješnog poduzetnika i vlasnika građevinske firme, kontaktira naručitelj koji želi da mu sagradite fensi-šmensi neboder od 20 katova. Ništa lakše – nađe se arhitekt koji napravi turbo-gtx-injection dizajn, koriste se sve redom najmoderniji materijali, pazi se na energetsku efikasnost, naprave se nacrti i gradnja kreće. Sve se odvija po planu (dobro, ne baš, ali zadnjih dva mjeseca će se raditi i nedjeljom pa će se nekako stići), katovi se polako nizaju i svijet je u ružičastim bojama.

I onda jednog dana dolazi naručitelj i kaže:“Slušaj, znam da sam rekao da nam garaža neće trebati jer sam računao da ćemo iskoristiti ovo zemljište pored za parking, ali sad su se stvari promijenile i treba napraviti i garažu za par sto auta ispod nebodera“!

Što mislite, da li je ikad iti jedan građevinac dobio takav zahtjev od svog naručitelja?

Možda i jest, u nekoj specifičnoj situaciji and with lots of money to throw around, ali sam prilično siguran da bi reakcija svakog građevinca danas u Hrvatskoj bila ????????? Radi se naprosto o toliko očigledno glupoj ideji da vjerojatno nikome to ne bi palo napamet ni pitati!

Nažalost, kao što to vrlo dobro svaki developer zna, takvi zahtjevi su manje više normalna stvar prilikom razvoja softvera. (a izvrstan primjer klasičnog nerazumijevanja pogledajte ovdje).

„Ma to ti je samo dodati jedan gumbić na formu, ukucaš malo koda i to ti je to – ja ti to u dBaseu isprogramiram za jedno popodne“ (ovo je ako ste imali sreće pa za menadžera imali nekoga ko je u životu imao bar malo doticaja s programiranjem :-)

Manje više svatko zna da građevina mora imati temelje i da jednom kad si svoj neboder „utemeljio“ i na tom temelju izgradio 10-ak katova, ići graditi garažu ako i nije nemoguće definitivno nije nešto na što bi se čovjek išao odlučiti laka srca.

A u softveru? Nema problema: „Pa to su sve samo neke điđe miđe po ekranu – nema tu tona i tona betona, čelika i zemlje za prevrnuti“. Na što je moj jedini komentar – što bi programeri dali da su stvari koje oni „prevrću“ prilikom udovoljavanja željama naručitelja tako jednostavne kao beton, čelik ili zemlja!

Jer, kako građevinac zna da nema smisla graditi garažu ispod već napola izgrađenog nebodera? Odgovor je jasan – građevinska statika je prilično uznapredovala znanost i prilično dobro će ukazati na sve probleme koje u izvođenju takvog poduhvata treba riješiti.

Zašto tako ne bi moglo i sa softverom?

E zato jer kod softvera ima na desetke, stotine i tisuće različitih „prijedloga za garažu“ koji se mogu smisliti, odnosno s kojima naručitelj može banuti pred developera! Stvar je još i gora zato jer je posve nerealno očekivati da se sve potencijalne „garaže“ unaprijed mogu identificirati (što bi Rumsfeld rekao, to su „unknown unknowns“ – btw. to je, barem po mom mišljenju jedan od najpodcjenjenijih komentara u povijesti – koliko je zbog toga ridikuliziranja čovjek proživio a rekao je briljantnu istinu, koja je istovremeno i očigledna na način na koji samo briljantne istine mogu biti očigledne ;-) . A da ne spominjemo beskonačno šire mogućnosti INTERAKCIJE među različitim dijelovima softverskih sustava (u odnosu na klasičnu građevinu)!

Jer, kad se nešto (fizički) gradi tijek je manje više poznat – nosiva konstrukcija, pregrade, instalacije i na kraju unutrašnje uređenje, i, što je u ovoj priči još i važnije, svaki element se može proračunati i prilično dobro definirati kako interagira s ostalim dijelovima cjeline. Rezultat takvog procesa je da se u konačnici većina izgrađenih konstrukcija vrlo malo (ako i ikako!) razlikuje od nacrta po kojem su napravljeni!

A Vi mi pokažite softverski sistem za koji vrijedi to isto (a da nije napravljen za američko ministarstvo obrane ;-)

Waterfall način razvoja je prošlost, a svi oni projekti koji počnu „napraviti ćemo to i to (gdje je „to i to“ definirano u otprilike par rečenica!) za 2,3 ili 5 godina i to će koštati 10,50 ili 100 tisuća/milijuna kuna“ su naprosto osuđeni na neuspjeh (gdje razina neuspjeha može biti različita – od potpunog neuspjeha i odustajanja od projekta pa do različitih nivoa probijanja budžeta i time-framea za izvedbu projekta).

Razlog tome je vrlo jednostavan – ne postoji softverski developer/dizajner/arhitekt koji za sistem koji ima više od 10, 20 ili 50 tisuća linija programskog koda može unaprijed predvidjeti sve tehničke začkoljice/probleme koji će se pojaviti, i što je još važnije, naknadne zahtjeve naručitelja koji će iskrsnuti prilikom izgradnje sistema. Takvog jednostavno nema, a ko vam kaže da je on taj, ili laže ili nema pojma (a vi se odlučite koaj od te dvije opcije je „bolja“ ;-) . Naravno, ovdje je bitno pripomenuti da gornja izjava vrijedi ukoliko imate „normalan“ budžet za razvoj svog softvera! Ako imate godišnje na raspolaganju 500 milijardi dolara koliko ima Pentagon, onda možete sebi priuštiti 10,20 ili 50 analitičara/dizajnera/arhitekata koji će doista detaljno proroštati problem!

Za sve nas ostale smrtnike ostaje činjenica da je promjena u zahtjevima naručitelja neminovna i osnovno pitanje kod razvoja svakog softvera je kako se prilagoditi toj činjenici. Lamentacije tipa „zašto se ti naručitelji konačno više ne odluče što žele“ su u biti kontraproduktivne i esencijalno pogrešne!

Pogrešne zato što upravo u mogućnosti promjene leži najveća snaga softvera kao takvog! Jer, bilo da do promjene dolazi zbog naknadne pameti naručitelja, bilo da do nje dolazi zbog promjene poslovnih prilika na tržištu i pojavljivanja nove business opportunity, promjena je „dobra“ zato što rezultira, odnosno može/treba rezultirati, poboljšanjem softvera i generiranjem većeg profita od njegove izrade.

Ono što softver u osnovi razlikuje od građevine je što pruža neograničene mogućnosti isprobavanja i testiranja! A kako testiranje može pomoći u savladavanju “promjenjive prirode” softvera, u jednom od sljedećih postova …

Za početak …

Eh, ovo mi je već treći početak, a kako su završila prva dva možete pogledati na http://cppbilder.blog.hr.

Ipak, mislim (nadam se ;-) da će biti po onoj treća sreća. Nakon dvogodišnjeg iskustva bloganja o politici i razno raznim stvarima (vidi http://zvoneradikal.blog.hr)  došlo je vrijeme da se uhvatim “pravog posla”. I da počnem pisati o stvarima kojima se bavim već 20 godina i u koje se stvarno “kužim” ;-) .

Lekciju sam naučio u prethodna dva pokušaja tako da ovdje neće biti silnih najava o tome koje ću teme obrađivati, već ću samo reći da će naglasak biti na principima OO dizajna (s posebnim naglaskom na domain driven design tehnikama/principima), test driven development će se isto često spominjati, a što se tiče tehnologija, naglasak će biti na .NETu uz ponešto C++a, for the sake of good old times ;-)