Split Tech City je zajednica sastavljena od tvrtki, udruga, institucija, meetupa i pojedinaca koji su posvećeni razvoju tehnološkog sektora u Splitu i regiji.

Postani član

6 savjeta za studente Računarstva/Informatike (i one koji to planiraju postati)

Mensur Duraković

Mensur Duraković

14.04.2020.

Studenti me povremeno traže savjet za karijeru pa sam pomislio kako bi bilo zgodno napisati riječ-dvije na tu temu. Ja bih našvrljao još jedan članak, a studenti bi savjete mogli pronaći na jednom mjestu, poslužiti se njima, možda ih i primijeniti ili im se, pak, glasno nasmijati i nastaviti krčiti svoj poslovni put. Što god im je srcu drago.

Većina studenata je, na svu sreću, dovoljno hrabra i ne libe se pitati svoje profesore za savjet, što je na području IT-a vrlo poželjno. Ipak, procijenite kome se obraćate i pristupite dobivenim savjetima kritički, ne prihvaćajte ih kao apsolutne istine.

Posebice kada čujete one poput “Potražnja za Java developerima premašit će 100.000.000 do 2030. godine” ili “Windows forme trenutno su vrlo vruća tema u IT svijetu“. Razmislite. Uvijek. I ne dajte da vas zavede status sugovornika.

Ako uživate u programiranju, smatrajte se blagoslovljenima. Pripadate malom postotku ljudi koji mogu dobro zarađivati pritom radeći posao koji, većinu vremena, vole.

Preostala skupina ljudi nije te sreće. Sama ideja da možete voljeti svoj posao moderan je koncept jer, po mišljenju većine, posao bi trebao biti nešto neugodno što morate raditi kako biste zaradili novac za ono što zapravo volite raditi.

Ono za što imate volju i strast trebate raditi tek kada imate 65 godina, konačno se povučete u mirovinu, možete si financijski to priuštiti i niste previše stari i nemoćni za raditi to (naravno, ako te radnje ne zahtijevaju pouzdana koljena, dobre oči i sposobnost da trčite 300-400 metara, a da ne ostanete bez zraka u plućima).

O čemu sam govorio? Oh da. Savjeti.

Bez daljnjeg odugovlačenja i digresija, evo mojih šest savjeta za studente Računarstva/Informatike:

  • Naučite (kako) pisati prije no što diplomirate
  • Naučite programski jezik C prije nego diplomirate
  • Naučite osnove mikroekonomije prije nego što diplomirate
  • Ne bježite s predavanja jer su dosadna
  • Upišite predmete iz programiranja
  • Trudite se odraditi praksu ili pripravnički staž u nekoj IT firmi
Naučite (kako) pisati prije nego diplomirate

Bi li Linux bio ovako popularan da ga Linus Torvalds nije evangelizirao? Pored toga što je sjajan haker/developer, Linus ima iznimnu sposobnost prenijeti svoje ideje na papir ili ih formulirati u obliku e-pošte i upravo je time privukao brigadu dobrovoljaca diljem svijeta. Linusov diplomski rad možete pogledati ovdje.

Jeste li čuli za agilno poslovanje ili poslovanje po agilnoj metodologiji? Sud i mišljenje o navedenom prepustit ću drugima, ali svakako valja istaknuti razlog kako i zašto se pronio upravo “agilni” glas. A on je vrlo jednostavan i očit – promoviraju ga ljudi koji su vrlo nadareni pisci i govornici.

Čak i u malim razmjerima, kada gledate bilo koju programsku organizaciju, developeri s najviše snage i utjecaja su oni koji mogu pisati i govoriti (na engleskom) jasno, uvjerljivo i ugodno. Nije naodmet ako ste pritom i visoki, lijepi i zgodni, ali po tom pitanju možete vrlo malo ili ništa uraditi. Osim ako ne kontaktirate Maju Šuput i zamolite ju za broj plastičnog kirurga.

Razliku između solidnog i sjajnog developera ne čini broj programskih jezika koje poznaje ni osobne preference po pitanju Phytona ili Jave, već sposobnost i umijeće kojim može prenijeti svoje ideje.

Uvjeravanjem drugih ljudi dobivaju utjecaj. Pisanjem kvalitetnog programskog koda, jasnih komentara, obrazloženja i tehničkih specifikacija, oni pomažu drugim developerima da razumiju njihov kod, što znači da drugi developeri mogu koristiti to, proučiti ga i raditi s vlastitim kodom, umjesto da samo kopiraju tuđi.

Čitljiv/pitak kôd će pomoći i drugima tako što će bolje razumjeti domenu i sami problem koji taj isti programski kôd rješava. U nedostatku toga, kôd je bezvrijedan.

Također, pisanjem jasne tehničke dokumentacije za krajnje korisnike developeri omogućavaju ljudima da shvate što bi taj kôd trebao raditi, što je jedini način na koji korisnici mogu vidjeti vrijednost u svemu tome.

Postoji puno divnih, korisnih kodova koji su sahranjeni na mjestu gdje su i rođeni i koje nitko ne koristi jer su ga stvorili developeri koji ne pišu baš dobro (ili to ne dijele s ostalima) pa nitko ne zna što su napravili i njihov sjajan kôd propada.

Počnite pisati dnevnik ili web blog. Što više pišete, to će vam biti lakše.

Naučite programski jezik C prije nego diplomirate

Uočite da nisam napisao C++. Iako C postaje sve rjeđa pojava u IT svijetu, taj programski jezik još je uvijek „lingua franca“ svih developera. To je jezik koji se koristi za međusobno komuniciranje. Što je još važnije, mnogo je bliži stroju od „modernih“ jezika o kojima ćete učiti na fakultetu, poput Javascripta, Jave, Pythona ili bilo kojeg popularnog jezika koji se podučava ovih dana.

Morate provesti najmanje jedan semestar približavajući se razmišljanju o stroju na kojem radite ili nikad nećete moći stvoriti učinkovit kôd na jezicima više razine. Nikada nećete moći raditi na kompajlerima i operativnim sustavima. Nikada vam se neće dati povjerenje da složite arhitekturu za velike projekte.

Nije važno koliko znate o asinkronosti, closureima i upravljanju iznimkama ako ne možete objasniti zašto linija programskog koda:

(*s++ = *t++);

kopira string ili, ako to vama nije najprirodnija stvar na svijetu, vaše znanje programiranja može se usporediti sa znanjem liječnika koji ne zna osnovnu anatomiju, ali izdaje recepte na temelju onoga što je rekla teta koja prodaje lijekove u ljekarni.

Naučite osnove mikroekonomije prije nego što diplomirate

Super brzi pregled iz perspektive jednog IT-ijevca. Ako niste pohađali ni jedan tečaj ekonomije: ekonomija je jedno od onih polja koja započinje gromoglasjem, s mnogim korisnim teorijama i činjenicama koje imaju smisla, mogu se dokazati na terenu itd., a onda to sve krene nizbrdo.

Da naglasim, nisam ekonomski stručnjak, ali po mišljenju moje malenkosti, najkorisniji dio je na početku i to je mikroekonomija, koja je temelj doslovno svake važne teorije u poslu.

Jednostavno biste trebali znati o zakonu ponude i potražnje i o konkurentskoj prednosti, razumjeti čistu trenutnu vrijednost (eng. net present value), diskontne i granične korisnosti prije nego što shvatite zašto posao funkcionira na način na koji funkcionira.

Zašto bi osobe koje studiraju IT trebale naučiti osnove ekonomije? Jer je developer koji razumije temelje poslovanja vredniji od developera koji to znanje ne posjeduje.

U teškim situacijama, kad su klijenti pod pritiskom, kad imaju rokove koje trebaju ispoštovati, kad su obećali nadređenima da će na sajmu imati funkcionalan proizvod ili da će do određenog datuma ostvariti određene KPI-ijeve u poslovanju, developer koji razumije što to sve znači iz ekonomske perspektive bit će korisniji u odnosu na developera koji to ne razumije i samo piše kôd (code monkey). To je sve.

Ne bježite s predavanja jer su dosadna

Izostanak s predavanja pravi je put prema nižim ocjenama. Ukoliko vam je to cilj, dakako.

Ne podcjenjujte važnost prosjeka ocjena. Brojni rekruteri i menadžeri za zapošljavanje odlaze ravno u dio s informacijama o prosjeku ocjena kad skeniraju životopis.

Zašto?

Jer prosjek, više nego bilo koji drugi broj, odražava zbroj onoga što su deseci profesora tijekom dugog razdoblja u raznim situacijama razmišljali i zaključili o vašem radu. Prosjek odražava stotine radova, polugodišta i sudjelovanja u učionici tijekom četiri godine studija.

Pohađao sam jedan predmet na fakultetu jer sam htio naučiti nešto o tom području, a taj predmet je po nazivu izgledao vrlo zanimljiv i osvježavajuć u odnosu na ostatak ponude.

Zanimljiv? Nije bio ni blizu! Morao sam pročitati nevjerojatno monotone knjige o cjelinama tog predmeta koje mi, uz sve dužno poštovanje, nisu bile baš zanimljive. U nekom trenutku predavanja su bila tako nevjerojatno istrošna da sam čeznuo za nečim uzbudljivijim, poput gledanja trave kako raste. Potpuno sam izgubio interes za predmet. Potpuno i temeljito.

Neću kriti ni da je profesor doprinio tome svojim monotonim načinom predavanja. U anketi na kraju semestra sam napisao komentar:

„Da mogu birati gdje želim provesti posljednjih sat vremena svog života, proveo bih ga na predavanju iz ovog predmeta jer mi se čini kao vječnost.“

Ipak, dobio sam ocjenu 5 iz tog predmeta. Po(r)uka je – odsjedite i odslušajte. I uračunajte u prosjek.

Upišite predmete iz programiranja

Informatika nije isto što i razvoj softvera. Ako imate sreće, vaša bi škola/fakultet mogli imati pristojan nastavni plan i program i za razvoj softvera. Ali možda i nemate.

Neke elitne škole/fakulteti misle kako je praktična vještina nešto što je bolje prepustiti tehničko-strukovnim zavodima i zatvorskim programima rehabilitacije.

Programiranje možete naučiti bilo gdje. Mi smo super škola/fakultet i oblikujemo buduće svjetske vođe. Mislite li da ćemo vam omogućiti da učite o SOLID principima i praktičnoj primjeni istih? Što mislite, što je ovo? Neki ljetni seminar programskog jezika C#? Pffff.

Problem je u tome što zapravo nemamo profesionalne škole/fakultete za razvoj softvera pa, ako želite biti developer, vjerojatno ste upisali računarstvo, informatiku ili informacijsku tehnologiju. To je u redu, ali je drugačija tema od razvoja softvera.

Ako imate sreće, na svom fakultetu možete pronaći predmete gdje se intenzivnije programira. Ako nemate sreće, za što su velike šanse jer škole/fakulteti ne ažuriraju toliko često svoje programe, ne preostaje vam ništa drugo nego iskoristiti bespuća interneta na kojem je brdo materijala za učenje, sami sebe naučiti neke stvari, napraviti što više projekata i savladati ono što je trenutno popularno u IT svijetu.

Znanje stečeno isključivo u školi/fakultetu, nažalost, nije dovoljno da biste sutra bili samostalni u radu od prvog radnog tjedna.

Trudite se odraditi praksu ii ‘internship’ u nekoj IT firmi

Rekruteri znaju da su ljudi koji vole programiranje napisali bazu podataka za svog stomatologa u 2. razredu srednje škole, volontirali u računalnom kampu dvije godine prije fakulteta, izgradili CMS sustav za novine u svojoj školi/fakultetu i imali ljetnu praksu  u IT firmama. To je ono što traže u vašem životopisu.

Ukoliko uživate u programiranju, napravite portofolio s nekoliko aplikacija i probajte pronaći posao gdje ćete programirati.

Znam da svaki drugi 19-godišnjak želi raditi ljeti u turizmu jer je tu dobra lova, ali ako imate vještinu koja je nevjerojatno vrijedna čak i kad imate 19 godina, prava je šteta trošiti sebe na druge poslove.

Kad diplomirate, stvarno biste trebali imati životopis u kojem se nalazi čitava hrpa programerskih poslova.

Ako budete slijedili ove moje savjete, možda ćete završiti tako da prodate svoju aplikaciju Facebooku, odustanete od posla u Googleu jer želite vlastiti ured i donesete druge glupe životne odluke, ali one neće biti moja krivica. Rekao sam vam na početku da me ne morate slušati.

Podijeli

Pretplati se Pretplati se

Povezane novosti