Ovaj članak će opisati moje viđenje svih bedastoća u razgovoru za posao kod programera.
Te opisati sam proces.
Pošto sam u zadnjih par mjeseci bi na par, dosta mi je svježe.
Ukratko, većina procesa za intervju programera je glupa.
Moje iskustvo
- Ja sam osobno bio na oba dvije strane:
Također sam bio na ukupno možda 30 intervju, od toga 70% za poslove van Hrvatske.
- Usput bi svakome preporučio da ako će već programirati sljedeće:
Važnost faksa za programiranje
Već nakon jedne godine profesionalnog radnog iskustva, bilo mi je jasno da većinu onoga sto sam učio na faksu nije baš ni potrebno u radu.
Nažalost to je tako.
Također, ono što i naučite na faksu (ipak se nešto korisno i nauči), možete i samostalno naučiti u puno kraćem vremenskom roku i jeftinije.
Tako da kada se sve zbroji, jedina koristi od faksa je što da papir, imate napismeno da ste npr. “magistar inženjer računarstva”, ali u praksi to se ne gleda puno.
Osobno još nisam bio na intervju gdje su me pitali što sam završio.
Ako želite programirati, faks vam nije bitan.
Znam ih dosta što programirjau za pare, a nemaju faks.
Povezanost intervjua i posla koji čete raditi
Nakon jedne godine, jasno mi je bilo da povezanost između što se uči na faksu i što se radi u praski nije 100%.
Postoji više razloga zašto je tako, ali ne bih sada o tome.
Ali ono što mi je bilo začuđujuće je da i ono što vas se ispituje na intervju, obično nema veža sa onim što ćete poslije raditi.
Evo par primjera.
Primjer 1
Jednom sam dobio pitanje:
Napravi funkciju koja provjerava koliko je bitova postavljeno u broju.
Npr. 5 je binarno 0101, pa je odgovor 2.
Za one kojima treba odgovor StakOverflow je tu.
Ja osobno volim to riješiti sa dijeljenjem sa 2, jer je najlakše razumjeti.
- Zašto je ovo glupo pitanje ?
To je zapravo i programiranje postalo u praksi, kada nešto trebaš napraviti, prvo googlaj pa onda razmišljaj.
Primjer 2
Dosta je često na intervjuima dobije pitanja u vezi binarnih stabala.
Pitanju su tipa: binary search, visina stabla, normalizacija stabla, itd.
Obično se dobije po 20 minuti za riješenje.
- Ovo je isto primjer idiotizma i to iz više razloga:
I to se onda u praksi svodi da postoji set pitanja, koje morate naučiti rješavati radi intervjua ali ne zato što to treba u praksi.
Ovakvih primjera ima još mnogo.
- Uglavnom se svode na pitanja
- koja nisu potreban u praksi
- pitanja koja možete riješiti samo ako ste ih prije riješili
Što otprilike znači da se morate unaprijed pripremiti, čak bih rekao i naučiti napamet.
Faze intervjua
Sam proces intervju je obično podijeljen u nekoliko faza.
Zna to i vremenski trajati jako dugo.
U Skypu u mome slučaju je trajalo 6 mjeseci, istina 6 mjeseci.
Da je još 3 mjeseca duže, mogao sam i roditi 🙂
Bilo da se vi javite na oglas ili vas neki recruiter pronađe (ja imam više iskustva sa ovim), to obično izgleda ovako:
1. Gledaju vaš CV i prema tome ocijenuju da li ste im zanimljivi
Zato je bitno imati dobar CV, ne bih nikome savjetova da laže na njemu, ali morate se prikazati u dobrom svijetlu.
Ja osobno imam napisane firme i pozicije na kojima sam radio, u kojem vremenskom roku, koje tehnologije i opis od 1-2 rečenice o projektu.
Kako imate više iskustva CV Vam raste, a ne želite da bude prevelik, jer nitko neće čitati 10 strana.
Moj je trenutno na 3 strane i mislim da mi je to max.
CV Vam je najbitniji, jer ako on nije dobar, neće Vas ni zvati dalje.
2. Poslje toga krenu telefonski / Skype interviju
Tu sam svašta vidio. Obično budu bar 2 pa naviše.
Uglavnom s developerima i menagmentom.
Ponekad bude i sa više različitih developera, ali ne u isto vrijeme.
Imao sam iskustva da me 3 developera, svaki u svom intervju, pitaju isto pitanje npr. “Što su generatori u Pythonu”.
Uglavnom im je 40% pitanja bilo isto, i to znam biti dosadno, jer se misliš “Pa zadnjim put me je to onaj drugi isto pitao”.
Prema mom iskustvu, ti intervju nisu da se nastavljaju jedan na drugi, već više ljudi Vas želi upoznati i vidjeti tko ste.
Nekada sam trebao i kodirati online a oni bi gledali.
3. Offline zadatak
Nekada bih dobio i zadatak koji je trebalo riješit.
To mi je OK ako je potrebno do 2h ili mi je barem zanimljivo.
Neki su bili i po par dan kodiranja.
4. Onsite intervju
To je kada dođete do njih na njihovu lokaciju.
Ovo treba plaćati poslodavac, iako sam jednom doživio da su tražili do mene da dođem o svom trošku.
To bi bilo znalo biti samo radi upoznavanja, ali je bilo i kodiranja.
5. Jave Rezultat (više puti)
Ako ste prošli sve faze do sada i imali uspješan onsite intervju, i dalje ne morate dobiti posao.
I osobno do sada imam 3 iskustva gdje sam prošao sve faze, a poslije bi mi javljeno da se to mjesto ipak zatvara radi reorganizacije.
I sve se radilo o firmam izvan HR.
Tako da i van naše države ima svega.
Neki misle da su ljudi u nas neorganizirani, a da je vanka to bolje, ali ja sam i za vanka vidio svega.
Zaključak
Većina intervju za programere su glupi, nemaju veze sa onim što što vam treba za to radno mjesto u praksi.
Ako želite negdje dobiti posao, prvo morate pobijediti njihov intervju.
Savjetovao bih googlanje njihovog procesa, ako ste sretni naći ćete i pitanja.
Ako Vas je našao nekakav head-hunter, recruiter, i on će Vam ih sam dati, što čini cijeli intervju jako smiješnima, pogotovo kada vam 80% pitanja ispadne pitanja koja ste već čuli.