Azets komanda – kas svarbu skaitmenizuojant verslo procesus?

Ar kada norėjote, jog visi gauti popieriniai laiškai, sąskaitos ir kiti dokumentai imtų ir taptų elektroniniai? O gal būtų patogu matyti visą su darbo užmokesčiu, grafiku bei atostogomis susijusią informaciją vienoje vietoje? Pateikti atostogų prašymus ar pranešti, jog susirgote? Tokias sistemas ir dar daugiau kuriame mes – Azets komandos IT specialistai. Nors kolegų rate ir esame žinomi būtent taip, tačiau iš tiesų esame net 3 Scrum komandos ir dirbame prie 8 skirtingų SaaS produktų. Esame atsakingi už sistemas, kurias naudoja daugiau nei 3000 Azets konsultantų bei apie 20 000 skirtingų verslo klientų.

Azets, IT specialistai

Azets komanda

Verslo procesų užsakomosios paslaugos (Business Process Outsourcing – BPO) – pavadinimas sudėtingas, tačiau iš esmės, tai yra visa programinė įranga, skirta palengvinti kasdienius verslo procesus. Kaip kad minėta dokumentų skaitmenizavimo sistema. Ji palengvina darbą tiek buhalteriams, tiek administracijai, o iš tiesų, kaip ją pritaikyti, turbūt, surastų dauguma bet kurios įmonės darbuotojų. Šiais produktais klientai gali naudotis atsisiuntę CoZone programėlę.

Clean Code – svarbiausia kokybė

Visi 8 projektai, sudarantys Azets sistemą, parašyti naudojant PHP7. Kadangi jie komunikuoja asinchroniškai, naudojant eiles, tenka spręsti sudėtingas concurrency (klaidų apdorojimo bei sekimo) ir kitas paskirstytoms sistemoms būdingas problemas.
Tam, jog išvengtume klaidų, vieni kitų kodą peržiūrime visi – tiek senior, tiek junior programuotojai. Jeigu kyla nesutarimų, kokį sprendimą priimti, rengiame Clean Code (liet. švarus kodas) susitikimus, kur kiekvienas gali apginti savo poziciją. Taip priimame vieningus sprendimus. Ši galimybė siūlyti geresnius būdus spręsti problemas nelieka tik programuotojų rate – jei matome, kad galime padaryti geriau, pataisymus siūlome ir klientams, kurie pasitiki mumis ir mūsų kompetencija.

Dirbant back-end’e nuobodu nebūna – bug fix’ų nedaug, tad visą dėmesį sutelkiame naujų funkcionalumų kūrimui, kurių numatoma vis daugiau ir daugiau. Grįžti atgal ir taisyti bug’ų nereikia tik todėl, kad viską padengiame testais. Testai ne tik apsaugo nuo trikdžių, bet ir leidžia sparčiai ir be streso plėtoti Azets programas. Clean code atžvilgiu turime stiprų vadovų palaikymą, tad galime skirti laiko ir atlikti kodo refactor’inimą, kai jo reikia, ir taip išvengti technical debt’o. Net kai kažko reikia greitai, mes neaukojame kodo kokybės laiko atžvilgiu.

Kadangi mūsų produktai priklauso tam pačiam klientui, turime naudoti vieningą stilių ir komponentus. Vengiame dubliuoti pastangas ar kopijuoti kodą gabalais. Dėl šių priežasčių sukūrėme savo dizaino sistemai skirtą biblioteką Bootstrap 4 pagrindu. Kai stiliai apibrėžti, reikia rūpintis interakcijomis. Kadangi dauguma mūsų produktų parašyti naudojant Angular, papildomai sukūrėme atskirą biblioteką su dažnai pasikartojančiais komponentais. Abi bibliotekos talpinamos mūsų privačioje repozitorijoje. Techniškai kalbant, paleidome Sinopia2 Docker konteinerį, kuris veikia ir kaip registras, ir kaip repozitorija mūsų privačioms bibliotekoms. Kadangi turime tokius pamatus, naujus produktus galime kurti išvengdami nereikalingo kopijavimo ar kitų blogųjų praktikų. CSS bibliotekai sukūrėme dokumentaciją VuePress pagrindu. Angular komponentų bibliotekos dokumentacijai panaudojome Storybook.js. Pačiuose produktuose nevengiame naudoti NgRx architektūros, drąsiai naudojame plačias RxJS galimybes, Angular CLI.

Mobilioji CoZone programėlė sukurta su React Native. Tai jau antroji programėlės versija. Pirmąją versiją kūrėme su Ionic, tačiau ilgainiui pasirodė, jog React Native yra geresnė alternatyva. Peržiūrėjus kodą, testinės versijos yra automatiškai publikuojamos App Center sistemoje.

Kiekvienas commit’as praeina Continuous Integration žingsnius, kurių metu paleidžiami unit testai, kodo stilius patikrinamas statinės analizės įrankiais. Jei kodas atitinka standartus – jį peržiūrime patys. Taigi, joks blogas ar skubotas kodas nenueina iki produkcijos stadijos. Tokie darbo principai padeda ne tik kurti kokybišką produktą, bet tobulėti kiekvienam iš mūsų. Tobulėja tiek mūsų programavimo gebėjimai, tiek sprendimų priėmimo įgūdžiai.

Siekiame dirbti pagal Continuous Delivery modelį: turime automatizuotus testus, paketai paruošiami Continuous Integration etapuose, galime įjungti/išjungti funkcionalumą per feature toggles. Stengiamės vengti rankinio darbo, kad darytume kuo mažiau klaidų (žmogiškasis faktorius). Continuous Integration naudojame mobiliajai programėlei, nuosavoms vartotojo sąsajos bibliotekoms, PHP moduliams.

Tikroji fikos reikšmė ir funkcionalumai, atsiradę nuolat investuojant į programuotojų tobulėjimą

Kai į komandą ateina naujas žmogus, jis kelioms dienoms keliauja į Švediją komandiruotei – susipažinti su Azets įmone, kuriai kuriame programinę įrangą. Tam, kad Vilniuje nenutoltume nuo švediškos kultūros – vis surengiame komandinę fiką. Daug kas fiką laiko įprasta kavos pertraukėle, tačiau skandinavams fika reiškia daug daugiau – galimybę kaip lygus su lygiu susitikti su vadovais ar kitais komandos nariais. Iš mūsų klientai tikisi, kad būsime savarankiški ir patys siūlysime geresnius sprendimus. Tokia aplinka leidžia kūrybingiems kolegoms imtis įdomių iniciatyvų ir gauti kliento palaikymą.

Kiekvieno komandos nario asmeninis tobulėjimas mums labai svarbus, todėl kasmet rengiame Azets Development Unit konferencijas. Jų metu dalinamės patirtimi, klausome išorinių specialistų pranešimų, rengiame technologines dirbtuves, diskutuojame produktų ateities ir technologijų klausimais bei leidžiame laiką su kolegomis iš skandinavijos šalių neformalioje aplinkoje. Štai per paskutinę konferenciją su konsultantais iš Amazon Web Services dalyvavome praktiniuose mokymuose. Jų metu gavome kreditų, kuriuos skyrėmė ML (Machine Learning) dirbtuvėms, serverless architektūros nagrinėjimui. Sužinojome kaip dirbama didžiausioje e-komercijos įmonėje pasaulyje ir kaip taikomos inovatyviausios AWS technologijos įvairiose gyvenimo srityse.

Azets, komanda, IT specialistai

Azets komanda

Komandoje organizuojame ir Your Developer Day, kurios metu turime galimybę skirti visą dieną tobulinti žinias pasirinktoje srityje. Nesvarbu, ar išbandyti naują karkasą, ar susipažinti su nauja programavimo kalba ar technologija – kiekvienas sprendžia pats, ką naujo išmoks tą dieną. Dažnai naujai įgytas žinias bandome pritaikyti per hakatonus, kurių metu programuotojai bando įgyvendinti sugalvotus naujus funkcionalumus mūsų produktams. Tokiu būdu dienos šviesą išvydo feature toggles vartotojo sąsaja, atostogų prašymai per populiarias chat sistemas, dokumentų turinio paieška ar vartotojų užduočių palengvinimai pritaikant dirbtinį intelektą.

Štai toks yra IT specialistų darbas Azets komandoje. Visada ieškome kompetentingų kolegų, tad užsuk į Visma Lietuva karjeros puslapį ir galbūt greit produktus kursime kartu!