Autor: ITuudised.ee • 3. juuni 2021

Koolitajaks hakanud tunnustatud arendaja: tarkvaraäris on arhitekti roll tihti alahinnatud

Arhitekt vormib ettevõtte eesmärgid ja plaanid tarkvaraks, ent tihtipeale on tema potentsiaal alahinnatud, väidab Postimehes, Starshipis ja Pipedrive'is arendajana töötanud Eero Otsus.

Eero Otsus
Autor: Konstantin Sednev

1997 tegi ta oma esimese veebilehe ning on sellest ajast peale kirjutanud kümneid veebilehti, tuhandeid koodijuppe ja loonud miljoneid baite infot. Nüüd hakkab ta IT-koolitajaks.

Sul on väga lai kogemustepagas, graafilisest disainerist süsteemiarhitektini. Mis Sind IT juures paelub?

Hingelt pean ma ennast disaineriks, millegi kujundajaks ja loojaks. Mind võlub terve maailm – inimesed, kosmos, muusika, tööstusdisain, logistika, ajalugu, käsitöö, esoteerika, tootmine. Ja kuidas kõik protsessid on omavahel tihedalt põimitud, erinevus on vaid vaatepunktis ja töövahendites. See on äärmiselt põnev – väikesed erinevused protsessides, samas võrratud paralleelid. Same same, but different.

IT pole midagi muud, kui meid ümbritseva info ja infokeskkonna kujundamine. Ma mõtlen tihtipeale tarkvara loomisest kui maja ehitusest ja on hämmastav, kuidas see probleemid teise perspektiivi paneb ning käega katsutavaks teeb.

Sinu üks koolitus on "Mikroteenuste koolitus". Lähtudes enda kogemusest, millised on mikroteenuste arhitektuuri eelised monoliitse arhitektuuri ees?

Mikroteenused on vaid üks lähenemine, kuidas infosüsteemi arendada. Kõigel on oma eelised ja puudused, ning ka monoliitne lahendus on mõnel juhul parim valik. Kuid minu kogemuses on mikroteenused olnud õige lähenemine kahel juhusel: suure monoliitse süsteemi etapilisel refaktoorimisel ning teenuste puhul, mis hõlmavad endas väga lõdvalt seotud informatsiooni.

Viimane on ilmselt enim levinud use case mikroteenuste jaoks, sest tegelikult paljud teenused täna selliselt toimivad – sidudes mitmete valdkondade infot.

Mõelgem sellest kui ühe firma erinevatest osakondadest – müügiosakonnale ilmselt piisab teadmisest, kas klient on hetkel midagi võlgu, enne kui uue tehinguga edasi liigub. Täpsem info laekumistest, arvetest, bilansist on finantsosakonna – võib-olla isegi eraldiseisva raamatupidamisfirma – hallata.

Ja nüüd kujutage ette vastupidist, kui iga müügiesindaja peab kandma sisse oma laekumised, konteerima dokumendid, esitama bilanssi ja aastaaruannet.

Mis on viis olulist võitu, mida annab mikroteenuste kasutuselevõtt?

Mul on väga raske konkreetseid punkte välja tuua, sest me räägime ikkagi võrdlusest millegi muuga. Ja mikroteenused ei pruugi olla alati parim valik. See on vaid üks variant ning olulised võidud teiste variantide ees sõltuvad eesmärkidest. Kuid minu arvates on mikroteenustel mõned äriliselt väga head aspektid, mida arhitektuuri valimisel kaaluda.

Hästi üles ehitatud mikroteenused teevad võimalikuks süsteemi osade ümberehitamise, kaasajastamise ja allhankimise eraldiseisvalt. Ning koormuste kasvades on võimalik skaleerida vaid konkreetseid valupunkte, säästes sellega ressursse. Ning mulle tundub, et inimlikul tasandil on meil eraldiseisvaid teenuseid lihtsam hoomata – mida on lihtsam korraga ehitada, tervet linna või üht maja?

Kuidas minna mikroteenustele üle sujuvalt, nii et muu ei saaks samal ajal märgatavaid tagasilööke (nt töötempo, produktiivsus ja tiimide töö/töökeskkond ei kannataks)?

Esimese asjana tuleks mõista, et see ei ole mingi protsess, mida viia läbi nii öelda tavapärase töö kõrvalt. See ongi tavapärane töö ise! Ehk siis sellele tuleb läheneda nagu igale projektile – eraldada ressursse ning planeerida tegevusi.

Mingit võlukeppi või imevitsa ei maksa otsida, tuleb käised üles käärida ja tööle asuda. Ma tihti esitan küsimuse "Kuidas süüa elevanti?"… "Tüki haaval". Ja nii see on. See võib tunduda ületamatu protsess ning võib võtta isegi aastaid, kuid kui kurss on selge, siis ei ole miskit võimatut.

Sul on koolitus "Universaalne JavaScript", kus räägid lisaks ka keele ajalugu. Miks on oluline arendajal teada programmeerimiskeele tausta? Näiteks arendaja töötab Vue.js-ga, miks võiks ta teada, kust ja kuidas Vue.js välja arenenud on?

Vue.js, React, Angular – need on raamistikud, mis on loodud tarkvaraarenduse igapäevatöö kiirendamiseks ja on suurepärane sisenemispunkt algajatele. Kuid sisimas on tegu JavaScriptiga ning minu eesmärk on õpetada raamistikest kaugemale nägema ja olla seeläbi paindlikum.

Algajatele annab see võimaluse kergemini raamistikke vahetada, kogenud arendajad saavad paremini mõista raamistike kitsaskohti ning leida võimalusi imede korda saatmiseks. Toon paralleeli auto juhtimisega – me ei kuule Ott Tänakut rääkimas, kui kõvasti ta pedaali vajutab või mitu kraadi rooli keerab. Ta räägib vedrustusest, rehvidest, autost, auto hingeelust. Ning selles peitubki paljuski tema edu võti. JavaScript on Vue.js’i, Reacti ja Angulari mootor ning hea autojuht võiks mootori hingeelu tunda.

Mis võiks juhtuda, kui IT-süsteeme ehitatakse ilma süsteemiarhitekti olemasoluta?

Mis juhtub, kui maja ehitada ilma joonisteta? Sõltub muidugi ehitajast ja tellijast ja hea teineteisemõistmise korral võib isegi asjalik maja püsti saada ning hoole ja armastusega ka pikalt püsida.

Tarkvaraarenduses rohkelt projekte täna nõnda ka lahendatakse. Kuid tehnoloogia areneb tormilise kiirusega ning lisaks sellele, et loodud lahendused vajavad pidevat hooldust, vajavad nad tihtipeale ka märkimisväärseid edasiarendusi. Ja siis see maja enamasti ka kokku kukub – kaasaegseid nõudmisi esitatakse vundamendile, mis seda ei talu.

Ning siin tulebki mängu arhitekt, kelle rolliks on näha suuremat pilti ja konstrueerida suuremat tervikut, samas mõista pisemaid osi, nende puudusi ja võimalusi. Tarkvara puhul on imeline võimalus ehitada vundament ringi samal ajal, kui maja seal peal püsti seisab ja sees elatakse. Püüdke seda päris majaga teha. Kuid tarvis on kedagi, kes ütleb, millal ja kuidas seda teha tuleb.

Miks peaks juht teadma, mida üks IT arhitekt teeb ja kuidas töötab, miks peaks teda meeskonda kaasama?

Arhitekti potentsiaal tarkvara arenduses on minu arvates tihti alahinnatud ja seetõttu ma eelistan terminit "infotehnoloogia arhitekt" tavapärasele "süsteemiarhitektile". Arhitekt on ikkagi visionäär, kes kujundab, kuhu ja kuidas informatsioon liigub, kus ja kuidas elab ja mis protsesside kaudu see tekib, muutub ja hävib.

Omal moel on arhitekt disainer, kes ilmtingimata ei pea oskama ühtki programmeerimiskeelt, vaid peab kujundama äriliselt kasulikke protsesse. Arhitekt vormib ettevõtte eesmärgid ja plaanid tarkvaraks. Kas te ei tahaks selliseid inimesi oma meeskonda?

Oled alustamas uut ametit – koolitaja. Kuidas tunned end koolitajana?

Pabistan tohutult, kui aus olla. Samas olen ka väga põnevil – ma olen need teemad enda jaoks läbi mõelnud, kuid olen enam kui kindel, et loengu ajal küsitakse midagi, mis lähtub absoluutselt teistsugusest perspektiivist ja muudab ka minu nägemust. See on tohutult põnev! Ja see kaalub mu pabina kordades üle! Seega ma ei jõua ära oodata!

Juunis alustab IT Koolituses koolitamisega Eero Otsus, endine Postimees.ee arendaja, süsteemiarhitekt ja arendusosakonna juht. Lisaks on ta orkestreerinud pakiroboteid firmas Starship Technologies ja töötanud ükssarvikuks saanud Pipedrive'is.

Eero Otsusel on kuus koolitust, nii IT-maailmasse sisenejale kui juba töötavale spetsialistile.

Algajale mõeldud koolitused on Tarkvaraarenduse 101 – Sissejuhatav koolitus, Nutiteadlikkus ja netihügieen, Universaalne JavaScript.

Juba ITs töötavatele mõeldud koolitused on Graafikafailide koolitus, Mikroteenuste koolitus ja Infotehnoloogia arhitektuur.

Tutvu koolitustega siin:

Jaga lugu
Ituudised.ee toetajad:
Indrek KaldITuudised.ee toimetajaTel: 511 1112
Erkki VilippReklaamimüügi projektijuhtTel: 517 7736
Kertu KarnerIT konverentside projektijuhtTel: 553 7112