Entry-level developeri često u IT tvrtkama nisu najpoželjnija radna snaga. Bez konkretnog iskustva, bez konkretnih znanja, bez temeljitog poznavanja tehnologija mnogima više posla uzrokuju, nego što ga rješavaju. Svjesni smo toga i mi. No, umjesto da za entry-level/juniora tražimo osobe s iskustvom, odlučili smo sami se pobrinuti za razvoj mladih developera.
Ljetni akcelerator, naš program ljetnih praksi, tražen je i poznat program u studentskim krugovima jer na njemu studenti u timovima rade cijelo ljeto na pravom projektu i stječu korisno iskustvo. Dobro razrađen program ljetnih studentskih praksi rezultat je razvijene kulture mentoriranja koja se u CROZ-u njeguje svakodnevno. O važnosti mentoriranja razgovarali smo s Matijom Folnovićem i Matijom Katanecom, developerima i voditeljima CROZ-ovog odjela namijenjenog studentima koji trebaju steći korisno radno iskustvo – Inkubatora.
Što je Inkubator? Koja je njegova uloga unutar organizacije CROZ-a?
Inkubator je tim koji je fokusiran na pripremanje novih CROZ-ovaca za rad na projektima za korisnike. Radimo većinom na internim poslovnim sustavima, dakle klijent nam je naša firma pa to praktikantima u Inkubatoru omogućuje razvoj bez pritiska i daje im vremena da bolje nauče osnove. Koristimo iste metodologije kao i na projektima za korisnike. Radimo na raznolikim projektima za korisnike, na raznim tehnologijama, pa je nemoguće biti identičan svim projektima – ali se trudimo biti što je moguće sličniji kako bismo ljude što je moguće bolje pripremili za projekte za korisnike. S našim HR odjelom pazimo da mentori imaju dovoljno vremena kvalitetno se baviti ljudima te da je osoba dobar fit za budući tim. Sudjelujemo i u ljetnim praksama kao mentori svojim timovima. Mi zapravo vodimo ljude kroz programerski onboarding – rješavaju se zadaci poput implementiranja nekih funkcionalnosti na kojima se uče razni principi, a nakon toga kreće development na internim aplikacijama. Nove ljude također učimo dobrim tehnološkim praksama, ali im pomažemo i da se uhodaju u način na koji firma funkcionira.
Što su uopće dobre tehnološke prakse? Zašto su važne?
Tehnološke prakse unutar projekta ili tima nam govore koji je trenutni konsenzus načina na koji rješavamo najčešće tehničke ili poslovne zahtjeve. One su dosta fluidne jer, kako kroz vrijeme stječemo više iskustva, tako bolje znamo koje nam tehnološke prakse unutar projekta ili tima najbolje odgovaraju. Bitno je naglasiti da one vrijede unutar projekta ili tima jer ne postoji zlatni standard koji svaki tim treba koristiti. Tehnološke prakse su važne jer drže naš fokus na rješavanju poslovnih zahtjeva i sprječavaju nas da više puta trošimo vrijeme na rješavanje istog problema.
Također, pomažu nam da se na nekom projektu ne nađemo u situaciji da imamo deset različitih načina rješavanja istog problema, jer jedino što nova osoba iz toga može zaključiti je da je u redu da se taj problem rješava i na još jedan, 11. način. Tehnološke prakse ovise o raznim objektivnim i subjektivnim faktorima unutar tima. Jedan tim može imati jedne prakse za koje smatra da su dobre, drugi tim može imati sasvim druge prakse za koje smatra da su dobre. Ako su te prakse došle iz nekog kvalitetnog razmišljanja, na temelju dosadašnjeg iskustva, obje prakse su dobre. Korisno je čuti i o tehnološkim praksama drugih timova, kao inspiracija za potencijalne promjene u praksama unutar tima.
Bi li se takvom pristupu moglo prigovoriti da suzbija kreativnost i sprječava tehnološki napredak osobe?
Za kreativnost je gore uopće ne imati neke tehnološke prakse. Puno je bolje dati nekome prostora da na temelju svog dosadašnjeg iskustva na nekom novom projektu odabere koje su tehnološke prakse prigodne za taj projekt.
Kada je pravo vrijeme da se te dobre tehnološke prakse počnu primjenjivati i učiti? Kada učimo neku novu tehnologiju, ili…?
Ako pričamo o samostalnom učenju, rekao bih da je bolje prvo naučiti nekako raditi, pa makar suboptimalno. Dobre prakse će onda doći po putu, s iskustvom. A ako imamo mentora uz sebe, koji nas može usmjeriti s dobrim praksama, onda tehnologiju možemo učiti uz dobre prakse. Ono što je izazov je naučiti zašto su baš te prakse dobre, ali osjećaj za tako nešto dolazi s iskustvom. Dobar dio praksi uopće nije vezan na konkretnu tehnologiju, moguće ih je uz prilagodbe primijeniti u različitim tehnologijama. Ovo vrijedi do te mjere da mi se događa da praksa koju sam prije par godina vidio u backend svijetu primijenim danas na problem u frontend svijetu (i obrnuto). Dobra praksa je dobar izvor inspiracije za kasnije.
Dakle, uloga mentora je usmjeravanje u vidu dobrih praksi. Koja je još uloga mentora u IT tvrtkama? Kako to mentoriranje u praksi izgleda?
Da, mentor raznim metodama usmjerava osobu da koristi te dobre prakse i objašnjava njihovu pozadinu. Danas je dosta jednostavno krenuti učiti bilo što, za sve postoje tečajevi, knjige i stranice na kojima možemo naći rješenja problema s kojima se susrećemo. Kod neiskusnih ljudi, takvo se učenje često fokusira na traženje bilo kakvog rješenja problema – samo je bitno da radi. Često se događa da na istom problemu stojimo satima i danima, a najčešće je problem u nekoj sitnici. Uloga mentora, a to je ono što mi uvijek pokušavamo, je da pomogne i da prodiskutira o mogućim rješenjima i pomogne u odabiru najboljeg, uzevši u obzir širu sliku aplikacije, kako je napravljena, u kojem će smjeru dalje ići i slično. U praksi svaki mentor radi code review i ukazuje na neke probleme, bolja rješenja i slično. Mentor je dostupan za pomoć i odgovaranje na pitanja, a također se brine o tome da se osoba osjeća dobro u firmi i da radi na projektima koji je zanimaju. Kod nas svatko kada dođe ima nas dvojicu kao mentore u Inkubatoru, a zatim ima svog vlastitog mentora s kojim ima redovite 1-na-1 sastanke. Dakle, nema samo mentora na papiru, već osobu za koju zna da je uvijek tu za njega, o čemu se god radilo.
Kakav bi onda mentor trebao biti? Je li teško biti dobar mentor?
Mentor bi trebao imati puno strpljenja i biti spreman pomoći u bilo kojem trenutku, što se mi jako trudimo raditi. Općenito su u CROZ-u ljudi jako svjesni važnosti pravovremene pomoći pa smo uvijek dostupni da pomognemo. Naravno, u tome treba naći mjeru jer nema smisla odavati rješenja problema, već treba usmjeriti osobu kako da problem riješi sama. Dobar mentor će davati pravu vrstu zadataka u pravom trenutku, naći balans između usmjeravanje čovjeka do rješenja i njegovog samostalnog traženja rješenja, poticat će ga da se razvija profesionalno, ali i osobno. Nama je jako bitno da su ljudi koji dolaze u firmu spremni biti dio kolektiva, da su dobri u radu u timu, da su odgovorni i da se na njih može računati. Tako da je uloga mentora graditi te osobine kod osobe koju mentorira.
Iz razgovora s Matijom Folnovićem i Matijom Katanecom može se zaključiti da imaju izuzetno razvijenu intrinzičnu motivaciju da budu dobri mentori i poučavaju ljude, a s nekom vrstom mentorstva bave se od ranih dana. Naime, Katanec je još u srednjoj školi počeo voditi radionice programiranja za djecu u sklopu udruge Programerko, držao je instrukcije iz matematike, a otkad je došao u CROZ i postao full-stack developer, postao je i mentor u Inkubatoru. Sličan put imao je i Folnović – išao je na natjecanja, držao je pripreme za natjecanja, zaposlio se u CROZ-u na početku fakulteta, prošao sve i svašta, a sada je mentor u Inkubatoru. Ideja o pokretanju Inkubatora kao jedinstvenog tima unutar kojeg se mladi developeri mogu razvijati i bila je ideja upravo Matije Folnovića, a pala mu je na pamet prije 4-5 godina. Od tada još uvijek uživa u mentoriranju mladih developera koji dolaze u CROZ, a mnogi od njih danas su i sami odlični mentori novim generacijama developera.
Članak je originalno napisan za portal debug.hr u sklopu developerske konferencije .debug, čiji smo partner bili 2021. godine.