fbpx

Senior developer koji to nije

Principal engineer, prvi svog imena, kralj sedam programskih jezika, zaštitnik production koda, bog-otac software deploymenta… koji na razgovoru za posao ne uspe da reši jednostavan zadatak? Nemoguće.

Šta je najveća verovatnoća kad čujete da je neko senior developer? Da on to nije. Ovaj grub i paušalan zaključak možda zvuči nadobudno, ali nije daleko od istine. Otkad je sveta i veka, postojali su lažni carevi, lažni grofovi, lažni doktori nauka, pa što onda ne bi bilo i lažnih senior developera. Titule su hrana za ego, a njega je često bitnije zadovoljiti nego želudac.

U idealnom svetu informacionih tehnologija podela na juniore, mediore i seniore ima za cilj da odredi distinkciju između nivoa radnog iskustva i posledično tome nivoa znanja, zatim da pojednostavi i ubrza proces zapošljavanja i da stvori sliku šta od kog zaposlenog može da se očekuje u radnom procesu. Ono što je realnost je da ovakva podela u praksi češće daje lažnu sliku nego što pruža uvid u pravo stanje stvari.

Kada junior postaje medior i gde se nalazi ta čarobna granica? Šta je neophodno da se jednog dana postane senior? I zašto neki ljudi nikad neće biti seniori u pravom smislu reči, ma koliko miliona redova koda ispisali? Koji su pravi kriterijumi da bi neko postao senior developer i ko drži tapiju na određivanje pravila i dodeljivanje titula? Sve su to pitanja koja nemaju jednostavan odgovor ali koja zahtevaju daleko kvalitetnija rešenja od “junior je početnik, medior ima 2-3, a senior 5+ godina iskustva”.

SENIOR DEVELOPERI KOJI TO JESU

Junior direktno iz školske klupe

Samozavaravanje počinje otprilike prvog radnog dana kada mladi “programer” zameni neudobnu studentsku za ergonomsku radnu stolicu i u određenoj firmi dobije zvanje junior developer, iako je svojim mogućnostima i korisnošću zapravo poslovna tabula rasa ili u najboljem slučaju talentovani šegrt. Ipak, kako u IT-ju ne manjka elitizma i kako će mnogi na ove analogije sa zanatstvom prezrivo odmahivati glavom, činjenica je da tu nema nikakve sramote i da novopečeni “juniori” u početku firmi donose više štete, nego koristi i da se tek posle dosta učenja (i grešaka) mogu proizvesti u ono što bi junior trebalo da označava – zaposlenog koji uz pomoć i nadzor iskusnijeg lica (seniora) može uspešno da izvršava taskove koji su mu povereni – prvo jednostavne koji vremenom postaju sve složeniji i obimniji.

Šta je taj medior?

Kao da junior i senior već sami nisu arbitrarno dodeljene titule, tu se javlja i medior da dodatno doprinese konfuziji. Recimo da bi to trebalo da bude onaj koji je bio odličan šegrt, naučio mnogo toga, ima kod u prstima, proširio je znanje u brojnim jezicima i alatima i u krajnjoj meri se i specijalizovao za neke od njih. Prema nekom nepisanom pravilu, medior je programer sa 2-3 godine iskustva. Šta zapravo znači 2-3 godine iskustva? Da li je to 2-3 godine kucanja poprilično jednostavnih repetitivnih kodova ili 2-3 godine u koje je smešteno dosta projekata koji su vremenom postajali sve teži i kompleksniji, te konstantno učenje i napredovanje u svakom smislu? Razlika je očigledno ogromna i automatski diskredituje vremensku odrednicu kao glavni faktor razlike između juniora i mediora. 

U principu, može se reći da je najveća razlika između mediora i juniora ta što ovi prvi mogu samostalnije da rade, preležali su neke dečije bolesti (na primer pravljenje krupnih i skupih arhitekturalnih grešaka), imaju šire znanje, tehnički su potkovaniji i sigurniji tokom rada. Međutim, tu se javlja novi problem. Medior je često zavaran napretkom koji ostvaruje, čini mu se da zna mnogo više nego što zapravo zna i nije svestan onoga što mu nedostaje da bi prešao na viši nivo i postao senior. 

Tranzicija ili slepa ulica

Prelazak sa mediora na seniora je iskorak koji mnogi nikada ne naprave, makar radili decenijama. Naravno, u praksi nikada nećete reći za nekog sa 20 godina koderskog iskustva da je medior, ali takvih je zapravo veliki broj. 

Razlog za to je što bi senioritet trebalo da predstavlja jednu ogromnu nadgradnju znanja koja više nisu striktno vezane za same inženjerske (developerske) probleme, pa čak ni kvantitativno i kvalitativno znanje jezika, frejmvorka i alata. Senior je mnogo više od developerskog almanaha. To je čitava dodatna dimenzija za koju juniori i veliki broj mediora često nisu ni svesni da postoji.

Ukratko, senior nije onaj ko ima pet godina bilo kakvog iskustva već onaj koji mnogo bolje anticipira sve potencijalne greške koje mogu nastati, onaj koji uzima u obzir biznis aspekte i ima sluha za stvari koje nadilaze inženjerske probleme, onaj koji alate koristi na optimalan način, onaj koji ume da odluči i stane iza svoje odluke i isto tako prizna grešku i preuzme odgovornost za njene posledice, potom onaj koji ume da napravi ne samo softver koji radi već takav da je kvalitetan po svim parametrima… zatim onaj koji ne razmišlja u smeru individualnih klasa, metoda, funkcija i tehničkih pojedinosti već algoritamski. On ne reševa problem izolovano već ga posmatra uvek kao deo šireg konteksta… I još mnogo toga. Zapravo, ako bismo bili iskreni do kraja, đavolski je teško postati (pravi) senior.

TRI SENIORA REŠAVAJU BRLJOTINE NEISKUSNIH PROGRAMERA.

Da je određivanje senioriteta prilično nezahvalan posao slaže se i Aleksandar Anđelković senior menadžer u Nutanixu. Prema njegovom mišljenju, ono što vrši separaciju seniora od drugih inženjera je to što seniori imaju razvijenu multidimenzionalnu engineering lestvicu koju čine mnoge stvari koje nemaju veze sa programerskim poslom. 

“Postoji nekoliko kategorija koji čine tu lestvicu i da bi neko postao senior u pravom smislu reči potrebno je da svi budu razvijeni – kaže Aleksandar. To su razne veštine kao štp su komunikacija, tehnička vizija, tehnički dizajn i neke druge. Pošto je jedan od zadataka seniora i taj da nadgleda i vodi rad mlađih inženjera jasno je koliko je kvalitetna i ispravna komunikacija bitna i da bez te komponente iskustvo i znanje nisu dovoljni. Prema mom mišljenju to je jedan od glavnih razloga zašto ljudi nikad ne postanu uistinu seniori.” 

“Takođe, jedan od faktora koji pravi razliku između pravih seniora i onih drugih je što nedovoljno znanje tj. privid znanja dovodi do nepotrebne kompleksnosti prilikom rada. Nerazumevanje problematike vuče sa sobom neoptimalna rešenja koja su često preobimna, uzimaju previše vremena i novca i po tome se lako prepozna da li je neko senior ili ne. Pronalaženje jednostavnih rešenja je odlika pravih seniora. Naravno, u nekim slučajevima kao što je slučaj upravo u Frame-u, nemoguće je da rešenja budu jednostavna pa i takvu situaciju senior mora unapred da predvidi”, zaključuje Aleksandar.

Kako zapravo postati senior

U knjizi The Outliers, kanadski novinar Malkolm Gledvel je promovisao pravilo 10 000 sati rada nakon kojih osoba od potpunog početnika u bilo kojoj oblasti postaje profesionalac najvišeg ranga. Da li je to onda odgovor na pitanje da li baš svako ne samo da može postati programer nego top stručnjak u ovoj oblasti? Nije baš tako jednostavno. Radnik na fabričkoj liniji može za radnog veka da provede i 100 000 sati, ali on će svoju veštinu tek malo unaprediti u odnosu na početnu – biće brži, spretniji i automatizovaće veći deo svog rada, ali nikada neće naučiti da napravi fabričku liniju. Analogno tome, onaj ko kuca repetetivne kodove, postaće vremenom veoma vešt i brz, ali njegovo stvarno znanje će biti tek nešto bolje. Ukratko, neće bilo kakvih 10 000 sati načiniti stručnjaka od početnika.

“U cilju stvarnog napredovanja, u ovom slučaju napretku od mediora ka senioru, neophodno je da se koristi deliberate practice”, kaže Anđelković. Ovaj pojam zapravo označava sistematično i svrsishodno vežbanje, gde se celokupan radni proces rastavi na segmente i vežba pojedinačno uz kvalitetan i što kraći fidbek. “Veoma je bitno da je ono što se radi uvek na granici sopstvenih mogućnosti, da se čak oseća blago nelagodno jer je napredak moguć tek onda kad se izađe iz zone komfora i dobro poznatog. Ostanak u toj zoni je glavni razlog što neko zauvek ostane na mediorskom nivou”.

Seniori po službenoj dužnosti

Kompanije u kojima postoji velika fluktuacija zaposlenih često su prinuđene da svoje mediore proizvode u zvanje seniora zarad privida ozbiljnosti i ugleda kompanije. To ima za posledicu da takvi “seniori” budu u zabludi da to zaista jesu. Ono što je istina je da senioritet u jednoj kompaniji uopšte ne označava istu titulu u nekoj drugoj.

“Postoje ljudi koji blefiraju da su seniori ali i oni koji su sebi stvorili sliku u glavi da jesu jer im je neko negde rekao da su seniori. Onda kada dođu na razgovor na posao u ozbiljnu firmu, sve se lako razotkrije.” – smatra Anđelković. 

S njim se slaže i Miloš Žikić, neko ko je prvo u Frame-u a potom i u Nutanix-u obavio veliki broj intervjua za posao.

“Neverovatan je broj ljudi koji dođu na intervju za seniorsku poziciju, a ne znaju najosnovnije stvari,” kaže Miloš.

On kaže da bi u idealnom svetu seniorstvo bilo vezano za godine, ali nažalost postoje ljudi koji i posle 15 godina rada nemaju pojma i sa druge strane oni vrlo mladi koji su “ubice” u svom poslu.

“Kad smo pokrenuli Frame, sa 26 godina znali smo više nego neki ljudi sa 50” kaže Miloš nimalo pretenciozno. Kod seniorstva je najbitniji pristup rešavanja problemu, a ne godine. To se meri odnosom prema ljudima, pristupom poslu, hendlovanjem nepoznatih problema koji uvek iskrsnu. Titule su nevažne i one se lako proveravaju na intervjuima. Da se ja pitam (a ne pita se. prim. aut.), ne bi bilo titula. Ili si inženjer ili ne i to je to. Na neki način, veliki novac dosta utiče na tu priču oko izmišljanja titula i gotovo da ne postoji neka uniformnost. Retke su firme gde možeš da znaš šta da očekuješ od nekog kad čuješ njegovu titulu. Takođe, smatram da je neophodno da senior ume da razvija druge ljude i da u startu ispravlja njihove greške i ne samo to, već da što pre menja njihove loše navike. Seniora mora da interesuje kako stvari funkcionišu.”

Dalibor Aleksov, staff engineer (toliko dugo senior da su morali da mu promene zvanje i ohrabre ga) u Nutanixu ima zanimljivu opasku. Prema njegovom mišljenju senior se uvek plaši da je u pravu dok se junior nada da je u pravu. Odavde nije teško zaključiti da strah iskusnijeg proizlazi iz njegove svesti o tome koliko je više načina da se nešto uradi pogrešno nego isppravno. Ipak, kako on kaže, godine rada jesu bitne da bi se uopšte stekla rutina, ali da je stav pojedinca ono što će najviše doprineti da li će neko postati pravi senior ili će ostati kucač kodova od pedeset godina. 

“Mislim da svako ko iskreno želi da napreduje u ovom poslu to može i da uradi. Potrebno je da postoji neko od koga će da uči i da rešava probleme različitog spektra. Vremenom će sasvim sigurno postati senior i moći da kaže koristićemo tehnologiju A umesto B i tu odluku će moći da obrazloži i stane iza nje snoseći odgovornost”, zaključuje Dalibor.

Da rezimiramo parafrazom jednog fiktivnog, ali svima dobro poznatog lika iz serijala Pesme leda i vatre: “Svako ko za sebe mora da kaže da je senior developer, on nije pravi senior developer”.