Tarkvarainsener

Tarkvarainsener

 

tarkvarainsenerKristian Kajak, Artec Design tarkvarainsener

Kristian on lõpetanud Tallinna Tehnikaülikoolis mehhatroonika bakalaureuseõppe ja Rootsis KTH Royal Institute of Technology nimelises ülikoolis sardsüsteemide magistriõppe. Praegu töötab ta elektroonikaseadmete ja nende tarkvara väljaarendamisega tegelevas ettevõttes Artec Design tarkvarainsenerina. Töö sisu poolest on ta eelkõige sardtarkvara insener – ta arendab riistvaralähedasi tarkvarasüsteeme erinevatele elektroonilistele seadmetele, mis täidavad kindlat ülesannet. Artec Designi portfooliost kuuluvad selliste seadmete alla näiteks optilise andmeside aparaadid, lihastoonuse mõõtmise käsiseadmed, e-paberi ekraanid ning ka enamustele eestlastele tuttavad piletivalidaatorid ühistranspordisõidukites.

Millised on sinu tööülesanded?

Arvestades, et enamuse meie klientide nõutud seadmeid projekteerime ja ehitame täiesti nullist, on tarkvarainseneri osa selles protsessis suuremal või vähemal määral töötada välja terviklik süsteemi- ja tarkvaraarhitektuur, aidata riistvarameeskonnal valida sobivad riistvara komponendid ja kommunikatsiooniprotokollid ning arendada seadmele juhtloogikat. Viimane neist protsessidest on kõige ajamahukam: sinna hulka kuulub mikrokontrolleri programmeerimine ja testimine ning alatihti ka vigade analüüsimine ja parandamine.

Milline näeb välja sinu tööpäev?

Nagu ennist mainitud, moodustab suure osa minu päevast mikrokontrolleri programmeerimine ja juhtloogika arendamine. Kuna tegemist on siiski riistvaralähedase tarkvara arendamisega, tähendab see ka suurel määral tehnilise dokumentatsiooni ja elektroonikaskeemide läbitöötamist.

Elektroonikaskeemide lugemine mulle väga keeruline ei ole, aga tehnilise dokumentatsiooni mõistmine, kommunikatsiooniprotokollide implementeerimine ja erinevate mikrokontrollerite juhtimine on mõnikord täiesti uudne ja selle selgeks tegemine võib omajagu aega võtta. Näiteks Bluetooth 5.0 kontrolleri juhtloogika arendamisel pean ma väga täpselt aru saama milliseid sisendeid see kontroller ootab. Sellisel juhul tuleb mulle appi Google ja 3000-leheküljeline Bluetooth 5.0 spetsifikatsioon.

Suurel määral tänu meie ettevõtte tegevusalale on iga päev siiski küllaltki omanäoline. Kui standardselt arendab ettevõte enda ühte kindlat toodet aina töökindlamaks ja lisab järk-järgult sellele funktsionaalsust juurde, siis meil käib aasta jooksul läbi väga erinevatest valdkondadest projekte. Keskmiselt töötab üks insener korraga kahe või kolme projekti peal ja väljakutsed toodete arendamiseks on erinevad.

Mis sulle oma töö juures enim meeldib?

Kindlasti see, et ma õpin iga päev midagi uut juurde. Ainuüksi viimase pooleteise aasta jooksul olen õppinud tööalaselt näiteks autonoomsete sõidukite, andmekompressiooni, masinõppe, närvivõrkude, traadita andmeside, mikrokontrollerite platvormide, Linux operatsioonisüsteemi ja serverisüsteemide kohta. Seetõttu ei muutu ükski tööpäev igavaks, mu aju on pidevalt rakendatud ja mälu on terav.

Millised on sinu töös suurimad väljakutsed?

Ma tooksin eraldi välja ehk seadme töökindluse tagamise ja veatuvastamise. Ei piisa sellest, et meie seadmed kindlates tingimustes operatiivsed on, vaid meie toodetud seadmed peavad töötama alati ka rasketes tingimustes ja seda veel 10 aastat pärast tehasest lahkumist. Tarkvarainseneri pilgu läbi peab olema tarkvara läbinisti defineeritud. See tähendab, et seadme töö käigus ei tohi tekkida anomaaliad ja umbmääraseid olekuid. Anomaaliate vältimiseks peab elektroonika- ja tarkvarasüsteemide väljatöötamisel saama väga täpselt aru mis “kapoti all” toimub, aga see ei pruugi alati nii lihtne siiski olla, sest tarkvara ei ole ju käega katsutav ega nähtav.

Siinkohal tooksin näite ühe meie seadme DDR mälude konfigureerimise protsessi kohta, kus ma pidin mikrokontrolleril seadistama ligikaudu 40 registrit, et see ühilduks trükkplaadil oleva LPDDR3 mäluga. Pärast pikemalt teemasse sukeldumist sai selgeks, et üks konfiguratsiooniparameeter oli valesti seadistatud ning vea parandamiseks piisas vaid paari biti väärtuse muutmisest registris. Sellised seigad ei ole toredad, aga mõnikord mõjuvad need positiivselt. Mida kauem sa ühe probleemiga tegeled, seda magusam on pärast võit, kui see probleem lahendatud saab. Vahest hüppa kasvõi lakke.

Milliseid oskusi sinu töö nõuab?

Peab elektroonika põhimõtteid teadma ja tarkvarasüsteeme mõistma. Nagu inseneridele kohaselt, on mingil määral füüsikaline ja matemaatiline mõistmine vajalik. Sama tähtis on ka kiire õpivõimelisus ja huvi eriala vastu.

Poolnaljaga, aga tegelikult ka täie tõsidusega mainiks ära ka guugeldamise oskuse. Oskus otsida ja filtreerida enda jaoks oluline informatsioon suurest hulgast infost on hinnatud ja muudab sind efektiivseks inseneriks.

Mida sa oled õppinud?

Bakalaureusekraadi omandasin Tallinna Tehnikaülikoolis mehhatroonika erialal ja magistrikraadi omandasin Rootsis KTH Royal Institute of Technology nimelises ülikoolis sardsüsteemide erialal.

Miks otsustasid asuda õppima elektroonikat?

Gümnaasiumis hakkasin aru saama, et olen reaalainetes väga hea. Ma magasin matemaatika tundides palju, aga kontrolltööd olid ikka kõik väga hästi sooritatud. Olümpiaadimaterjal ma võib-olla päris ei olnud, aga tundsin ennast igatahes matemaatikas ja füüsikas mugavalt. Esimesed elektroonikateadmised (ja huvi) omandasin 11. klassi uurimistööd tehes, mille raames ehitasin jalgratta rummudünamod kasutades tuulegeneraatori, mis oli võimeline akusid laadima. Sealhulgas sain aru, mis on takistid ja kondensaatorid, kuidas sillaalaldit ehitada, jpm.

Ülikooli astudes ma siiski veel ei teadnud, kas soovin pigem spetsialiseeruda elektroonika, mehaanika või tarkvara erialale ja läksin teadliku valikuga mehhatroonikasse, sest ma teadsin, et mul on võimalik sellelt erialalt magistrisse nii ühte või teise erialasse edasi minna kui selleks soov peaks olema. Lootsin, et bakalaureuse lõpuks on mul sott juba selge.

Viimasel bakalaureuse aastal töötasin õppimise kõrvalt ka TTÜ Elektroenergeetika ja mehhatroonika instituudis, kus ma arendasin elektroonikat ja tarkvara ühele päikesekollektor-süsteemile. Ma polnud varem nõnda süvitsi elektroonikalähedast  programmeerimist veel teinud, aga mu tolleaegne ülemus, Lauri Kütt, aitas mul küllaltki ruttu selle ree peale saada. See oli nii positiivne kogemus ja pärast seda oli selge, et ma tahan spetsialiseeruda sardsüsteemide erialale.

Seda lugu meenutades tuleb mulle ehedalt meelde üks mõte mida bakalaureuses pidevalt endale täheldasin: 3D mudelite projekteerimine ja robotid olid küll minu jaoks väga põnevad, aga kui ma nägin kedagi, kes oskas värvilises Linuxi terminalis osavalt asju ajada, see oli juba tase omaette. See oli minu jaoks midagi nii müstilist ja arusaamatut. Ma arvasin, et ta on jumal.

Kaua oled sel erialal töötanud?

Minu tööstaaž on vahelduva eduga kolm aastat. Olen töötanud TTÜ  elektroenergeetika ja mehhatroonika instituudis, Ericssoni peakontoris Stockholmis ja praegu töötan inseneribüroos Artec Design.

Miks soovitaksid noortele minna õppima elektroonikat?

Ma arvan, et elektroonika või elektroonikaga seotud eriala õppimine on jätkusuutlik otsus. Rääkides eelkõige tarkvara suuna esindajana, tean, et see on väga väljakutsuv eriala, mille õppekurv on pikk ja järsk. See tähendab, et alguses ongi asjadest arusaamine raske, aeganõudev ja nõuab kannatust, aga üldpildi selginedes muutub see eriala aina põnevamaks ja sina aina kiiremini targemaks.

Tööpõld on lai ja huvitav ning head inseneritööd tunnustatakse. Võit on ühesõnaga magus.

Veel enam loodaksin elektroonika aladel näha rohkem naissoo esindajaid. Olen omal käel näinud nii Eestis kui ka Rootsis, et arukad naisinsenerid on kuldaväärt ja tööturul võideldakse nende üle palju.