Skip to content

Azets komanda: kas svarbu skaitmenizuojant verslo procesus

Ar kada norėjai, jog visi gauti popieriniai laiškai, sąskaitos ir kiti dokumentai imtų ir taptų elektroniniais? 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, kad susirgai? Tokias sistemas ir dar daugiau kuriame mes – Azets komandos IT ekspertai.
Feb 22, 2023 10:59:00 AM twoday

 

Azets twoday

Nors kolegų rate ir esame žinomi būtent taip, tačiau iš tiesų esame net 3 Scrum komandos ir dirbame prie 7 skirtingų SaaS produktų. Esame atsakingi už sistemas, kurias naudoja apie 120 000 skirtingų verslo klientų.

Clean Code - svarbiausia kokybė

Visi 8 projektai, sudarantys Azets sistemą, parašyti naudojant PHP 8. 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 susitikimus, kur kiekvienas gali apginti savo poziciją. Taip priimame vieningus sprendimus. Galimybė siūlyti geresnius būdus spręsti problemas nelieka tik programuotojų rate. Jei pastebime, kad galime padaryti geriau, pataisymus siūlome ir klientams, kurie pasitiki mumis ir mūsų kompetencija.Azets komanda - twoday

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ų komandos 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.

Vieningas stilius ir komponentai

Mūsų produktai priklauso tam pačiam klientui, todėl naudojame 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. Dauguma mūsų produktų parašyti naudojant Angular, tad papildomai sukūrėme atskirą biblioteką su dažnai pasikartojančiais komponentais. Abi bibliotekos talpinamos mūsų privačioje repozitorijoje. 

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 Azets 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.

Continuous Integration įgyvendinimas

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.

IT Infrastruktūroje naudojame Kubernetes – įrankį, kuris padeda orchestruoti Docker konteinerius. Dėka Kubernetes, produkcijos aplinkoje palaikome automatini scalinim’ą – priklausai nuo sistemos apkrovos, prijungiame/išjungiame papildomus serverius vartotojų užklausų apdorojimui.

 

Tikroji fikos reikšmė

Į komandą ateinant naujam žmogui, jis keliauja į komandiruotę Švedijoje – susipažinti su Azets įmone, kuriai kuriame programinę įrangą. Vis surengiame komandinę fiką, kad nenutoltume nuo švediškos kultūros Vilniuje. Daug kas fiką laiko įprasta kavos pertraukėle, tačiau skandinavams fika reiškia daug daugiau – tai 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ą.

Funkcionalumai, atsiradę investuojant į programuotojų tobulėjimą

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. 

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.

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ą.

 

Related posts