Hackathoni možda jesu demodirani, ali kad se rade s nekom većom svrhom, postaju mnogo više od fora druženja na kojem se kodira. Kada se postave kao ambiciozniji interni projekti mogu razbiti rutinu rada, pomoći u povezivanju zaposlenika te poliranju procesa razvoja: od timske koordinacije do kvalitetnijeg brainstorminga.
Tako se u DECODE agenciji dva puta godišnje održavaju Hacking Daysi, na kojima zaposlenici imaju priliku raditi na vlastitim idejama i projektima. Ponekad je tema zadana, ponekad su timovi unaprijed određeni slučajnim odabirom, a ponekada imaju potpunu slobodu oko dogovora teme i članova.
Unatoč okolnostima 2020., DECODE ekipa je znala da nije vrijeme sjediti prekriženih ruku te su uspješno nastavili s hackathonima. Odlučili su iskoristiti dobru ideju s Hacking Daysa iz veljače prošle godine, a kojim bi na jedan način i doprinijeli zajednici u ovim burnim vremenima.
Tada su imali slobodne ruke odabrati temu koju žele kao i tim s kojim će raditi. I tako su se David Halapir, Damjan Miko (više nije dio tima), Ivan Trogrlić te Vladimir Kolbas udružili oko ideje kolege Tomislava Tkalčevića – o aplikaciji koja bi mjerila količinu dostupnih krvnih grupa u Hrvatskoj, a sve je krenulo od osobnog iskustva kako to obično ide.
Za one koji su aktivni darivatelji, mogu samo reći – svaka čast. No, kako za mene, a tako i za mnoge od vas vjerujem, situacija se često svede na to da imamo volju, ali ona brzo propadne u vodu kada vidimo, primjerice, da su zalihe za našu krvnu grupu solidne. Sljedeći put do kad se sjetim pogledati kakvo je stanje prođe puno i previše vremena.
Tomislav iz DECODE agencije jednako tako nije redoviti darivatelj krvi, ali ponekad ima potrebu vidjeti da li može pomoći. Međutim, svaki put kada bi provjerio stanje na stranicama Zavoda za transfuzijsku medicinu vidio bi da zaliha njegove krvne grupe ima dovoljno ili čak i previše, dok nekih drugih krvnih grupa nedostaje, objašnjava:
Osim samom developmentu, DECODE posebnu pažnju posvećuje quality assuranceu i automatskim testiranjima koja redovito provode u sklopu projekata.I tako se javila želja za izradom aplikacije na mobilnom uređaju, koja će jednostavno – putem notifikacije – javiti nam kada nedostaje određene krvne grupe. Funkcija same aplikacije je podsjetiti “povremene” darivatelje krvi da češće daruju krv, a sve ostale informirati o tome koje krvne grupe nedostaje kako bi se, svi koji žele, mogli uključiti u darivanje krvi u pravo vrijeme.
Još na samim Hacking Daysima, Tomislav i kolege znali su da će imati samo dva dana na raspolaganju za realizaciju aplikacije te su zato na samom planu kako pristupiti razvoju počeli raditi i nešto prije Hacking Daysa. Na dan hackathona tako su znali što žele postići pa im je bilo vrlo lako podijeliti posao i napraviti plan aktivnosti i zadataka.
Ivan je bio zadužen za izradu Android aplikacije. Kako je projekt pisan od nule, odlučili su da će koristiti Kotlin. Iako je Ivan naglašavao kako je aplikacija jednostavna, svejedno nas je zanimalo što se i kako pripremalo u razvoju:
Koristili smo MVVM arhitekturu, Koin za dependency injection i Firebase Database s kojeg se povlače podaci o trenutnim razinama krvi. Firebase servis je spojen s ViewModelom koji otkriva podatke Viewu preko LiveData objekta. Dodatno smo još dodali integraciju s Firebase Cloud Messaging servisom preko kojega korisnici dobivaju informacije kada razina krvi njihove krvne skupine padne ispod minimalne razine. To je ukratko to, kao što sam rekao, mala jednostavna aplikacija.
Vladimir, David i Damjan su bili zaduženi za izradu iOS aplikacije, koju su također složili od nule. Glavna aplikacija je napisana u Swiftu i koristi UIKit, dok Widget koristi SwiftUI. Tomislav je pak prvotno bio zadužen za server-side dio, točnije prikupljanje podataka, spremanje podataka i slanje notifikacija, što je pokrio u Pythonu, a za slanje notifikacija koristio je Firebase Cloud Messaging. Kasnije se kolegijalno pridružio Ivanu na razvoju Android aplikacije.
Ideja s hackathona zaživjela je uskoro kao pravi projekt…
Tim je na aplikaciji nastavio raditi kako bi došli do zaokružene stvari. Nakon poliranja, osvanula je aplikacija “Darivanje krvi” koja jednom dnevno provjerava stanje zaliha svih krvnih grupa u Zagrebu, Rijeci i Varaždinu na web stranicama bolničkih centara i zavoda za transfuzijsku medicinu.
Hackathoni možda jesu demodirani, ali kad se rade s nekom većom svrhom, postaju mnogo više od fora druženja na kojem se kodira.Ako provjerite, vidjet ćete da ova aplikacija nije jedina aplikacija za darivatelje krvi na trgovinama Androida i iOS-a, ali se ističe svojim veoma korisnim obavijestima. Naime, aplikacija DECODE tima svaki put kada su zalihe odabrane krvne grupe u odabranom transfuzijskom centru niske – korisnicima šalje notifikacije.
Kako trenutno aplikacija funkcionira možete provjeriti sami na Google Play Storeu pa tako i na Apple Storeu – ukratko, aplikacija je prilično jednostavna za korištenje, objašnjava mi David:
Kod prvog pokretanja, korisnik odabire najbliži transfuzijski centar i svoju krvnu grupu te se prema tom kriteriju kasnije korisniku šalje notifikacija ako su zalihe te krvne grupe niske. Također, moguće je pregledati i stanje zaliha ostalih krvnih grupa, kao i stanje zaliha u ostalim centrima.
Davidu, Tomislavu i ostatku tima želja je prikupljati podatke o stanju zaliha i u Osijeku, što je tek u planu za implementaciju. Trenutno rade na tome da pojednostave cijeli proces i omoguće pravovremeno obavještavanje svih onih koji žele dobrovoljno dati krv.
Dorađivanje sitnica sigurna sam potrajat će još neko vrijeme jer, uostalom, ovaj interni projekt bio je veliko zadovoljstvo DECODE ekipi. Dobili su priliku da rade na nečem drugačijem i ne samo za klijente. Raditi na projektu bilo je odlično, komentiraju i oni sami:
S obzirom na to da smo ga manje više radili na hackathon, osvježavajuće je bilo maknuti se s trenutnih projekata i raditi “odriješenih ruku”, bez ikakvih sastanaka, taskova i sl. nego samo čisti development.
Kako interni događaji unutar tvrtke utječu na razvoj programerskih vještina? Saznaj više o ovoj temi na primjeru "…
Posted by DECODE on Thursday, January 9, 2020
Kad je u pitanju razvoj rješenja za klijente, iz agencije se ponose time što rade kompleksna i kvalitetna rješenja, ali omogućuju lagano održavanje i jednostavna su za sva buduća unaprijeđenja. DECODE zato u svakom projektu ima posloženu kontinuiranu integraciju i distribuciju (CI/CD), a klijent redovito dobiva nove verzije aplikacije na testiranje i uvid dogovorenim tempom, objašnjava suosnivač agencije, Mario Žderić:
Ljubitelji smo automatizacije pa pokušavamo automatizirati sve što se može, tako da svaki naš projekt ima setupiran CI/CD pipeline (Continouns Integration & Continous Deployment) što nam olakšava kod automatskog testiranja i čestog slanja aplikacije klijentu (isporuke novih verzija). To sve vodimo kroz alate poput Jire, Confluencea i Slacka.
U konačnici, velik naglasak stavljaju na komunikaciju između sebe i klijenta jer smatraju da je komunikacija jedna od ključnih stvari za uspješnu isporuku. Ta komunikacija uvijek je popraćena konkretnim uvidima u proces razvoja, a zbog svog bogatog iskustva, također mogu po potrebi proaktivno predlagati i modificirati rješenja, zaključuje Mario.
Za vrijeme pandemije DECODE se proširio i preuredio ured u Radničkoj koji se sada prostire na oko 500 m2.Proces razvoja DECODE organizira prema Scrum metodologiji, sa svim poznatim elementima od planiranja sprinta, retrospektiva do daily standupsa – što im omogućava da budu agilni u razvoju, a istovremeno da kontinuirano isporučuju nove verzije klijentu (nekada i na dnevnoj bazi). Kako bi to osigurali, kada dobiju novi projekt slaže se tim stručnjaka koji će raditi na projektu, a koji će biti u potpunosti fokusiran samo na taj projekt, objašnjava Mario:
Nikad ne postavljamo jednu osobu da radi na više projekata istovremeno, jako pazimo na tzv. context switching – smatramo da je context switching loš i developeri ga ne vole.
Timove obično oformimo prema potrebama projekta (2 iOS developera, 2 Android developera, 1 front-end, 1 back-end, 1 QA) i oni onda full-time rade na projektu. Ono što je još važno za naglasiti je to da ne radimo fixed-price projekte pa na taj način pokušavamo ukloniti stres s projekata.
Iako DECODE trenutno radi na više različitih projekata za strane klijente, razvijaju istovremeno i vlastiti proizvod – Shake, koji bi krajnjem korisniku olakšao prijavu bugova na određenoj aplikaciji, priča mi Vladimir:
DECODE je kroz Shake prošao sve izazove koji se postavljaju pred jedan startup, a Shake danas predstavlja naše znanje, ekspertizu i inovaciju u svijetu mobile developmenta. Osmišljen je kao produkcijski developerski alat koji developerima omogućuje rješavanje bugova 50% brže nego što su to mogli prije. Uskoro nam dolaze i novi Hacking Daysi, pa se možda pojavi i nova ideja za neki novi projekt.
U DECODE agenciji je i prije pandemije bio moguć rad izvan ureda pa su se vrlo brzo prilagodili situaciji, pričaju mi moji sugovornici:
Iako je 2020. zaista bila prepuna izazova, možemo reći da smo se hrabro borili i uspjeli iskoristiti pružene prilike. Za vrijeme lockdowna, proširili smo i preuredili naš ured u Radničkoj koji se sada prostire na oko 500 m2, a od početka pandemije broj zaposlenika je narastao.
Koliko god bila teška, 2020. nam je dala vjetar u leđa. Naši planovi za godinu pred nama su veliki, kontinuirano se pokreću novi projekti na kojima radimo pa samim time i kontinuirano zapošljavamo nove ljude na različitim pozicijama.
Tako je DECODE spremno ušao u 2021. a ako i vi poželite s njima, svakako provjerite njihove stranice karijera.
17/02/2021 09:18 AM
2014 © Hrvatske aplikacije i vesti