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 …
Filed under: FER | Tagged: obrazovanje na FERu
Pa nismo si mi sami ukinuli auditorne i labose iz programiranja niti smo odlučili da pišemo ispite na papiru, a ne na računalu…
Dakle..već neko vrijeme čitam postove o bolonji i problemima, rasprave tko što može nakon faksa i slično. I nekoliko stvari koje sam zamjetio da nitko ne spominje. Nakon bilo kojeg faksa nitko od diplomanada, bilo starih ili novih, ne zna ništa. Nemojte me sad krivo interpretirati, ali njihovo znanje o praktičnim stvarima i poslovima koji su potrebni njihovom poslodavcu je vrlo malo. Zašto onda zaposliti dilpomiranog inžinjera iliti FER-ovca o kojima je ovdje riječ? Zato jer je čovjek 5 godina rintao i radio i naučio je kako doći do cilja. Ono što FER, a nadam se i svaki drugi inžinjerski fakultet, nauči je kako se snaći, gdje nešto naći, kako i koliko raditi, kako doći do cilja. Daje upravo tu jednu sposobnost da radiš bilo što i da si sposoban usvojiti različita gradiva, znanja i struke. Ne znam zbog čega razmišljanje da s 23 ili 24 godine trebaš dobiti gotov proizvod. Ok, ako imaš izvrsnog studenta sa samostalnim praktičnim iskustvom definitivno imaš jackpot, i to kakav. Al iskreno, ima li takvih više od 1%? FERovca zaposliš jer takav inžinjer zna učiti, svjestan je da mora uvijek i stalno iznova učiti i usavršavati se te je sposoban biti nešto više od fahidiota koji zna samo programirati u određenom programskom jeziku
dvije nevjerojatne pogreške…Zvone dragi
, svi do zadnjega smo BRUTE FORCE USERS
jer smo ili kod PLC-ova, ili kod programiranja orijentirani na rezultat!
)) (najčešće radom, a pravi inženjeri ne predaju na faksu, pa studenti i nemaju mogućnost to naučiti:-)
(možda je razlog 30% neuspjeha jer je projekt vodio ŠKOLOVANI, a ne ZNALAC)
odakle ti i idea kako bi netko potrošio par samoukih godina na glancanje svog “stila” u C++ (npr.) Pogotovo ako je radio u struci!!!
-Takvi (a spadam među njih)… ne spadaju u glancaroše, bilo čega. Oni najčešće preživljavaju, često sa obiteljima, i “ulažu” nevjerojatnu razliku energije u taj svoj “dopunski” projekt. JA ne znam niti jednoga koji je “glancao stil”
- Inženjerski pristup se ne dobiva diplomom
-@anonimus ti je dobro opisao bilo kakvog studenta… većina misli kako je diploma završetak, a niti jedan kako je ona tek početak “radnog postojanja”
- znanstvena “širina” se ne dobiva diplomom!!!! (za znanstvenu širinu treba daleko više osobne predispozicije i želje za znanjem)
- diploma osigurava “pristup” radnim mjestima koja traže diplomu (s razlogom ili bez), a u IT-u radna su mjesta tako koncipirana da diploma služi za diplomu (za k….), ali zato uredno poskupljuje projekt (jer na njemu rade “školovani” buhahahaha!
I na kraju, samo si dotakao, ali UZOR za “diplomante” nisu šljakeri i programeri, nego manageri (pa makar imali diplomu managementa u dilanju, te su najbolje plaćeni), ili manageri u politici, (e ti su oni pravi! omjer “rada” i plaće je nevjerojatan)…
I na kraju, diploma ipak, najbolje služi, na zidu, okačena o klin, u okviru, iznad stola od orahovine, neupaljenog računala, i kod čovjeka koji na pitanje:
- Gospodin Ohm danas nije navratio!- ruka na telefonu- Katice kada gospodin Ohm sa svojim zakonima dođe, uvedite ga odmah!-
…dakle Zvone, sad sam zbilja šokiran. Kada mi je frend rekao da na ETF-u više nema laboratorijskih vježbi i mjerenja mislio sam da se zajebava! Dakle, kad izađete u pravilu ne znate ništa a svoje znanje programiranja možete uz časne iznimke objesiti mačku o rep. Zamisli sada da u praksi takav zelembać treba kreirati kompleksniji VIS u programu LabView i izvršiti neka očitanja sa kapacitivne sonde, signala oko 2mV, uronjene u neki tekući medij. e sad, sonda je udaljena od VIS-a tridesetak metara u industrijskom pogonu punom svakojakih izvora smetnji tipa kojekakvih električnih iskrišta. Znaš li kad će friški “jebač teoretičar” nešto suvislo izmjeriti? Nikad! Badava mu to što je savršeno isprogramirao LabView, mogao je čak i isprogramirati neki novi LabView, ali postavljeni praktični problem neće moći riješiti. Morat će pozvati neku staru praktičnu konjinu sa iskustvom od pokojeg desetljeća da bi riješio postavljeni problem. A znaš sto je najveći paradoks? Ja ću se dovoljno snalazit u LabView-u nakon samoukih 6 mjeseci igranja a ti koje spominješ neće savladat moje “štoseve” samo ako im ja pokažem kako. Smisao ovog mog komenta nije da nekog omalovažavam, naprotiv, skidam kapu, al društvo, dajte se malo otpuhnite!…:)))
@sagi…. Zvone nikako da prizna kako “proizvode” samo one sa managerskim i ostalim “višeklasnim” sklonostima. Tj. podržavaju Hrvatsku kao zemlju u kojoj se od TRGOVINE živi. Cijeli ostali svijet se BORI da bi zadržali kakav komad kolača iz proizvodnje (pa i softwarea), a naša sve-učilišta ukidaju čak i one elementarne pojmove obuke za stvarni život, kao što su rad u laboratoriju
(
)))
Sve je to zapravo DrIvin trend, imamo vlast koja mijenja dionice INE za dionice MOL-a (čime postaju bezvrijedni dioničari)… tako i “proizvodimo” one, koji imaju diplome koje u stvarnom životu vrijede, kao i papir na kojemu su tiskane:-((
(jer ako ti treba tri godine da od diplomca napraviš sistemca, mogao si ga uzeti i bez škole i educirati po svome, tu ti ga diploma samo poskupljuje)
Imaginarno znanje, imaginarna vrijednost, imaginarna suverena država… jedino Zvone u tom svijetu duhova, k’o Alice u Zemlji Čuda
ajde smirite se, molit ću lijepo. to što nema labosa iz pipi-a i asp-a ne znači da ih nema iz drugih predmeta. a ima ih iz većine predmeta…
Komentare nisam čitao, no višemanje se slažem s ovim: http://www.iovene.com/why-most-programmers-are-lousy/
@borgman:
Brute force programiranje tijekom vremena rezultira glancanjem stila; dakle to što ti pričaš je isto glancanje stila
No slažem se, što sam više na FERu to više imam osjećaj da mi ta diploma neće u ničemu pomoći da budem osjetno bolji programer. FER me dosad najviše naučio principe iz baza podataka i dodatne stvari u SQLu. Inače? Inače bi mi puno bolje bilo na TVZu koji, koliko čujem, i dalje ima puno praktičnih radionica.
Ovo me neodoljivo podsjeća na mog tatu koji je izjavio da moj posao može raditi čovjek s osam razreda osnovne škole.
Budimo realni (što bi reko Kazo) svaki posao može raditi bilo tko ako ima dovoljno talenta i volje, ali ne vidim rasprave o tome je li bolji samouki pravnik ili onaj s diplomom?!!!
Ja sam sigurna da bi ja bila super pravnica, pa mi ne pada na pamet položiti “tečaj” za pravnicu i otići se prijaviti za posao u nekom odvjetničkom uredu.
I da se vratim na svog tatu koji liječi svinje koje uzgaja makar je kovinotokar, ali nisam vidjela da netko iz veterinarske stanice otpušta nekog tek diplomiranog veterinara (koji zna puno manje od njega) da bi njega zaposlio.
eh…koji postovi…zalosno sto nitko nije svjestan da je ovo 10 puta t gore nego prije za studente. Jel tko svjestan sto znaci nemati auditornih vjezbi na tehnickom fakuleteu nego samo jadna predavanja na koje nas tjeraju dajuci nam bodove za prolaz iz njih. Bez auditornih, samo svaki predmet ucimo doma,trazeci materijale i ubijajuci se skuziti sta i kako funkcionira i to iz svakog predmeta. A labosi, ima ih, istina, al’ bolje da ih ovakvih uopce nema. Ne znam kako je bilo prije.Al’ sad ti zadaju zadatak koji trebas doma rijesit i tamo objasnit,il dodjes daju ti zadatke da rjesis,a da pritom ne objasne nista,pa se ti snadji i proucavaj sto je sto i cemu sluzi..
Jos k tome, nema rokova,. roknes 1predme,tek dogodine ponovno,kao sto je vec receno, produzis studij 1 god zbog 1 predmeta…
A sto je najzalosnije, sustav je takav da te ispitima,(medjuispitima) ,.ebu u zdrav mozak…neki su ok,a neki su bas onakvi da je prosjek 4 boda od 20, sto nije normalno …al’ kako kazu…vole se nedobudni asistenti i povrjeđeni profesori igrati sa zdravljem studenata kojima je pun kufer preseravanja na ovome faxu…a nazalost..iz vana je sve super,a unutra je raspad sistema…samo sto nas dekan to vjesto prikriva…
A kad ferovci pricaju o tome da se pobune, javi se neka “pametna” il mozda realno gledajuca osoba,koja kaze,bolje da sutimo,jer ako se pobunimo,samo ce nam biti gore…sto je i istina…
I da…na niti jednom faxu,pa ni prije Bolonje na Fer-u, ti nakon faxa nisi izisao sa znanjem nego si ucio na poslu (provjereno kod bivsih ferovaca), mozda neki nadobudni su znali i prije dosta toga…al’ jedno u sto sam sigurna je da na Feru znas sto su suze,”krv” i znoj… i kad krenes na posao, ti postanes uporan,ucis neprestano..i to je prednost ferovca…
nisam citao sve komentare, i vidim da je ovo zastarjeo post al evo da prospem malo i ja svoje “mudrosti”,
koliko sam skuzio tvrdis da su samuki programeri bolji od ferovaca?
ja spadam i u jednu i u drugu kategoriju, i stava sam da nisi upravu.
naravno da covjek koji programira 4-5 godina u nekom programskom jeziku ce bolje i brze isprogramirati nesto u tom jeziku od ferovca koji nikada u svom skolovanju nije vidio taj jezik
al ja iz iskustva znam da ce taj isti ferovac koji prvi put vidi taj jezik nauciti programirati u tom jeziku i biti jednako dobar kao i taj programer za 2-3 mjeseca programiranja.
i naravno da ferovac moze voditi projekat bez poznavanje tehnologije u kojoj ce se projekat ostvariti ,
jer programiranje je programiranje , nije bitno u kojem je jeziku, teorija programiranje je identicna, a buduci da znam prilicno vjesto programirati u 5 programskih jezika mislim da s pravom to mogu tvrditi
morate shvatiti da na feru nije cilj uciti ljude konkretnim postojecim rjesenjima, i tehnologijama, jer tehnologije napreduju munjevitom brzinom i ono sto bi ferovac naucio u prvoj godini bi do njegove diplome vec zastarilo i nebi imao koristi od toga
tako da je cilj fer prosiriti nacin razmisljanja ferovca, i u biti napraviti takovog covjeka koji je u stanju u vrlo kratkim rokovima svladavati nove tehnologije koje se pojavljuju, te kao pravi inzinjer imati tu sirinu da sam dolazi do svojih rjesenja