„Süsteemiarhitekti roll on teha tehnoloogilisi otsuseid ja jälgida, et arendajad neist kinni peaksid,“ räägib mobiili- ja veebiarendustega tegeleva ettevõtte Mooncascade asutaja ja süsteemiarhitekt Indrek Ulst. Ehkki tema praegune ülesanne on firma juhtimine, hoiab ta end endiselt kursis programmeerimise ja arhitektitööga.


„Ma olen võtnud meie projektides endale arhitekti rolli,“ selgitab Indrek. „Arhitekt on see, kes vastutab esmaste ja põhimõtteliste tehnoloogia otsuste eest: mis platvorme ja mis tarkvara kasutada. Ta teab, mis jupid on olemas, kus nad paiknevad ja kuidas omavahel suhtlevad. See on arhitekti vastutusala ja ta peab jälgima, et arendajad oma tööd arhitekti valikute järgi teevad.“



Indrek alustas karjääri koodikirjutajana, aga nüüd tegeleb firma juhtimisega ning juhib suuri projekte. Ta on CTO (chief technology officer) ehk firma peatehnoloogia arhitekt. Tema vastutab uute tehnoloogiate sisseviimise ja nende ühtlustamise eest.

Praegune Indreku juhitav suurprojekt hõlmab mikroteenuseid. Tuleb juhtida nii Mooncascade’i kui ka kliendi arendajate meeskonda ja leida kahepoolselt sobivad lahendused mikroteenuste arhitektuuri arendamiseks. Mooncascade’i poolt on Indrek ja kliendi poolt rühm inimesi, kes mõtlevad välja, kus mingid programmijupid paiknevad ja kuidas neid kasutada. Lõpptulemuseks on hulk mikroteenuseid, mis omavahel suhtlevad ja mille otsa on ehitatud veebiteenus. Lõppkasutaja jaoks valmib veebisait, mis elab nende mikroteenuste otsas.

Haldab keerukat süsteemi

„Tuleb väga rangelt jälgida, et iga komponent teeks seda, mida ta peab tegema ja et see oleks piiritletud loogilise oskusega,“ rääkis Indrek. „See on keerukas süsteem, aga tuleb leida võtted, kuidas seda keerukust hallata. Komponendid, mis on nutikalt koos tööle pandud, on paindlikud.“

Indreku huvi IT vastu sai alguse Hugo Treffneri gümnaasiumist. Kooli aja tekkis neil koju esimene arvuti ja kuna Indrek oli lapsest peale olnud see poiss, kes lammutas autosid laiali ja tahtis vaadata, mis on kella sees, hakkas teda ka arvuti sisemus huvitama. „Põhikooli ajal hakkasin veebilehekülgi tegema,“ ütles Indrek. „Keskkoolis tuli meile juba programmeerimisaine ja ülikooliajaks oli minu jaoks selge, et lähen ITd õppima.“


Juba ülikooli ajal leidis Indrek esimese töökoha ja asus meditsiinitarkvaraga tegelevas firmas MediSoft haiglatele infosüsteeme looma. Sealt edasi viis tee Skype’i asutajate loodud startup’i Daily Perfect. See startup oli loonud inimese profileerimiseks tema nime põhjal veebilahenduse, mis koostas inimese profiili ja eelistused ning pakkus uudisvoost sobivaid uudiseid. Programmil oli ka masinõppe pool. Sisuliselt oli tegemist sama asjaga, millega praegu tegeleb Google. Seitse aastat tagasi oli see projekt oma ajast ees ja sellele ei suudetud kliente leida. Indrek oli valiku ees, kas otsida uus töökoht või teha midagi omal käel. Nii loodi sama tiimiga Mooncascade, mis annab nüüd tööd 80 inimesele.

„Ma ikka vahel kirjutan koodi, et hoida end kursis uute trendidega ja suuta arhitektuuri poole pealt kaasa mõelda,“ selgitas Indrek. „See on valdkonnas ülimalt tähtis.“

Lüli projektijuhi ja arendajate vahel

Süsteemiarhitektil tuleb suhelda nii projektijuhiga
, et viia teda kurssi oma otsuste ja tehniliste nüanssidega, kui ka rääkida läbi arendajatega, et kuulata, mis nemad ütlevad ja kas nad näevad kusagil süsteemis kitsaskohti.

„Oluline on, et arendajad oleksid arhitektiga n-ö samal lehel, et kohe, kui tekib kõrvalekaldeid, saaks need likvideerida,“ rääkis Indrek. „Arhitekt peab veenduma, et asjad saaks tehtud nii, et need lõpuks ka töötaksid. Seda annab võrrelda majaehitusega, kui arhitekt teeb plaani ja vaatab, et seda jälgitaks.“

Indrekule meeldivad tema töö juures eelkõige põnevad ja tehnilised väljakutsed, mis kätkevad endas alati midagi uut. „Minu jaoks on põnev, kui tuleb uus projekt, kus saab midagi nullist välja mõelda ja teha seda paremini kui eelmine kord,“ märkis Indrek. Tehnoloogia areneb nii kiiresti, et iga lõppenud projekti puhul saaks tagantjärele midagi teisiti ja paremini teha. See on selles valdkonnas loomulik ja ei jää hinge kripeldama. Iga lahendus on parim just oma ajas.



Programmeerijast arhitektiks

Arhitektiks sobib inimene, kes on väga tugev programmeerija, ning kellel on väga hea ja lai ülevaade sellest, kuidas mingeid asju tehakse ja miks neid just nii tehakse. Sealt edasi saadakse arhitektiks loomulikul teel, kui inimene tunneb, et ta tahab laiemalt mõelda. „Parimad arhitektid, keda mina olen näinud, on programmeerimistaustaga,“ märkis Indrek.

Süsteemiarhitektiks võiksid Indreku sõnul pürgida inimesed, kellel on soov teha ära midagi suuremat, midagi sellist, mida üksi ei suuda valmis teha. Samuti on vaja visioonitunnetust tehniliste asjade osas. „See tunne, mis tuleb siis, kui asi lõpuks tehtud saab, on väga hea ja toob sära silmisse,“ tunnistas Indrek.

Isikuomadustelt peab süsteemiarhitekt olema hea suhtleja. Võib ju mõelda, et arhitektil on tehniline roll, aga ta peab olema hea suhtleja, et tiimitöö oleks hea. Oluline on ka hea keskendumisvõime, sest alati on töös korraga mitu projekti ja küsimusi nende kohta tuleb pidevalt. Kiire kontekstivahetus peab arhitektile sobima ja ta peab suutma süveneda kiiresti uuesse teemasse.

Süsteemiarhitekti karjääri võib vaadata võimalusena ehitada järjest suuremaid ja keerukamaid süsteeme. Teine variant on CTO, kes vastutab ettevõtteüleselt tehniliste otsuste tegemise eest. „Aga ma olen mitu korda näinud, et inimene tahab minna hoopis juurte juurde tagasi ja programmeerida,“ ütles Indrek. „Siis näeb, mis on vahepeal muutunud ja saab seda nautida.“

Indrek Ulst pälvis 2015. aastal Eesti Kaubandus-Tööstuskoja ja Swedbanki noore ettevõtja preemia.