U sklopu priprema za nadolazeći .debug razgovarali smo s jednim od naših 111 govornika, koji će svoja iskustva podijeliti s posjetiteljima. On je Igor Gorečanvoditelj razvoja za e-poslovanje u softverskoj tvrtki Omega… Zanimalo nas je više o njegovoj karijeri, ali i tehnologijama o kojima će biti riječi na predavanju.
Igore, kako si se odlučio za Omegu?
Kada tvrtka uspješno posluje preko 20 godina, na dinamičnom tržištu kao što je IT, onda znate da to nije samo eksperiment, već da postoji dokazana kvaliteta, vrijednost i stabilnost. S ponosom mogu reći da nudimo specijalizirane stručnjake, primijenjeno pravo hrvatskog znanja u području digitalne transformacije, pametnog grada i prilagođenih rješenja. Naši proizvodi Centrix2 i Pismohrana za uredsko poslovanje, kao i ERP rješenje BGA (proračunsko računovodstvo), koriste se u institucijama državne razine do lokalne samouprave. Gotovo je sigurno da je svatko od nas dobio dokument koji je obrađen u Omeginim rješenjima. Osim toga – budućnost je već tu – naš IoT Complete služi za pametno upravljanje uređajima i donosi značajne uštede, primjerene 21. stoljeća, a posebno trenutnim geopolitičkim okolnostima koje zahtijevaju racionalno gospodarenje energijom.
Kako se uklapaš u tu ambicioznu priču?
Jednostavno rečeno, ja sam menadžer i programer – vodim razvoj. Naslov ovdje nije bitan. To je poput upravljanja između želja korisnika i mogućnosti proračuna i rokova. U isto vrijeme uvijek postoji poziv za “privlačne, ali neprovjerene tehnologije” – to je i prilika i opasnost za poslovne aplikacije koje moraju živjeti godinama kao temeljni sustavi. U ozbiljnim poslovnim aplikacijama stabilnost procesa i integritet podataka utječe na sve nas kao građane i zaposlenike. Programiram, ispravljam pogreške, obrazujem, pišem i revidiram dokumente i procese. Iako sam uključen u sve segmente životnog ciklusa razvoja softvera, od dizajniranja arhitekture sve do pokretanja i podrške sustavu u proizvodnji, od strateških do vrlo operativnih, uz sebe imam cijelu vojsku izvrsnih ljudi spremnih prevladati sve zapreke. Prije svega, želim da moji ljudi imaju tehničku podršku u meni kao developeru, da znaju da sam tu za is njima.
Kako ste izgradili tu, kako kažeš, vojsku?
Omegina agilna transformacija traje nešto manje od 2 godine te je dio mog posla upravo osnaživanje naših developera. Činit će se očitim, no važan dio transformacije je postavljanje „fiksnih timova“ – timova koji se ne rekombiniraju od projekta do novog projekta, nego dugotrajno profesionalno rastu zajedno i rade na vlastitim klijentima i rješenjima. Timovi moraju biti dobar miks starijih, iskusnih te mladih, žednih novih znanja i dokazivanja. Moraju imati priliku odlučiti o svom načinu rada, riskirati, ponekad i pogriješiti, ali prije svega naučiti. To je dio rasta za pojedince osobno, a onda i za firmu.
Sjajni ljudi, no ima li zanata bez alata?
Kombiniramo Microsoft i web razvoj – uglavnom open source. Od .NET-a, Angulara do naših vlastitih rješenja kao što su Rhetos i ngx-Floyd. Rhetos je domensko specifična jezična platforma specijalizirana za kreiranje poslovnih poslovnih aplikacija koje ubrzavaju razvoj standardnih funkcionalnosti. Omogućuje nam da definiramo i proširimo koncepte programiranja, a zatim ih koristimo kroz deklarativno orijentiranu DSL sintaksu koja može generirati kompletnu pozadinu aplikacija: shemu i osnovne objekte, C# poslovni i podatkovni sloj, web API za pristup. Sve s poslovnim pravilima kao što su provjere entiteta, vremenska logika, autorizacijski model sa sigurnošću na razini retka itd. Rhetos je integriran u Visual Studio, a redovito ga koristimo s Azure Devops cjevovodom za verzioniranje, tj. nadogradnju baze podataka iz lokalnih u proizvodna okruženja.
Spomenuo si Floyd – gledate li svijet kroz “ružičastu” perspektivu?
Nastojimo spojiti optimizam i pragmatičnost. Tvrtke se bore za developerski kadar. Želimo omogućiti brz razvoj aplikacija ne samo starijima nego i juniorima. Stoga nam alati kao ngx-Floyd i Rhetos koriste upravo u tome da već juniori lagano i učinkovito mogu sudjelovati u izgradnji složenih sustava kakve poslovne aplikacije redovito jesu.
Važno je da su ngx-Floyd i Rhetos biblioteke, a ne okviri. To znači da ne nadomještamo znanje koje programeri već imaju, već ga nadopunjujemo: korištenje biblioteke moguće je s osnovnim okvirima kao što su Angular i .NET, a naravno moguće je paralelno koristiti i druga UI i backend biblioteke. Također, važno je istaknuti da se knjižnica može zaobići kada je to potrebno. Nismo pokušavali napraviti univerzalni alat, napraviti analogiju s poznatom pričom o čekiću i “tvornici tvornice alata opće namjene”.
Dobro, ako nije tvornica tvornica, što jest?
Jednostavnost korištenja je naša glavna briga. Klasičan problem je: imam aplikaciju – nije bitno radi li se o klasičnoj višeslojnosti, moderno nazvanoj “monolit” ili o mikroservisima, mikrofrontendima – želim nove podatke s validacijom. Kako ubrzati vaš rad, da ga ne moram implementirati na 5 različitih mjesta, u 5 različitih tehnologija, sa 5 timova?
ngx-Floyd omogućuje kreiranje i konfiguriranje obrazaca pomoću pisaćeg teksta i konfiguracije tehničkog programiranja, umjesto standardnog pisanja Angular HTML prijedloga. Možemo konfigurirati značajke obrazaca na jednom mjestu, doslovno omogućiti kod za čitave dijelove obrasca umjesto održavanja i HTML-a i tipkanog koda. Naravno, ngx-Floyd se oslanja na API sučelja generirana u Rhetosu, tako da odmah imamo generirane klase u tipkalu.
Što slijedi?
Imamo predavanja o ngx-Floydu o debugu. Za nas predavače to je prilika da čujemo mišljenja i iskustva publike. Želimo pokazati zašto smo ga razvili i kako ga koristimo, želimo pokazati da služi da rastereti programera, da mu se oslobodi vrijeme koje se može potrošiti na istinska kreativna rješenja konkretnih poslovnih problema. Zainteresirani smo i želimo motivirati publiku da nam se pridruži u razvoju, da podijele s nama svoju bolju ideju kako riješiti takve probleme.
Predavanje Igor Gorečan ja Damira Deana Održat će se „Enterprise Angular Applications powered by Floyd“. 16. lipnja u 12:45 sati u dvorani #hardcore.
Više o temiIzvor:Bug.hr