ITdating: U digitalnom raju
Softverskog inženjera u Srbiji posao očekuje čim izađe iz fakultetske klupe, a možda i pre toga. Kako da odaberete radno mesto na kome će ceniti vaše sposobnosti, ali i koje će vam dati priliku da te sposobnosti unapredite?
Ako iko u našoj zemlji može da radi u uslovima koji karakterišu uspešne kompanije u razvijenom svetu i da za taj rad bude veoma dobro plaćen, onda su to softverski inženjeri. Naši saradnici su obišli nekoliko velikih firmi koje se bave razvojem softvera i konsaltingom u oblasti ICT‑a i vratili su se impresionirani onim što su videli. Udobne, prostrane kancelarije koje inženjeri uređuju prema svom ukusu, zajedničke prostorije za odmor i rekreaciju, fleksibilno radno vreme, razne beneficije, česta putovanja u bliske ili daleke krajeve, kursevi za stručno usavršavanje… O platama je, naravno, nepristojno pitati, ali se stiče utisak da nisu male. Gomila dobrih razloga da programeri zaključe kako su odabrali pravu profesiju.
Ozbiljan posao…
Ako malo oslušnete šta oni koji su odabrali neke druge profesije kažu o programerima, utisak će biti nešto drugačiji. Čućete da se radi od jutra do sutra, da se po čitav dan nepomično sedi ispred računara, da svi ti lepi radni prostori služe samo da bi ljudi što više sati dnevno radili, da rad od kuće znači da više niste na poslu 12 nego 18 sati dnevno, da nemate subote, nedelje ni praznike, da je džabe tolika plata kad nemate vremena da je potrošite… ukratko, da programeri „nemaju život“. Došli su jednom u Matematičku gimnaziju, naučili da tamo nema druženja ni žurki („Žurka u MG? Ponesite digitron“), zatim su otišli na Softversko inženjerstvo na ETF‑u, čak su i Elektrijade preskočili, i onda su se već na trećoj godini studija zaposlili u nekoj stranoj firmi gde će ih iscediti kao limun. Takve priče sadrže priličnu dozu „kiselo grožđe“ sindroma i uglavnom stižu od raznih kafanskih filozofa koji sede po kladionicama i nadaju se premiji na Lotou, ali koliko god bile zlonamerne, mora biti da u njima ima i neko zrno istine.
Posao softverskog inženjera je, istini za volju, vrlo težak. Pre svega zato što, kao uostalom i u drugim inženjerskim disciplinama, stvar mora da se dotera do kraja. Program koji je „samo malo pogrešan“ je potpuno neupotrebljiv – ili dobijate željeni rezultat, ili morate da se vratite na početak i pokušate ponovo. Svaka greška u razmišljanju se negde ispolji, i što se to kasnije desi to ju je teže otkriti i ispraviti. Dolazak do neke nove ideje i, naročito, njeno pretvaranje u upotrebljiv proizvod zahteva veliki intelektualni napor i značajno vreme, bez garancije da će stvar uspeti, a naročito bez garancije da će je tržište prihvatiti. Zato se toliko radi i zato je sve uvek neizvesno.
Treba znati i to da je vreme kada je jedan čovek mogao da napiše program davno prošlo. Bil Gejts je gotovo sam napisao prvi bejzik interpretator, Dan Bricklin i Bob Frankston su za dva meseca napisali VisiCalc i tako stvorili kompletnu klasu programa (spreadsheet), osamdesetih godina su se klinci u Engleskoj obogatili pišući igre za Spectrum, ali danas je svaki program rezultat timskog rada. Staro vreme je nakratko zaživelo bumom mobilnih aplikacija, ali je i njima ubrzo zatrebala grafika, muzika… i eto opet potrebe za timom. Rad u iole većem timu donosi dodatne izazove, periode „mrtvog hoda“ kada se čeka ovo ili ono, osećaj da svi kasne a na kraju samo vi, kao poslednji u lancu, ispadate krivi, razne trzavice, povremene svađe i nerviranja. Što, uzeto zajedno, čini posao još težim.
…koji volite
Tako težak posao ljudi mogu da rade samo ako ga vole. Čak ni plata od 3000 (ili više) evra mesečno neće vas naterati da radite 15 sati dnevno, sedam dana u nedelji, niti poslodavac ima pravo da očekuje takav angažman, bez obzira na radne uslove koje nudi. Stvar je u tome što pravi programeri vole svoj posao, i gotovo da ga i ne smatraju poslom. Što bi rekao Mark Tven u legendarnoj sceni sa farbanjem ograde iz „Doživljaja Toma Sojera“, reč rad se odnosi na ono što se mora učiniti, a reč igra na ono što žudimo da učinimo. Programer, sedeći ispred svoje tastature, stvara nešto novo, a stvaranje donosi veliko zadovoljstvo i predstavlja ogroman intelektualni izazov. Virtuelni svetovi nastaju po pravilima koja su se formirala u umu programera, zatim se ti svetovi razvijaju, menjaju i poprimaju konačnu formu u kojoj će mnogi korisnici uživati. Takav izazov je vredan velikog rada koji se mora uložiti u njegovu realizaciju, i svaki programer će ga upravo tako shvatiti – kao izazov, a ne kao posao.
Da bi se došlo do dobrih ideja moraju se osmatrati i ideje drugih, i baš zato većina softverskih inženjera obožava nove uređaje, gedžete, mobilne telefone… Tako se na pitanje „Šta će ti M10 kad on nije bitno upotrebljiviji od M9 ili čak M8?“, odgovara kontra pitanjem „Kako neko može da koristi M8 ili M9 kad zna da postoji M10?“ (a eto i prilike da se troši plata). Programeri su izgradili oko sebe geek kulturu koja podrazumeva i nizove „relikvija“ kao što su Star Wars svetlosni mačevi i Avengers figure, ili „besmrtne“ diskusije na temu šta je Han Solo mislio kad je rekao da je „Millennium Falcon prešao Kessel Run za manje od 12 parseka“ iako je, barem u našem univerzumu, parsek mera za udaljenost. Pametan poslodavac zna da programeri stvaraju oko sebe svet u kome se dobro osećaju, i da će u tom svetu, sa kolegama sličnih interesovanja, biti najproduktivniji.
Veliki problem koji muči većinu mladih softverskih inženjera – i to problem koji je utoliko ozbiljniji što ga oni i ne primećuju, živeći u srećnom okruženju drugih programera – jeste odnos s korisnikom. Programer stvari gleda iz svoje perspektive, umesto da zamisli korisnika kome je proizvod namenjen. Već je legendaran slučaj beogradskog programerskog tima koji je pažljivo proučio projektni zadatak, modelirao bazu podataka, relacije i izveštaje, a onda kada je projekat predat, ispalo je da uopšte ne postoji mehanizam kojim bi se podaci unosili u bazu; nikome od programera nije palo na pamet da je tako nešto uopšte potrebno. Programeri koji su sposobni da, kroz stalnu komunikaciju, razumeju potrebe korisnika i onda te potrebe transformišu u specifikacije onoga što program treba da uradi, i najzad koordiniraju realizaciju tog programa, prolaze najbolje, zarađuju najviše i, što je najvažnije, pripremaju se za karijeru posle programiranja.
A sutra?
Da, karijeru posle programiranja… Ma koliko im danas lepo bilo, programeri treba da razmišljaju i o sutrašnjici. Jedino što je u svetu developera konstantno jesu promene – tehnologije dolaze, traže da ih upoznate i onda začas nestaju, da bi bile zamenjene nečim drugim, čak ne nužno boljim. Niko danas ne očekuje da će 40 godina živeti od znanja koje je stekao na trećoj godini studija, ali su za programere promene drastično brže. Sva je prilika da već dve godine posle studija nećete koristiti ni jedan programski jezik ili okruženje koje ste upoznali na fakultetu, a sve to što je novo treba prepoznati na vreme i osvojiti u što kraćem roku. Zato i jeste ključno da programer razume načine kako se problem rešava, a konkretni alati su nešto što će dolaziti i prolaziti. Velika je greška „zakopati“ se u jednu tehnologiju – treba umesto toga upoznavati i alternative, da bi se kasnije primenile one koje najviše odgovaraju konkretnoj situaciji.
Sve moderne firme su itekako zainteresovanje za permanentno obrazovanje svojih softverskih inženjera – rado će ih upućivati na kurseve, snositi sve troškove njihove sertifikacije za primenu novih alata i korišćenje novih uređaja i davati im slobodne dane potrebne za spremanje ispita. Uostalom, zapošljavanje određenog broja sertifikovanih stručnjaka je često uslov za viši nivo partnerstva s vendorima, što kompaniji donosi razne beneficije. S druge strane, stekli smo utisak da kompanije nedovoljno stimulišu inženjere za nastavak školovanja, tj. da nisu svi spremni da plaćaju troškove master i doktorskih studija koje bi izdigle inženjera iznad stručnog rada i usmerile ga ka tehnološkim inovacijama.
Stalno obrazovanje i podizanje na viši stručni nivo je ključno za uspešnu karijeru – ne želite da u četrdesetim ili pedesetim godinama ostanete neko ko „samo“ piše kod, suočen s „nekim novim klincima“ koji će u tom poslu verovatno biti znatno efikasniji. I upravo je to glavni kriterijum na osnovu koga ćete ceniti ponude koje dobijate – zapitajte se da li u firmi koja vas poziva, osim odličnih uslova rada i visoke plate, ima uslova za napredovanje, za sticanje iskustava i dostizanje pozicija na kojima ćete voditi nove generacije programera putem koji ste tokom prethodnih decenija prešli.
U zemlji ili inostranstvu?
Mnogo je softverskih inženjera pravo iz školskih klupa otišlo u SAD, Kanadu, Australiju, Nemačku, Švajcarsku… Neki od njih su se tamo odlično snašli, drugi su se prilično brzo vratili, a ima i onih koji su uspostavili most između domaćeg i stranog tržišta, pa ugovaraju poslove koje ovdašnji programeri onda realizuju. Mogućnost da se ode u svet, gde su plate još veće, uvek je privlačna i svaki mladi inženjer je pažljivo razmatra. Novac svakako ne treba gledati kao apsolutni iznos, već se vredu raspitati o cenama stanovanja, transporta, osiguranja, kućnih potrepština, hrane, dečijih vrtića… lako se može pokazati da s nominalno dva ili tri puta većom platom u Švajcarskoj zapravo živite lošije nego ovde. A činjenica da ste tamo stranac, odvojen od porodice i prijatelja, svakako neće biti olakšavajuća okolnost.
Čak i ako ste rešeni da se otisnete u inostranstvo, nema razloga da žurite – zaposlenje u nekoj od vrhunskih domaćih firmi omogućiće vam da steknete iskustvo, verovatno ćete u okviru svog posla putovati po razvijenim zemljama, upoznavati kolege, a možda i dobiti priliku da vam firma obezbedi posao u nekoj drugoj ekspozituri, što je mnogo bezbedniji i lagodniji način da se ode u svet. Najzad, par godina iskustva će obogatiti vaš CV i omogućiti vam da konkurišete na poslove koji su daleko bolje plaćeni od početničkih.
Mnogo je, dakle, razloga da prelistate sledeće stranice našeg časopisa, kao i tekstove koje ćemo objaviti u narednom broju (da, ekspedicija po domaćim IT firmama se nastavlja) i da na njima potražite prvi (ili možda sledeći) korak vaše karijere.
Dejan Ristanović
Ovaj uvodni tekst je deo serijala koji je započet u časopisu PC Press #233, a ostatak tekstova možete pročitati uskoro na linkovima ispod:
Comtrade: Karijera po meri inženjera
Merit Solutions: Znanje kao pomoć klijentu
OSA, dom za najbolje
IT insajder