Miroslav Levar o KING ICT Akademiji: Kako su studenti razvili aplikaciju

Iza nas je još jedna KING ICT Akademija, program koji studentima nudi besplatnu edukaciju i plaćenu praksu. Studenti tako dobivaju mogućnost učiti od stručnjaka i iz prve ruke vidjeti kako izgleda rad u IT branši. Ove godine,  akademija je po prvi puta održana online i to – vrlo uspješno. 29 studenata sudjelovalo je u teorijskom dijelu, nakon čega je odabrano njih šestero koji su s mentorima radili na praktičnom dijelu – izradi aplikacije.

Jedan od mentora, mag. ing. inf. et comm. techn. Miroslav Levar, koji u KING ICT-u radi kao softver arhitekt, otkrio nam je sve što nas je zanimalo o ovogodišnjoj, atipičnoj akademiji. Miroslav nam je, kao stručnjak s višegodišnjim radnim iskustvom u razvoju softvera i Kingovac koji posjeduje neke od najprestižnijih industrijskih certifikata, uspio i laički objasniti što su to točno studenti uz pomoć mentora razvili, čemu aplikacija služi, kako će funkcionirati, ali i kako je čitav proces protekao.

Je li ovo prvi puta da si mentor? Kakva su (dosadašnja) iskustva?

Inače imam iskustva kao mentor i kao predavač, ali ovo je prvi put da sam mentor na Kingovoj akademiji. Mislim da mogu govoriti i u ime svojih kolega iz Kinga kada kažem da svaki ovakav projekt smatramo ozbiljnim i da se trudimo izgurati ga do kraja i ostvariti sav njegov potencijal na zadovoljstvo nas iz Kinga pa tako i naših studenata.

Prijašnjih godina, zbog obveza na drugim projektima, znao sam da se Akademiji ne bih mogao posvetiti onoliko koliko je potrebno te stoga nisam aktivno sudjelovao u njenoj realizaciji. Zato mi je izrazio drago što sam ove godine uspio „uskočiti“ u ovu atipičnu inačicu akademije usred ove nevolje s korona krizom kako bih podijelio svoje iskustvo i znanje i pomogao u osmišljavanju plana i programa kao i realizaciji istoga.

Kako je bilo raditi sa studentima, možeš li opisati kako izgleda jedan tipičan radni dan s njima?

U ovogodišnjoj KING ICT akademiji ništa nije bilo tipično pa tako ni rad sa studentima. Prva stvar na koju smo se morali naviknuti je ta da se ne možemo sastajati osim virtualno. Po meni, neke stvari je brže riješiti kada imamo neposrednu komunikaciju, odnosno kada sjedimo jedan pored drugoga. No, baš iz tog razloga mi je bilo zanimljivo raditi na ovoj Akademiji. Prvi put sam iskusio scenarij rada u dislociranom timu tj. rada s udaljene lokacije (remote). To je scenarij koji se baš i ne viđa u tvrtkama naše regije te sam tu, umjesto problema, vidio priliku da još nešto novo naučim i iskusim.

Radni dan tima počinjao bi jutarnjim „daily“ sastankom gdje bi svatko iz tima predstavio na čemu je radio jučer, je li  pritom bilo nekih problema koje nije znao riješiti i na čemu će raditi danas. Nakon te kratke koordinacije, riješili bismo eventualne probleme i nastavili raditi na radnim zadacima definiranim u Jiri. Za komunikaciju smo koristili Discord koji nam se pokazao kao izvrstan alat jer pruža sve funkcionalnosti koje su nam bile potrebne, poput dijeljenja zaslona, videopoziva, glasovnog (običnog) poziva i chata (tekstualne poruke).

Tijekom dana smo radili na svojim zadacima te ovisno o našoj roli na projektu, iste dokumentirali na Confluenceu ili Bitbucketu. Što se tiče developerske strane, radili smo po GitFlow načelu rada, na kraju svakog dana bismo promjene spremili na Git, a kod završetka svakog „taska“, za isti bismo otvorili „pull request“. Nakon detaljne revizije kôda, isti bi završio u integracijskom „branchu“ i na našoj QA (test) okolini odakle dalje preuzima naš tester koji se, osim manualnog testiranja, bavio i automatizacijom testova.

Reci nam o projektu kojeg ste radili, objasni nam ga laički. Što ste i kako radili, što će app omogućiti? Možeš li i sa stručne strane objasniti korake?

Projekt je nastao kao ideja da pokušamo riješiti trenutni izazov koji imamo. Kako nas je puno i više-manje svi se družimo nekako, a ne znamo u potpunosti tko se od naših kolega/prijatelja također druži ili tko bi sve htio sudjelovati u nekoj zajedničkoj akciji, imamo problem kod organiziranja takvih akcija. Najčešće se mail ne pošalje svima koji bi htjeli sudjelovati ili se pošalje na prevelik broj osoba koje ne bi trebale ili ne žele biti uključene. Inicijalno, htjeli smo riješiti izazov organizacije skupljanja novca i kupovanje darova za rođendane naših kolega/prijatelja jer je to najučestalije događanje, ali uspjeli smo pokriti i kategoriju „ostalo“ – za ostale tipove događaja.

Ideja je bila da se bilo tko iz naše organizacije svojim domenskim podacima prijavi u web aplikaciju koju smo kasnije nazvali „King Team Gifts“. Tamo može personalizirati svoj izgled na aplikaciji putem dodavanja slike profile ili avatara te unosa svog datuma rođenja. Ovaj unos datuma rođenja nam je jako bitan jer aplikacija automatski kreira događaj za skupljanje novca za dar za korisnika koji je unio svoj datum rođenja. Taj događaj nije vidljiv korisniku za kojeg se skuplja. Korisnik aplikacije može vidjeti druge događaje za druge korisnike i odabrati hoće li sudjelovati na njima ili ne. Dodatno, može se pretplatiti na druge korisnike na način da, ukoliko se pojavi bilo koji događaj za njih, on je automatski obaviješten i sudjeluje u novokreiranom događaju.

Ovom aplikacijom riješili smo izazove organizacije događanja, prvenstveno organizacije skupljanja novaca za dar za rođendan jer su događaji automatski kreirani, svi odgovarajući korisnici su obaviješteni te je izabran organizator koji skuplja novce, kupuje dar i uručuje ga.

Rješenje smo razvili u obliku zajedničkog frontend sustava na Reactu. Backend API-ja na ASP.NET Core i Java Spring tehnologiji. Baza podataka nam se „vrti“ na MS SQL-u. Za autentifikaciju smo koristili Keycloak server koji smo konfigurirali da se korisnici „dovuku“ i sinkronniziraju preko LDAP-a.

Koji su bili tebi najzanimljiviji projekti na prošlim Akademijama? Je li ti ovo dosad najzanimljiviji projekt, kakav je u usporedbi s ostalima?

Ovo je definitivno bio jedan od zahtjevnijih projekata King akademije iz razloga što smo svi radili „remote“, studenti su se prvi put susreli s Reactom i automatskim testiranjem aplikacije i bilo je jako puno funkcionalnosti koje je trebalo odraditi u jako kratkom vremenu. Sve u svemu, čestitke timu na uloženom naporu i odlično obavljenom poslu. Mislim da ni iskusniji kolege ne bi ovo bolje napravili.

Od ostalih projekata King akademije, istaknuo bih dva projekta: „Tech radar“ i „Marketplace“. I oni rješavaju izazove s kojima se susrećemo te predstavljaju dva interna alata s kojima danas radimo. U usporedbi s „King Team Gifts“, rekao bih da je prednost ove aplikacije u tome što smo iskoristili veći „stack“ tehnologija i na taj način imali raznovrsniji tim koji su više morali komunicirati i surađivati što je rezultiralo boljim praktičnim iskustvom. Cilj svake akademije nam je podići ljestvicu (letvicu) još malo i učiniti ovo iskustvo i nama i studentima boljim i kvalitetnijim.

Misliš li da fakulteti čine dobar posao u pripremi studenata za realni sektor u IT branši?

Ovdje bih rekao da ovisi od fakulteta do fakulteta, ali i da ovisi od studenta do studenta. Fakultet može imati dobar ili loš program, ali razlika između dobrog i lošeg studenta nije u tome što uči i radi za vrijeme predavanja već u tome što uči i radi u svoje slobodno vrijeme.

Što se tiče fakulteta, smatram da ima mjesta za napredak. Dapače, očekujem ga.

Kako bi pozvao i druge studente da se odvaže prijaviti na našu akademiju?

Jednostavno. Dođite, nemate što izgubiti.

Htio bih naglasiti kako je KING ICT Aakademija plaćena i računa se kao ljetna praksa studentima. Osim ova dva benefita, nosi još jedan, a taj je daleko vrjedniji. Nosi znanje, odnosno, iskustvo. Ako kažemo da je osoba zbir svojih iskustava, tada možemo reći da vrijedi koliko vrijede ta iskustva.

Zaključio bih ovaj intervju jednom mišlju… „Čovječe, pazi da ne ideš malen ispod zvijezda!“ (A. B. Šimić).