👏 Preuzmi → Šablon za CV programera
Sa početkom sezone zapošljavanja diplomaca mnogi pripremaju traženje posla, a sve više kolega mi se obraća da pregledam i popravim njihove CV-jeve.
Zapravo sam ranije već delio svoj način pisanja CV-ja i proces njegovog iterativnog usavršavanja, ali možda neki nisu stigli to da pročitaju. Danas mi klijent dolazi iz daleka, moram da ga dočekam, pa nemam vremena da pišem sam — zato prenosim jedan članak autora A Xiua kao referencu.
Ovaj mlađi kolega kaže da u jesenjem ciklusu zapošljavanja diplomaca nije ozbiljno tražio posao, pa je tek nakon diplome shvatio da mu pronađeni posao ne odgovara. Izdržao je pola godine i onda otišao, pa se okrenuo otvorenoj konkurenciji iskustvenih kandidata, gde je uvideo da je to teže od studentskog zapošljavanja.
Pre nego što pređem na slučajeve izmena CV-ja, Erge će ukratko da sumira studentsko zapošljavanje i otvorenu konkurenciju iskustvenih.
Studentsko zapošljavanje gleda osnove i potencijal; iskustveno zapošljavanje gleda sposobnost i spremnost za rad.
Studentsko zapošljavanje: neke tehničke stvari smeš da ne znaš, nema veze — gleda se tvoj potencijal i tvoje osnove. Ne poznaješ framework? Nije problem, naučiš.
Iskustveno zapošljavanje je drugačije — gleda se tvoja dosadašnja biografija i sposobnost rešavanja problema. Firma te zapošljava da bi radio, a ne da bi učio na njihov račun — pa ipak, kompanija nije dobrotvorna organizacija.
Zato nadam da će mlađi studenti temeljno savladati osnove računarstva i izgraditi čvrst temelj.
Programerske osnove su vrlo važne — operativni sistemi, računarske mreže, baze podataka, arhitektura računara.
U redu, bez daljeg okolišanja — da pređemo na današnju temu.
Osetljivi podaci ovog mlađeg kolege u nastavku su anonimizovani, što ne otežava čitanje. Deliću izmene po modulima.
Stručne veštine
Prvo da pogledamo deo sa stručnim veštinama ovog mlađeg kolege.

Zapravo, ovaj deo je već napisao prilično dobro — jednostavno, pregledno i jasno.
Iz opisa stručnih veština se vidi da je prilično jak, ali i dalje ima mesta za poboljšanje, pa sam dao odgovarajuće predloge i savete.
Predlozi za izmenu
- Predlažem da promeni prvu rečenicu u delu Programski jezici, jer je original malo nepotrebno opširan. Predlažem da glasi: „Dobro poznajem programski jezik C++, imam čvrste osnove i slobodno vladam bibliotekom šablona STL".
Kasnije „čitanje izvornog koda" predlažem da ne stavlja, jer su ideje u STL-u zaista suptilne — ako neko na osnovu reči „pročitao deo izvornog koda" krene da te detaljno ispituje, devet od deset puta nećeš izdržati. Radije to nemoj stavljati. Moraš da odgovaraš za svaku reč, pa i za svaki znak interpunkcije u svom CV-ju.
- Deo Strukture podataka već je napisao prilično dobro, predlažem samo da bude konkretniji. Original „Poznajem uobičajene algoritme (Leetcode, 200 zadataka), strukture podataka (liste, stekovi, redovi, heš tabele, binarna stabla, B/B+ stabla, crveno-crna stabla itd.)" predlažem da glasi „Poznajem uobičajene strukture podataka i algoritme — liste, stekove, heš tabele, binarna stabla itd. — i na sajtu LeetCode rešio 214 algoritamskih zadataka sa 74% tačnosti".
Broj poput 74% tačnosti je precizan pokazatelj koji intervjuista mnogo konkretnije doživljava, a ta tačnost je inače proverljiva na zvaničnom sajtu LeetCode.
- Deo Dizajn paterni malo je previše napisao. Za studentsko zapošljavanje se dizajn paterni retko ispituju, nema potrebe.
Predlažem da glasi „Poznajem uobičajene dizajn patern poput Singletona i Factory patterna". Razlog je izbegavanje sledeće situacije: intervjuista možda neće pitati o Singletonu i Factoryju, nego će upitati poznaješ li još neke paterno — a tada možeš odgovoriti „još i Observer i Iterator pattern".
- Deo Baze podataka — čini mi se da je ovaj mlađi kolega previše raskrio šta zna.
Njegov original glasi „Poznajem relacionu bazu MySQL i ne-relacionu bazu Redis, razumem tehnike optimizacije performansi upita u MySQL-u, pet glavnih tipova podataka u Redisu, mehanizme perzistencije i replikaciju master-slejv". To je isto kao da intervjuisti kažeš: pitaj me koje su pet struktura podataka u Redisu, šta je perzistencija, šta je master-slejv replikacija.
Pa intervjuista nije glup...
Predlažem da glasi: „Poznajem relacionu bazu MySQL i bazu u memoriji Redis, razumem uobičajene tehnike optimizacije upita." Tako je malo suptilnije...
Ispod su predlozi za izmenu koje sam mu tada dao.

Iskustvo sa projektima
Za studentski CV najvažniji su deo sa projektima, iskustvo sa stručnom praksom (plus ako postoji, nije obavezno) i stručne veštine.

Iz opisa ovog mlađeg kolege se vidi da je tokom tih četiri meseca nakon diplome zaista uradio dosta toga, ali mi se čini da nije istakao značaj i težišta svog rada.
Možda ti se čini da to nije važno, ali upravo je to ono što intervjuistu bitno.
Stavi se u ulogu intervjuiste: i ti bi želeo da novi ljudi koje dovedeš budu što sposobniji. A u ranoj fazi intervjua se sposobnost upravo vidi kroz tvoju praksu ili iskustvo sa projektima.
Za prvi projekat, Erge je dao nekoliko predloga za izmenu:
Koja je tvoja uloga u projektu? Glavni odgovorni ili ključni član? Takođe se mora navesti početni period projekta.
Onaj deo o proveri lozinke u bazi predlažem da izbaci, jer deluje na nižem nivou — bolje da ne stoji. Iako je backend uglavnom CRUD, ne možeš baš da kažeš kako si uradio samo proveru lozinke — to je već previše iskreno.
Deo sa tehničkim dostignućima opisan je nedovoljno jasno. Mada je ovaj kolega uradio mnogo toga, iz njegovog opisa se to ne vidi, pa sam mu reformulisao tekst.
Originalni opis tehničkih dostignuća:
Implementirana funkcija cd gotovo istovetna onoj u bash-u; upotreba graničnog okidanja (edge-triggered) za optimizaciju epoll-a kod učestalih odziva; upotreba bazena procesa i bazena niti za smanjenje opterećenja CPU-a; prekid veze nakon isteka vremena — za povezanog klijenta, ako 30 sekundi ne pošalje nijedan zahtev, veza se prekida, a za postizanje visoke istovremenosti koristi se prstenasta struktura reda;
Zapravo je već napisao prilično dobro, ali mi se čini da mu je još nešto falilo — previše je razgovorno, pa sam svojim rečima preradio i uglačao tekst. Ispod je moja verzija.
Izmenjena verzija tehničkih dostignuća:
Implementirana funkcija
cdgotovo istovetna onoj u bash-u, ali sa kraćim vremenom odziva.Upotreba epoll-a sa graničnim okidanjem (edge-triggered) za učestale odzive, uz podršku tehnike bazena procesa i bazena niti radi smanjenja opterećenja CPU-a i povećanja iskorišćenja sistema.
Pametan dizajn prekida veze: prstenasta struktura reda za visoku istovremenost; za veze bez ikakvog razmene mrežnih paketa u roku od 30 sekundi primenjuje se prinudni prekid — efikasno XXXX.
Zar ne deluje odmah malo bolje?... Mogu samo da kažem — pažljiv izbor reči zaista čini razliku.
Ispod je obeležavanje predloga za izmenu.

Time je izmena prvog projekta završena. Za izmenu drugog projekta neću dalje da blebetam, samo ću je nalepiti.
Ispod su predlozi koje sam dao:
Ime projekta treba promeniti u: aplikacija za puteve automobilom. Nedostaju tvoja uloga i početak projekta. Koja je glavna delatnost aplikacije? Koje su joj krajnje funkcije? Zatim napiši svoj rad u projektu. Gde je doprinos tvog ličnog rada aplikaciji — potrebni su konkretni kvantifikovani pokazatelji.
U tehničkim dostignućima navedi: uklanjanje sličnih stranica, koliki je procenat tačnih uklanjanja, a zatim u vezi sa određenim nedostatkom aplikacije predloži izgradnju inverznog indeksa i slanje jakopovezanih stranica, što je konačno povećalo stopu klikova za XX.XX%.
Na kraju napiši lično učenje: šta si naučio? Šta si dublje upoznao i razumeo (XXX).
Ispod je tadašnje obeležavanje koje sam mu dao:

Zapravo, za izmene ovog dela čvrsto sam se držao jednog principa: koristiti što konkretnije pokazatelje, odnosno jasne informacije, umesto opštih opisa.
Na primer, direktno reci da si poboljšanje ostvario za XX%, umesto da kažeš „ostvareno je dobro poboljšanje"; reci direktno „projekat je optimizovan za XX sekundi, u odnosu na prethodnu verziju brzina je porasla za XX%", umesto „primenom tehnike XX brzina je znatno porasla".
Ovo sam pomenuo i u članku o iterativnoj izmeni sopstvenog CV-ja — važno je, naročito važno: konkretni brojevi ostavljaju sasvim drugačiji prvi utisak.
Radno iskustvo, obrazovanje, nagrade i sertifikati
Ovde je slično, pa ću sve zajedno da iznesem.
Prvo original.

Obeležavanje sa predlozima za izmenu koje sam dao.

- U radnom iskustvu obrati pažnju na detalje — na primer, koja je titula tvog radnog mesta? Šta si radio tokom prakse? Koje si veštine koristio u tom procesu?
Nemoj sve da strpaš u jednu rečenicu, nejasno — niko to ne želi da čita. Ljudi su vizuelna bića, žele da vide uredan i strukturiran sadržaj.
Ovde urednost ne znači samo pregledan raspored, već i strukturiranje onoga što želiš da kažeš.
Na primer, podeli svoj rad ili praksu na timski rad, individualni rad i lično učenje, pa svaki deo razvij pojedinačno.
- Pošto je ovaj kolega već diplomirao, više ne može na studentsko zapošljavanje, pa u delu o obrazovanju nema potrebe navoditi predmete slušane tokom studija.
Jednom kada uđeš u svet rada i izgubiš status diplomca, nisi više u studentskoj kategoriji — tada se gleda isključivo tvoja sposobnost.
Obrati pažnju na detalje — ključne reči podebljavaj tamo gde treba. Na primer, državna nagrada koja nosi težinu zaslužuje podebljano isticanje.
Ako si položio CET-6, napiši direktno CET-6, i ako ti je ocena dobra navedi i nju; ako ti je ocena niža, na primer 430, tek položio, onda napiši samo CET-6.
Ako nisi položio CET-6, onda navedi CET-4.
Zapamti! CV nije puko predstavljanje sebe — „ja sam Chenmo Wang Er, imam 18 godina, iz Luojanga, diplomirao na toj-i-toj školi". Takav CV je previše bezličan.
CV je kao letak za oglas u liftu — pun je života, viče, ne treba mu previše uglačavanja, samo snažno i direktno „hvalisanje".
Na primer: ja sam Chenmo Wang Er, 2019. godine učestvovao sam u razvoju projekta XXX. Kao ključni programer u timu, ne samo da sam na vreme završavao svoje zadatke, već sam dizajnirao i efikasan keš middleware, čime sam znatno poboljšao performanse sistema.
Nakon puštanja tog middleware-a u rad, performanse Web front-enda porasle su sa 10 QPS na 120 QPS, a broj servera smanjen je sa 10 na 5.
Zahvaljujući dobrom rezultatu, 2020. sam unapređen u glavnog odgovornog za projekat; iako je tim imao samo 15 članova, izdržali smo preko 20 miliona PV dnevno.
Vidiš, ovakav CV je pravi dah svežeg vazduha: dokazuje tvoju vrednost bez previše ulepšavanja, uveri poslodavca da si pouzdan i da te hitno želi „oteti", pre nego što te neka druga firma besplatno odvede.
Nemoj staviti previše sadržaja u CV, nastoj da ne pređeš jednu stranicu, jer poslodavac nema vremena da ti prelista CV. Prilično verujem u prvi utisak — dobar CV se jednim pogledom pamti, zaista.
— najgora stvar u životu je što pre nego što te drugi oduste, ti sam odustaneš od sebe. Vidimo se u sledećem izdanju.
Autor: A Xiu, link preuzet sa: https://mp.weixin.qq.com/s/soVldFzBbqwm_vM35afFvg
