Miroslav Slobodník tento rok oslávi okrúhlych dvadsať rokov v oblasti vývoja softvéru. Ako Principal Software Engineer spolupracujúci so slovenskou pobočkou americkej spoločnosti GoHealth, ktorá pôsobí na trhu zdravotného poistenia v USA, sa dnes nesústreďuje len na tvorbu zdrojového kódu, ale najmä na strategickú elimináciu technologického dlhu, stabilitu a aplikačnú bezpečnosť systémov. Tie totiž spracúvajú dáta miliónov používateľov.
Rád zdôrazňujete, že vaša práca je viac ako len programovanie – prepájate svet biznisu a IT. Čo to znamená v praxi?
V modernom inžinierstve už nejde len o písanie kódu. Mojou úlohou je obojstranné „prekladanie“. Stojím pri zrode biznisových požiadaviek, ktoré musím pretaviť do udržateľného technického dizajnu a stabilnej architektúry. Tento preklad však funguje aj opačne – technickú realitu a riziká tlmočím späť do reči biznisu.
Keď hovoríme o stabilite systému, nevysvetľujem to cez riadky kódu, ale cez vplyv na výnosy v prípade výpadku.
Foto: Gábor Kanovits pre Forbes Slovensko
Keď ide o bezpečnosť, hovorím o ochrane dôvery našich zákazníkov. Mojou úlohou je cez správnu architektúru a dizajn vytvoriť pevné technologické základy, vďaka ktorým môže produkt rásť efektívne a bez zbytočných technických prekážok.
Jednou z tém, ktoré pri svojej práci najčastejšie vysvetľujete, sú riziká technologického dlhu. Je náročné ho eliminovať?
Technologický dlh vnímam ako neviditeľný úver. Každé rýchle, nekoncepčné alebo zastarané riešenie, ktoré v systémoch necháte, si vyberá svoju daň vo forme úrokov.
Napríklad spomalenie vývoja, vyššie riziko výpadkov či bezpečnostné hrozby. Podstatné je uvedomiť si, že ignorovanie tohto dlhu nie je len otázkou rozpočtu, ale predovšetkým otázkou zodpovedného vlastníctva.
Ak sa o softvérové systémy nestaráte priebežne, správate sa ako majiteľ domu, ktorý ignoruje rozbité okno alebo zatekajúcu strechu. Nakoniec na opravu vynaložíte násobne viac, než keby ste údržbu robili včas. Ignorovanie dlhu je jednoducho neekonomické.
Masívne projekty na kompletnú zmenu základov sú často len následkom toho, že sa o systém predtým nestaralo správne. Z pohľadu biznisu predstavujú čisté riziko – trvajú pridlho, stoja veľa peňazí a ich úspech v rozumnom čase nie je nikdy zaručený.
Môj recept na elimináciu tohto dlhu je jednoduchý, ale vyžaduje disciplínu: robiť malé, priebežné zmeny.
GoHealth priebežnou modernizáciou a prechodom na najnovšie verzie technológií zabezpečuje, aby technológia nebola prekážkou, ale spoľahlivým základom rýchleho a bezpečného rastu.
Hoci si udržanie stability systému vyžaduje veľa práce, väčšina používateľov ju vníma ako samozrejmosť. Aký je váš recept na to, aby systémy v GoHealth zostali dlhodobo stabilné?
Je pravda, že z pohľadu biznisu je stabilita často vnímaná ako samozrejmosť. My inžinieri však vieme, že to nie je náhoda, ale výsledok vedomého technického dizajnu. Stabilita je v podstate neviditeľná úspešná práca.
Marek Mucha pre Forbes Slovensko
Nikto ju neocení, kým všetko beží hladko, no vo chvíli, keď nastane problém, stáva sa okamžite témou číslo jeden. Cieľom spoločnosti GoHealth je, aby biznis o stabilite vôbec nemusel premýšľať.
Stabilita totiž nie je niečo, čo sa do systému „pridá“ tesne pred spustením. Musí byť v jeho DNA už od začiatku. Preto kladieme dôraz na kvalitné architektonické a technické návrhy, dôsledné kontroly a vzájomné pripomienkovanie ešte predtým, než sa napíše kód.
O stabilite a škálovaní premýšľame ako o základnej biznisovej požiadavke, nie ako o technickom detaile. Nespoliehame sa na odhady, ale na dáta. Pravidelné záťažové testy sú u nás štandardnou súčasťou vývojového cyklu.
Testujeme systémy na násobne vyššiu záťaž, než reálne očakávame. Identifikujeme tak slabé miesta skôr, než sa prejavia v prevádzke.
Už sme načrtli, že ďalšou veľkou témou pri IT systémoch je ich bezpečnosť. Pre GoHealth je mimoriadne dôležitá, keďže pracuje s citlivými zdravotnými údajmi. Ako sa na nej podieľate?
GoHealth rieši bezpečnosť na viacerých úrovniach. Dedikovaný platformový tím sa venuje bezpečnosti infraštruktúry a centrálny bezpečnostný tím zodpovedá za celkovú stratégiu a pravidelne zabezpečuje bezpečnostné testy externými firmami. Nakoniec je to celý inžiniersky tím, ktorý sa stará o aplikačnú bezpečnosť.
Ja sa venujem oblasti aplikačnej bezpečnosti. Presadzujem prístup, že bezpečnosť už nemôže byť len „otravnou kontrolou“ na konci vývoja, ale musí byť prirodzenou súčasťou každodenného procesu.
Používame nástroje, ktoré v našom vývojovom cykle automaticky identifikujú zraniteľnosti nielen v samotnom kóde, ale aj vo všetkých použitých knižniciach a frameworkoch.
GoHealth to má nastavené striktne. Ak systém identifikuje bezpečnostné riziko, inžinier nemôže nasadiť nový kód štandardným procesom, kým chybu neodstráni. Tak motivujeme tímy, aby potenciálne problémy riešili hneď, ako ich odhalia.
Vo svojej kariére ste mali možnosť budovať nové systémy na „zelenej lúke“, no dnes sa venujete aj modernizácii tých zabehnutých. V čom je tento balans medzi novým a existujúcim dôležitý pre firmu aj samotného inžiniera?
V začiatkoch kariéry som mal niekoľko rokov to šťastie, že som pracoval takmer výhradne na nových projektoch. Budovať veci od nuly bez akýchkoľvek predchádzajúcich obmedzení je pre každého inžiniera nesmierne zaujímavé a motivačné.
Marek Mucha pre Forbes Slovensko
Postupne sa však súčasťou mojej agendy čoraz viac stávali existujúce, zabehnuté systémy a rýchlo som pochopil, že ide o úplne iný štýl práce, ktorý si vyžaduje iný typ odbornosti a zodpovednosti.
Pri existujúcom systéme musí byť človek oveľa opatrnejší. Každá zmena, ktorú urobíte, má svoj vplyv na celok a vy musíte byť schopní tieto súvislosti vopred identifikovať a vyhodnotiť.
Je to náročnejšia škola analýzy a predvídavosti, pretože nenesiete zodpovednosť len za nový kód, ale aj za stabilitu celého fungujúceho ekosystému, ktorý už prináša hodnotu.
Pre inžiniera je ideálne, ak si v kariére prejde oboma prístupmi. Na svete totiž fungujú milióny systémov, ktoré už roky bežia, a je štatisticky oveľa pravdepodobnejšie, že sa človek pridá k rozbehnutému projektu, než že bude zakaždým začínať na čistom papieri.
V oblasti vývoja softvéru sa pohybujete už takmer dvadsať rokov, z toho viac ako deväť rokov spolupracujete so spoločnosťou GoHealth. Čo vás na práci aj po toľkých rokoch stále napĺňa?
Za ten čas som videl prichádzať a odchádzať množstvo technológií, no ani po rokoch nemám pocit stagnácie. Práve naopak. Americký trh zdravotného poistenia je nesmierne komplexný a rýchlo sa mení, čo sa priamo odráža v rozmanitosti projektov, ktoré GoHealth rieši.
Každá nová iniciatíva prináša unikátne výzvy a vyžaduje si prácu so širokým spektrom moderných technológií. To ma aj po tých rokoch v odbore núti neustále sa učiť a hľadať nové cesty.
Zároveň si čoraz viac uvedomujem, že kľúčom k spokojnosti je tím. Firme GoHealth sa podarilo vybudovať prostredie plné naozaj talentovaných ľudí. Mať okolo seba odborníkov, s ktorými môžem diskutovať nielen o práci a ktorí ma inšpirujú, je pre mňa tou najväčšou motiváciou. Aj preto ma táto práca stále baví.