Naći posao u oblasti Software Developement-a odmah nakon fakulteta je težak i frustrirajući zadatak. Ispričaću vam priču kako sam ja došao do svog prvog posla, i daću vam korisne savete koje možete primeniti da ovo iskustvo učinite još lakšim.
Ako trenutno učite da postanete programer i niste do sada imali posao u struci, nadam se da će vam moje iskustvo pomoći da nađete super prvi posao koji ćete voleti i u kome ćete uživati.
Priprema
Kao i sa mnogim stvarima u životu, priprema je ključ. Ne možete stvoriti čudo preko noći. Trebaju vam vreme i trud. Ako trenutno studirate, imate vreme. Verujte mi. Ako mislite da nemate vremena sada, shvatićete da ste ga imali kada budete počeli da radite. Dok sam studirao i polagao ispite, smetale su mi dve stvari. Prvo, morao sam da učim puno toga što me nije interesovalo, a malo onoga što sam stvarno želeo. I drugo, manjak praktične primene znanja.
Učenje onoga što vas ne interesuje
Svi razumemo da je program fakulteta pravljen da bude uopšten. Mora da pokrije osnove velikog broja tema da bi vas pripremio za bilo koje polje gde se odlučite specijalizovati. I ja to razumem, ali mi je to mnogo smetalo. Mislim da mi je manje od 30% predmeta bilo zanimljivo. Nervirao sam se što moram da znam asembler i arhitekturu računara i računarske mreže. Interesovali su me Web development i arhitektura i projektovanje softvera. I šta sam uradio povodom toga? Proveo sam mnogo sati slobodnog vremena istraživajući te teme koje su me interesovale. Ipak, priznaću da smatram da poznavanje i svih ostalih tema koje me nisu interesovale pomaže da budeš bolji programer. Ali opet, sa druge strane, da sam imao više vremena da se specijalizujem u oblastima koje sam najviše voleo, do sada bih verovatno bio ekspert.
Budite spremni da učite sami. Uzmite studiranje u svoje ruke.
Ovaj proces je ključan. Nikako ne pretpostavljajte da će vas predavanja na fakultetu spremiti za realni svet i dati vam najbolje znjanje.
Manjak praktične primene znanja
Manjak praktične primene onoga što učimo na faktultetu je dosta uobičajen na fakultetima kod nas. Naravno, imamo laboratorijske vežbe, dobijamo neke projekte iz raznih predmeta, ali oni sve uglavnom fokusiraju na teoretsko znanje. Ti projekti na kojima radimo na fakultetu ne mogu da nas pripreme za pravi posao koji ćemo obavljati kada se zaposlimo. Svi smo znali to, i većina nije ozbiljno shvatila ovu činjenicu. Studenti uglavnom pretpostavljaju da će usput pokupiti znanje koje im je potrebno kada se budu zaposlili. Ja sam želeo da se okušam u pravim projektima pre toga. Da od ideje napravim proizvod, ma kako mali ili loš bio. Počeo sam da učim praktično Web programiranje u slobodno vreme. Uvek sam imao neki mali projekat na kome sam radio. Trudio sam se da radim na tim projektima kao što bi se radilo u nekoj pravoj firmi. Pratio sam blogove na internetu kako bih video kako ljudi stvarno rade, i tako učio. Većina tih projekata nije uspela. Nisam ih završio, ali znanje i iskustvo koje sam dobio kroz rad na njima su bili realni i pokazali su se izuzetno vredno.
Uzmite vreme da nađete ono što vas zaista zanima, i krenite da učite. Nađite svoju strast i slobodno se posvetite stvaranju u tom polju.
Specifične prednosti programiranja
Nađite blogove i kurseve o onome što vas interesuje, i zagrejte stolicu. Lako je pronaći te resurse na Internetu. Napravite nešto. Važno je da sami isprobate tehnologije. Kao programeri imamo prelepu mogućnost da izaberemo alat i jednostavno stvorimo nešto. Svi naši alati su virtuelni - programski jezici, kompajleri, programska okruženja. Sve što nam je potrebno je pristup Internetu, nešto što skoro svi već imamo, i spremni smo da od ideje napravimo nešto stvarno. Program koji će obavljati neku funkciju.
Sa druge strane imamo npr. automatičare ili arhitekte. Njima trebaju velike i skupe mašine i alati da bi svoje ideje sproveli u delo. Naravno, mogu koristiti softver za simulaciju tog posla, ali to nije dovoljno. Kao programeri, možemo da koristimo apsolutno iste alate kući koje ćemo koristiti na poslu. Koliko je to kul? Ne samo da možemo da radimo od kuće, što je teško ili nemoguće za većinu drugih poslova. Još važnije, možemo da učimo, i postanemo dobri u poslu pre nego što krenemo da radimo.
Cenite slobodu i veliku moć koju imamo kao programeri. Tehnologija nam omogućava da stvaramo bolju tehnologiju.
Portfolio
Ako ste prihvatili savete iz prethodnih pasusa (samostalno učenje i rad na svojim projektima u slobodno vreme), već ste na odličnom putu da postanete programer. Sada vam treba portfolio gde ćete da prikažete sav taj trud. Postavićete svoje lične projekte, tako da ih svako može videti. Ako imate dovoljno avanturističkog duha, možete dodati i blog na svoj sajt. Pišite o vašim iskustvima u učenju raznih tehnologija, ili o procesu kroz koji ste prošli kreirajući svoje projekte. Ovo je odličan način da se prikažete budućim poslodavcima.
Nezgodna stvar kod portfolija je što na početku nećete imati puno projekata koje možete objaviti. Ali to je okej, obzirom da i dalje učite programiranje. Kako vreme prolazi, sticaćete sve više znanja, i praviti sve interesantnije projekte. Vaš portfolio će rasti, ali to se neće desiti preko noći.
Koliko vremena treba da bi se izgradio pristojan portfolio? Za mene je to trajalo oko godinu dana. Za to vreme sam napravio četiri projekta koja sam objavio na svom sajtu. Postavio sam samo one za koje sam smatrao da su dovoljno dobri da ih mogu pokazati svetu.
Bitno je preduzeti prvi korak. Napravite portfolio i postavite svoje radove online. Trebaće vam neko vreme za to, ali ako ostanete uporni u tome imaćete fantastično oružje za lični marketing.
Kako sam dobio prvu ponudu za posao
Dok sam još bio na fakultetu, često sam tražio ideje za nove projekte. Jedan od sajtova koje sam koristio za to je bio Dribbble. Jednog dana sam naišao na dizajn aplikacije koji mi se dopao. Odmah sam poželeo da na osnovu tog dizajna napravim Web aplikaciju. Uradio sam to, i iako aplikacija nije bila preterano dobra, imao sam nešto što mogu da pokažem - nešto što mogu da stavim na svoj portfolio. Nisam želeo da krišom uzimam dizajn, tako da sam poslao poruku autoru, pitajući ga za dozvolu da postavim aplikaciju sa njegovim dizajnom na svoj portfolio. Nakon nekoliko dana dobio sam odgovor - rekao je da nema problema. Ali, takođe je rekao da je pokazao moju aplikaciju kolegama na poslu, i da im se dopalo to što sam samoinicijativno napravio nešto. Pozvali su me na intervju za posao, i naravno, pristao sam.
Bio sam uzbuđen i nervozan, jer nikada ranije nisam bio na intervjuu za posao. Nisam znao kako izgleda raditi kao programer u kompaniji. Čak nisam ni aktivno tražio posao pre toga, i dalje sam studirao. Ali uozbiljio sam se, i Skajp tehnički intervju je prošao lepo. Pričali smo o mom iskustvu sa raznim Web tehnologijama. Kako sam učio razne stvari u slobodno vreme, ispostavilo se da imam (bar osnovnog) iskustva sa svakom tehnologijom za koju su me pitali.
I pre nego što sam shvatio šta se desilo, dobio sam prvi posao, bez da sam uopšte i tragao za zaposlenjem. Postao sam Junior programer, i radio sam remote. Bio je to odličan osećaj!
Budite proaktivni i ne plašite se da tražite prilike. Uvek je moguće naći ono za čim tragate, ali morate biti inovativni.
Zaključak
Ono što treba da dobro usvojite iz ove priče je sledeće. Ako gradite portfolio i povezujete se sa ljudima, otvoriće vam se odlične prilike. Ja sam ovo uradio slučajno, i otkrio tu super tehniku. Ako želite da promovišete sebe kao programera, način koji daje fantastične rezultate je da se osmelite i direktno kontaktirate ljude. Nije toliko efektivno samo staviti portfolio na Internet i čekati da vas ljudi nađu.
Morate biti proaktivni. A to može biti jako zabavno! Ono što sam ja uradio je jako jednostavno, ali retko ko to proba. Možda se plašite da ne izgledate glupo. Da vaši projekti ili tekstovi na blogu nisu dovoljno dobri. Zanemarite to! Kontaktirajte ljude. Nađite nešto na čemu neko iz kompanije koja vam se sviđa radi u svoje slobodno vreme i nekako doprinesite tome. To može biti dizajn aplikacije ili sajta koji ćete vi sprovesti u delo, ili možda Open Source projekat kome možete doprineti. Ili možda tekst na njihovom blogu gde možete ostaviti korisne komentare. Postoji puno opcija. Ne plašite se sveta. Ne plašite se da preduzmete prvi korak.
Konačno, imati portfolio i raditi na svojim projektima u slobodno vreme je sjajan način da započnete karijeru u programiranju. I stupanje u kontakt sa ljudima zaista pali. Ali naravno, i dalje trebate biti svesni da je rad u firmi malo zahtevniji od rada na svojim projektima, i biti otvoreni za stalno učenje.
11 komentara