Onboarding na delu #2: Praksa

Naslovna slika blog objave

Praktikant kroz ovaj proces potvrđuje i dokazuje svoje postojeće veštine i znanje kroz praktičan rad, dok istovremeno od mentora uči nove stvari i dobre prakse.

Praksa traje jednu nedelju, a ponekad se produžava na dve, tokom kojih kandidat, sada u ulozi praktikanta, radi na jednom ili više probnih projekata koje pripremaju naši mentori.

Važnije je da praktikanti pravilno slede instrukcije i predloge za unapređenje, kao i da samostalno istražuju potencijalna rešenja i predstave ih svojim mentorima.

Kontaktirajte nas

Praktikant kroz ovaj proces potvrđuje i dokazuje svoje postojeće veštine i znanje kroz praktičan rad, dok istovremeno od svojih mentora uči nove stvari i dobre prakse.

To ne znači da se od praktikanta očekuje da u roku od jedne nedelje ispuni sve zahteve koji su mu postavljeni, ali bi trebalo da postoji određena provera i validacija njegovog rada. Često je sasvim dovoljno da aplikacija funkcioniše i da ima mali broj prihvatljivih grešaka.

Važnije je da praktikanti pravilno slede instrukcije i predloge za unapređenje, kao i da samostalno istražuju potencijalna rešenja i predstave ih svojim mentorima. Naravno, to ne znači da se od njih ne očekuje da zatraže pomoć kada im je potrebna.

Praksu smo podelili u nekoliko faza, koje su opisane u nastavku: podešavanje okruženja, upoznavanje sa projektom, implementacija i feedback.

 

Podešavanje okruženja

Pre nego što počne da radi na samom projektu, praktikant treba da podesi svoje razvojno okruženje. Slobodan je da izabere jezike, alate, editore i IDE-je koje želi. Tokom prakse ne insistiramo nužno na standardizovanim alatima koje koristimo na našim projektima, ali praktikante upozoravamo da, ukoliko koriste drugačije alate od svojih mentora, mentorima može biti potrebno više vremena da im pomognu da ih pravilno podese.

Mentori se fokusiraju na podešavanje naloga i pristupa projektima za praktikante, ali mogu pomoći i oko bilo kog drugog dela podešavanja.

Upoznavanje sa projektom

Projekat se obično sastoji od jednog ili dva projekta koji se kreiraju od nule. Full-stack developeri najčešće rade na dva projekta – jednom za API, a drugom za web ili mobilnu aplikaciju.

Praktikante upoznajemo sa projektima i njihovim ključnim aspektima: bezbednošću, entitetima, relacijama i funkcionalnostima.

Bezbednost

Kada praktikantima objašnjavamo bezbednost, prolazimo kroz način na koji se korisnik autentifikuje i koje radnje ima pravo da obavlja, u zavisnosti od njegovih ovlašćenja i uloga. Kada je u pitanju novi projekat, izbor sistema za autentifikaciju najčešće prepuštamo praktikantima, ali im obično preporučujemo popularna rešenja, kao što je JSON Web Token.

Entiteti i relacije

Zatim definišemo entitete aplikacije, zajedno sa njihovim poljima i namenom. Nakon toga objašnjavamo relacije između tih entiteta – da li su jedan-na-jedan, jedan-na-više ili više-na-više, kao i da li te relacije sadrže dodatne podatke i zbog toga se modeluju kao zasebni entiteti.

Funkcionalnosti

Na kraju definišemo funkcionalnosti koje su već implementirane, kao i one koje treba unaprediti ili implementirati od početka. Već implementirane funkcionalnosti preuzimaju se iz javno dostupnih aplikacija i/ili API-ja, ali postoje i one koje su razvili zaposleni ili mentori.

Kada su u pitanju frontend developeri, često se koriste javno dostupni API-ji, dok se prilagođeni podaci preuzimaju iz fajlova ili SQLite baza podataka, gde se takođe čuvaju.

Implementacija

Faza implementacije podrazumeva realizaciju svih funkcionalnosti definisanih tokom upoznavanja sa projektom. Tokom prakse nisu obavezni unit ili integration testovi, ali su svakako poželjni, sve dok praktikantu ne oduzimaju vreme potrebno da na vreme završi većinu funkcionalnosti.

Od praktikanta se očekuje da samostalno istražuje i piše kod, dok mentori rade code review i na kraju svakog dana daju feedback, smernice, potencijalna rešenja, preporuke za alate i biblioteke, vodiče i predloge za naredne korake.

Pomoć mentora

Praktikanti se podstiču da tokom dana zatraže pomoć kada im je potrebna, ali tek nakon što sami pokušaju da pronađu i istraže moguće probleme i rešenja. Cilj nije da mentor uradi sve umesto njih i/ili da im daje detaljna uputstva korak po korak, već da praktikanti pokažu svoje znanje i veštine. Uloga mentora je da im pomogne da prošire svoje znanje.

Istraživanje i kodiranje

Pod istraživanjem podrazumevamo pronalaženje mogućih rešenja za konkretne probleme, isprobavanje svakog od njih, njihovu analizu i izbor rešenja za koje praktikanti procene da je najadekvatnije.

Kodiranje je usmereno na integraciju odabranog rešenja u aplikaciju, uz vođenje računa o čitljivosti koda, strukturi i performansama.

Review i mentorstvo

Nakon toga, mentori zajedno sa praktikantima prolaze kroz izmene u novom kodu u okviru review-a. Daju komentare i predloge, ukazuju na postojeće, previđene i potencijalne probleme. Zatim objašnjavaju najbolje prakse i obrasce koje bi trebalo primeniti, kao i dele linkove ka člancima, video-materijalima i tutorijalima, uz ključne reči koje praktikanti mogu da koriste za dalju pretragu i rešavanje i unapređivanje koda. Sve to praktikanti mogu ponovo koristiti tokom svog istraživanja.

 

Feedback

Na kraju nedeljne prakse, mentori organizuju feedback razgovor sa praktikantima, koji je po strukturi i svrsi veoma sličan feedback intervju. Sastoji se od procene znanja praktikanta, procene težine implementacije projekta i definisanja narednih koraka.

Znanje

Feedback o znanju ponovo prvi daje praktikant. Potrebno je da sam proceni svoje znanje i kaže kako procenjuje svoje veštine kodiranja i inženjerske veštine, kao i praktično iskustvo. Nakon toga istu procenu daju mentori, a zatim zajedno razgovaraju o sličnostima i razlikama u svojim procenama.

Procena projekta

Procena zahtevnosti projekta fokusira se na to koliko su praktikantu bile jasne instrukcije i detalji u vezi sa funkcionalnostima kao i koraci koje je preduzeo da ih implementira. Takođe, pokazuje koliko je praktikant uspešan u unapređivanju, refaktorisanju i optimizaciji koda, pronalaženju i otklanjanju grešaka, kao i u predlaganju poboljšanja i rešenja.

Kao i ranije, prvo praktikant daje svoju procenu, a zatim svoju procenu daje mentor. Ovaj korak takođe pomaže mentorima da unaprede način na koji daju instrukcije i definišu specifikacije.

Naredni koraci

Na kraju, na osnovu prethodne dve faze, mentori i praktikanti mogu da procene da li su rezultati bili zadovoljavajući, nezadovoljavajući ili negde između.

Nezadovoljavajući rezultati

Rezultati se smatraju nezadovoljavajućim ako većina aplikacije nije implementirana i aplikacija se ruši ili ne funkcioniše kako treba. Rezultati su takođe nezadovoljavajući ako je praktikant veći deo razvoja radio uz mentora, što ukazuje na to da ne može da radi samostalno.

U tom slučaju, zaposlenje ili produžetak prakse nisu opcija. Međutim, mentor praktikantu daje materijale za učenje i ukazuje na oblasti na koje bi trebalo da se fokusira u narednom periodu. Nakon najmanje tri meseca, praktikant je dobrodošao da ponovo pokuša ukoliko želi.

Delimično zadovoljavajući rezultati i produžetak prakse

Ako je većina aplikacije uglavnom ispravna i praktikant je u velikoj meri samostalan, uz mali broj grešaka, povremena pitanja o implementaciji i nekoliko izmena nakon review-a, smatra se da praktikant ume da prati instrukcije i da ne okleva da zatraži pomoć kada naiđe na problem. Postoji određeni nivo samostalnosti, zbog čega se rezultat smatra delimično zadovoljavajućim.

U tom slučaju nudimo produžetak prakse za još jednu nedelju, koja je usmerena na proširivanje veština praktikanta i razvoj njegove samostalnosti u istraživanju, usvajanju novih znanja i prilagođavanju drugačijoj tehnologiji. Praktikant izlazi iz svoje zone komfora, sa većim fokusom na istraživanje, učenje i čitanje dokumentacije.

Praksa se produžava i kada je praktikant, koji je radio potpuno samostalno, završio većinu aplikacije, ali mu tokom prve nedelje nije ostalo dovoljno vremena da isproba nešto novo.

Zadovoljavajući rezultati i razgovor o zaposlenju

Kada je većina aplikacije ispravno i samostalno završena, uz nekoliko smernica i sugestija mentora, rezultat se smatra zadovoljavajućim. Isto važi i kada kandidat nakon produžetka prakse uspešno savlada i razume drugačiju tehnologiju.

Tada se otvara mogućnost zaposlenja, o kojoj najpre razgovaraju praktikant i mentor, a zatim praktikant, HR i CEO.

Važnije je da praktikanti pravilno slede instrukcije i predloge za unapređenje, kao i da samostalno istražuju potencijalna rešenja i predstave ih svojim mentorima.

Kontaktirajte nas

Kategorije (tagovi):

  • #Internship
  • #Onboarding
  • #Mentorship
  • #SoftwareDevelopment
  • #CareerDevelopment
  • #Learning