Leapwiseovih 5 savjeta za razvoj enterprise softvera – i besplatan backend priručnik

netokracija - prije 1 mjesec - link

Sa svojim timom od 20+ ljudi, kojeg većinski čine mid i senior developeri, Leapwise radi custom development rješenja za enterprise klijente, a trenutno razvijaju i nekoliko vlastitih proizvoda koje će na jesen predstaviti javnosti.

Dosad su radili na više od 50 uspješnih projekata kroz koje su se usko fokusirali na agilno i modularno razvijanje softvera i ljudi, te certificirane i dedicirane timove.

U Leapwiseu im je, kako tvrde, najvažnije razvijati softver koji je tehnološki izazovan, skalabilan i održiv, minimalizirajući time tehnički dug.

“Svaki se problem može riješiti na bar dva načina”

U želji da svojim praksama pomognu kolegicama i kolegama, ali i zainteresiranoj javnosti, Leapwise je odlučio svoje interne smjernice za programiranje pretvoriti u novi oblik — javno dostupan backend priručnik.

U Leapwiseu interni razvoj svakog developera počinje korištenjem njihovih vlastitih smjernica za kodiranje. Te smjernice rezultat su univerzalnih standarda u razvoju softvera, ali i koncepata koje su razvili i unaprjeđivali unutar Leapwisea kada se sami žele podsjetiti nekih korisnih praksi. Takva standardizacija procesa i najboljih praksi Leapwiseu je pomogla da svi imaju isti pristup načinu rada i kodiranju, čime se potaknula bolja suradnja i usklađivanje unutar i između timova.

Ivan Žganjer, Tech Lead Leapwisea, pojasnio je zašto im je bitno na ovakav način dijeliti svoje znanje i iskustvo:

Budući da nema puno backend handbooka ovog tipa, htjeli smo potaknuti dijalog o korisnim praksama u razvoju softvera. Znamo da se svaki problem može riješiti na bar dva načina – koristeći third party biblioteke ili pisanjem vlastitog koda. Mi se oslanjamo na industrijske standarde, ali kada postoji potreba za prilagođenim rješenjima, prvenstveno se fokusiramo na razvoj vlastitih biblioteka.

Dio ovog handbooka zapravo i jest uvid u naš common libraries, kod koji smo napisali jednom, a koji se može koristiti više puta. Upravo smo time maknuli ovisnost o drugim, često nepoznatim autorima. Takav inženjerski pristup rješavanju problema, u kojem se znaju koristiti odgovarajući design patterns i algoritmi, cijenimo, i tražimo, kod naših potencijalnih kolega.

Ivan Žganjer, Tech Lead Leapwisea Foto: Leapwise

Backend priručnik rezimirana je verzija višegodišnjih najboljih praksi i standarda koje su u Leapwiseu pisali interno. Kao takav, kažu u Leapwiseu, izvor je inspiracije svim developerima, ali i tech leadovima, koji su u potrazi za novim perspektivama u načinu na koji pristupaju rješavanju svojih svakodnevnih problema.

Uz Backend priručnik, objavili su i employee experience priručnik kojim objašnjavaju načine na koje ulažu u kontinuiran razvoj zaposlenika, a uskoro planiraju cijelu priču zaokružiti i frontend priručnikom.

Kako graditi autoritet u razvoju softvera?

Izgradnja autoriteta Leapwisea u industriji bila je višestrana inicijativa koja se fokusirala na stvaranje sistematičnog pristupa radu, održavanje standarda industrije, poticanje otvorene komunikacije te ulaganje u kontinuirano obrazovanje svojih zaposlenika.

Kako su oni posložili taj proces?

#1 Ulaganje u ljude

Kako često ističu, osim na razvoj softvera, u Leapwiseu su jednako fokusirani i na razvoj ljudi. Uz to, žele biti potkovani u nekoliko različitih domena kojima se bave. Tako svojim zaposlenicima, između ostalog, osiguravaju individualni razvojni plan, najbolje svjetske edukacije i certifikate, poput OCA, OCP, Scrum Master, TOGAF, Spring Certified Professional, DevOps Engineer, ili PRINCE2 certifikata, kao i GitNation edukacije ili treninge s poznatim svjetskim Java Championima, kao što su Victor Rentea, Venkat Subramaniam, Josh Long ili Vlad Mihalcea i mnogi drugi.

#2 Standardizirana arhitektura

Interno su razvili nekoliko koncepata, uključujući različite arhitekturalne predloške, prilagođene specifičnim vrstama projekata i njihovim potrebama.

Projekti koji zahtijevaju brzu implementaciju mogu se osloniti na laganije i modularne arhitekture, dok složeniji projekti mogu koristiti one robusnije. Iako prvenstveno služe kao smjernice, takvi predlošci ujedno ubrzavaju i razvoj softvera.

Također, omogućavaju timovima odabir najboljeg pristupa za svaki pojedinačni projekt, ali i brže snalaženje u kodu i rad na aplikaciji s kojom se inženjerke ili inženjeri dosad nisu susreli.

Time se povećava skalabilnost unutar, i olakšava prijelaz između timova, primjerice iz tima za integracije sustava u produktni – i obrnuto.

#3 Otvorena i redovita komunikacija

Sam pristup radu u Leapwiseu temelji se na Scrum metodologiji te kao takav kombinira kratke dnevne syncove, sprintove i code reviews. Svrha tako strukturiranih sastanaka jest održavanje transparentnosti unutar i između timova, ali prije svega jasno planiranje projekata i individualnih zadataka te praćenje razvoja istih.

Zajednički code review @ Leapwise Foto: Leapwise

Unutar Leapwisea svaki od ovih pristupa je prilika za učenje i razvoj.

Dnevni syncovi za njih omogućuju praćenje razvoja projekta na dnevnoj i individualnoj razini, te u svakom trenutku svaki član tima zna koji su izazovi i kako se rješavaju.

Sprintovi i code reviews posebno su važni za pisanje i održavanje kvalitetnog, čistog koda, a code reviews su uz to i dvostrani.

Na razini tima, code reviews služe kao svojevrsni doublecheck – prije puštanja u produkciju, članovi tima imaju priliku pregledati ono što su drugi implementirali i dati prijedloge za potencijalna poboljšanja.

Zajednički code reviews prilika su da se svi developeri, neovisno o timu, okupe i dijele znanje, najbolje prakse, i prilike za poboljšanja.

#4 Zaseban tim za arhitekturalni smjer

Leapwise je stvorio tim koji obuhvaća različite odjele, a koji pruža strateške smjernice i nadzor nad arhitekturalnim smjerom organizacije.

Foto: Leapwise

Taj tim obično čine iskusni Software Architecti, Tech Leadovi i ostali ključni dionici koji surađuju kako bi osigurali da arhitektonske odluke budu u skladu s poslovnim ciljevima, tehničkim standardima i najboljim praksama. Takav pristup dodatno osigurava kontinuiranu evaluaciju onoga što su do sada naučili, otvorene rasprave i dijeljenje znanja.

#5 Smjernice za programiranje

Kako smo već spomenuli, Leapwise je raspisao interne backend i frontend smjernice koje definiraju zajedničku uporabu tehnologije, frameworka i terminologije njihovih development timova. Takvo osiguravanje ujednačenosti jezika smatraju ključnim za učinkovitu komunikaciju među članovima tima, kao i za sistematičan pristup razvoju softvera.

Leapwiseov backend priručnik pročitajte besplatno ovdje.

pročitaj cijeli članak

Programiranje (15)Sponzorirano (10)Tvrtke i poslovanje (34)