Intervija ar Aleksandru Saurovu,
SIA „PROOF IT” sistēmanalītiķi
Kā Tu izvēlējies darboties informācijas tehnoloģiju jomā?
Skolā informātikas pamatus apguvu uz vecajiem padomju laiku datoriem, bet 12. klasē skolā parādījās pirmais IBM dators. Sapratu, ka dators ir noderīgs rīks cilvēka darbu automatizēšanai un ka strādāt ar to ir aizraujoši. Zināju, ka ar datora palīdzību iespējams apstrādāt tekstus, attēlus, audio un video datus, radīt programmas. Lai apgūtu darbu ar datoru un noskaidrotu, kādas iespējas tas vēl piedāvā, izvēlējos studēt datorzinātnes RTU.
Kā apguvi sistēmanalītiķa profesiju?
RTU ieguvu bakalaura grādu un datorzinātņu studijas turpināju LU maģistrantūrā. Tad arī sāku strādāt kā programmētājs IT uzņēmumā, informācijas sistēmu izstrādes grupā.
Strādājot projekta grupā, parasti ir tā, ka katram vairāk padodas un interesē kādi noteikti uzdevumi. Man labi padevās analītiķa pienākumu veikšana: prasību noskaidrošana, specificēšana, analīze, funkcionalitātes un datubāzes projektēšana.
Universitātē biju apguvis sistēmanalīzē noderīgus modelēšanas rīkus un datu analīzes metodes. Reālajā projektā man radās lieliska iespēja šīs zināšanas praktiski pielietot. Turklāt es strādāju vienā komandā ar IT profesionāļiem un varēju mācīties no viņu pieredzes, salīdzināt to ar augstskolā pasniegto teoriju, izdarīt savus secinājumus un iegūt pirmo vērtīgo personisko pieredzi sistēmu izstrādē.
Vai arī tagad nepieciešams papildus mācīties?
Mūsdienās ir ļoti daudz tehnoloģisko novirzienu, tādēļ vēlams apgūt tās tehnoloģijas, kuras kļūst aizvien pieprasītākas jau tagad un būs perspektīvas un labi apmaksātas arī nākotnē. Vislabāk jaunas zināšanas un tehnoloģijas var apgūt, strādājot projektā, taču jārēķinās ar to, ka sistēmu, it īpaši lielu, izstrāde kopā ar tai sekojošu uzturēšanu var prasīt pat vairākus gadus. Pat ja projekta uzsākšanas brīdī tika izvēlēta modernākā tehnoloģija, izstrādes laikā tā noveco. Tādēļ ir svarīgi pašam sekot jaunumiem IT sfērā.
Neapšaubāmi, aizvien lielāku popularitāti gūst uz WEB servisiem balstītu risinājumu un mobilo ierīču aplikāciju izstrāde, esošo sistēmu integrācijas risinājumi. Protams, attīstās arī programmēšanas valodas un rīki, ar ko to paveikt.
Kādi ir Tavi galvenie pienākumi?
Tie lielā mērā ir atkarīgi no projekta specifikas, klienta vēlmēm, taču pamatā tos var iedalīt secīgos soļos. Vispirms es vairākās intervijās iztaujāju klientu, noskaidroju viņa prasības un vajadzības un fiksēju tās interviju protokolā. Pirms tam es iepazīstos ar klienta biznesa sfēru, sagatavoju interviju plānu, grafiku un jautājumus. Pēc intervijām apkopoju iegūto informāciju, saskaņoju protokolu ar klientu.
Tālāk es apkopoju intervijās iegūtos datus un aprakstu tos prasību specifikācijas dokumentā. Tajā cilvēkam saprotamā valodā tiek aprakstīta attiecīgā biznesa sfēra, sistēmas prasības un uzdevumi, kādi tai jāpilda. Tad šī prasību specifikācija jāsaskaņo ar klientu, nepieciešamības gadījumā tā jālabo vai jāpapildina.
Prasību analīzes fāzē ar dažādu analīzes metožu un rīku palīdzību tiek aprakstīta un uzmodelēta situācija un attēloti risināmo problēmu, vajadzību apgabali. Pēc tam tiek uzmodelēta un aprakstīta pati topošā sistēma.
Tad sākas projektēšana. Projektējumā jeb īpašā dokumentā tiek aprakstīti visi nepieciešamie darbi, kas jāpaveic programmētājiem, lai sistēma apmierinātu klienta izvirzītās prasības. Sistēmas projektējums ietver datubāzes projektējumu un aprakstu, vispārējo sistēmas arhitektūru, sistēmas funkcionālo moduļu un moduļu savstarpējās mijiedarbības aprakstu, biznesa loģikas un algoritmu aprakstu, lietotāja saskarnes projektējumu.
Projekta izstrādes gaitā sistēmanalītiķis atbalsta programmētājus un seko, lai sistēma veidotos atbilstoši aprakstītajām prasībām. Ja nepieciešams, veicu papildu pārrunas ar klientu un koriģēju projektējumu.
Tā kā sistēmanalītiķim ir priekšstats par to, kā jādarbojas sistēmas komponentēm un sistēmai kopumā, es piedalos arī sistēmas testēšanā un palīdzu to ieviest ražošanā. Ja tiek atklātas kļūdas vai ir nepieciešamas kādas izmaiņas, es, līdzīgi kā izstrādes procesā, iestrādāju šos labojumus/papildinājumus projekta dokumentācijā un gādāju, lai labojumi tiek realizēti.
Kāda ir Tava darba ikdiena?
Dienas sākumā es saplānoju veicamos darbus. Visi uzdevumi katram projekta dalībniekam parasti tiek reģistrēti projektu vadības un pieteikumu reģistrācijas sistēmā, kur tiek norādīta arī uzdevumu izpildes gaita, komentāri, uzdevumu pārvirzīšana citiem projekta dalībniekiem. Šī sistēma bieži tiek aktualizēta un papildināta ar jauniem uzdevumiem, tādēļ ir svarīgi sekot līdzi izmaiņām un ņemt tās vērā. Vēl neatņemama ikdienas sastāvdaļa ir komunicēšana ar kolēģiem, projekta dalībniekiem, klientiem pa telefonu, e-pastu, Skype, klātienē gan izstrādes birojā, gan klienta uzņēmumā. Dažreiz jādodas komandējumos. Aktuālie darbi ir atkarīgi no fāzes, kādā atrodas projekta izstrāde: prasību identificēšana, analīze, projektēšana, programmēšana, testēšana, ieviešana, uzturēšana. Tā kā šīs fāzes var būt gan secīgas, gan pārklāties, ikdienas uzdevumu kombinācija var būt visdažādākā. Arī atpūtas brīžos ar kolēģiem var neformālā gaisotnē izrunāt kādus ar projektiem saistītus jautājumus vai apspriesties par jaunumiem IT sfērā.
Vai ir kāda atšķirība, ja sistēmanalītiķis strādā pie neliela projekta vai lielā projekta izstrādes grupā?
Strādājot lielā uzņēmumā pie lieliem projektiem, ir striktāks „lomu” sadalījums, ir vadlīnijas un standarti, kas jāievēro un kas nosaka, kādi darbi veicami analītiķiem, programmētājiem, testētājiem, kā jāorganizē darba plūsma, kāda ir komunicēšanas procedūra projekta ietvaros un ar klientu. Lielos projektos galvenais uzsvars tiek likts uz komandas darbu, jo tikai komandai ir pa spēkam sasniegt kopējo mērķi.
Strādājot mazā projektā, bieži vien šāda klasiska lomu sadalījuma programmētājos, analītiķos, testētājos var nebūt. Visus darbus var nākties darīt vienam cilvēkam. Šī ir lieliska iespēja pārliecināties par savām prasmēm un zināšanām, jo ar uzdevuma izpildi jātiek galā saviem spēkiem. Tā vari strādāt radoši, bez standartu ierobežojumiem, meklēt un atrast interesantus risinājumus.
Kā sadarbojies ar citiem uzņēmuma darbiniekiem?
Sadarbība ar kolēģiem, īpaši ar projektā iesaistītajiem, ir ikdiena. Ar projekta vadītāju apspriežam veicamos uzdevumus, to izpildes gaitu, sarežģījumus, resursu sagādi, komunikāciju ar klientu. Ar sistēmas arhitektu runājam par izstrādājamās sistēmas arhitektūru un analīzes vadlīnijām, kuras jāievēro, veicot projektējumu un gatavojot uzdevumus programmētājiem. Ar programmētājiem jārunā par nepieciešamo funkcionalitāti, algoritmiem, projektējumu un prasībām. Ar testētājiem pārrunājam sistēmas prasības un to testēšanas scenārijus, datus un rezultātus. Savukārt ar sistēmas administratoru apspriežam jautājumus par tehnisko nodrošinājumu. Viena uzdevuma izpilde parasti ir atkarīga no vairāku komandas dalībnieku darba, tādēļ komunikācija nodrošina plūstošu uzdevumu izpildi un virzību uz mērķi.
Runāju arī ar projektā neiesaistītajiem kolēģiem. Reizēm ir pat ļoti vērtīgi uzzināt kompetenta kolēģa viedokli, padomu par kādu projekta jautājumu, problēmu. Tā ir sava veida svaigu ideju ienešana projektā – pieredzes apmaiņa starp projektiem, kas var būtiski uzlabot rezultātu.
Ko klients sagaida no Tevis kā konkrētā darba darītāja?
Klients sagaida profesionālu attieksmi un kvalitatīvu, ērti lietojamu risinājumu norunātajos termiņos. Saskaņotajā prasību specifikācijā nav iespējams atrunāt visas nianses, tādēļ, ja ir iespējams panākt klienta apmierinātību, realizējot lietas, kas nav iekļautas specifikācijā, tad tas ir jādara. Šāda attieksme veicinās turpmāko sadarbību ar klientu. Ja ir nepieciešamas lielākas izmaiņas, tās jāapspriež ar klientu, piedāvājot izstrādes plānu, saprotami izskaidrojot nepieciešamo izmaiņu būtību un ietekmi uz sistēmu kopumā.
Kādas prasmes, īpašības ir nepieciešamas, lai labi veiktu šo darbu?
Pirmkārt, ir nepieciešama loģiskā domāšana, veselais saprāts, mērķtiecība, kreativitāte. Šīs īpašības būtu vēlamas ikvienam cilvēkam, bet analītiķim tās ir īpaši svarīgas. Loģiskā domāšana jebkurā situācijā palīdz izdomāt veicamo darbību secību. Veselais saprāts nepieciešams, lai piedāvātais risinājums būtu reāls un iekļautos laika, izmaksu, resursu ierobežojumos. Vienmēr jāprot nošķirt svarīgo no mazāk svarīgā. Mērķtiecība – lai spētu precīzi apzināties izvirzīto mērķi un nepārtraukti virzīties uz tā sasniegšanu.
Kreativitāte palīdz rast elegantus nestandarta risinājumus šķietami bezcerīgos gadījumos.
Otrkārt, ir jābūt labām komunicēšanas spējām. Jo labākas tās ir, jo ātrāka un precīzāka atbilde uz jautājumu tiks saņemta. Svarīga ir arī pacietība, neatlaidība, iecietība. Tas lieti noder sarunās ar klientu, jo klientam nav specifisko IT zināšanu, savukārt izstrādātājiem nav pietiekamu zināšanu par klienta biznesa sfēru. Saistoši, ka sistēmanalītiķa profesijā šādi vari iepazīt visdažādākās nozares.
Treškārt, nepieciešama noturība pret stresu. Jātiecas arī apgūt jaunas zināšanas, jāseko līdzi tehnoloģiskiem sasniegumiem. IT risinājumos tie tiek piedāvāti pēc iespējas daudz, un to apgūšanai ir nepieciešams laiks.
Kādi ir vislielākie izaicinājumi šajā darbā?
Katram projektam ir sava specifika, un ir daudzas lietas, ko līdz šim vēl neesmu darījis. Jāapgūst jaunas tehnoloģijas, rīki, biznesa sfēras, projekta standarti, metodoloģijas, vadlīnijas, ierobežojumi, darba stils, jāiepazīst jauni cilvēki. Iegūt jaunas zināšanas ir interesanti un noderīgi, taču ne vienmēr izdodas precīzi prognozēt to apguvei nepieciešamo laiku. Savukārt klients sagaida kvalitatīvu produktu noteiktajā termiņā. Šīs abas lietas savienot ir liels izaicinājums.
Ir arī gadījumi, kad domas par nepieciešamo risinājumu dalās. Tad arī sava viedokļa aizstāvēšana ir gana liels izaicinājums.
Kas šajā darbā Tev sagādā gandarījumu?
Šis ir ļoti radošs darbs. Man patīk izstrādāt risinājumus, kas apmierina klienta prasības. Man patīk viss process, kas noved pie rezultāta. Jo lielāks izaicinājums, jo lielāks gandarījums par veiksmīgi sasniegto mērķi. Īpašu prieku sagādā risinājumi, kuri vēlāk pārtop par labās prakses piemēriem un ir pielietojami arī citos projektos. Gandarījumu sagādā klienta apmierinātība ar kvalitatīvu, ērti lietojamu produktu, kolēģu atzinība par profesionāli paveiktu darbu.
Kādas ir izaugsmes iespējas šajā profesijā?
Sistēmanalītiķim nākas pārzināt visu izstrādes procesu, sākot no klienta vajadzību noskaidrošanas līdz sistēmas nodošanai ekspluatācijā. Šīs zināšanas var būt pat pietiekamas, lai veiktu ikvienu no sistēmas izstrādes darbiem (programmēšanu, testēšanu, dokumentēšanu, varbūt pat projekta grupas vadību un sistēmu administrēšanu). Iespējams specializēties par projektu vadītāju, sistēmas arhitektu, programmētāju, testētāju un kļūt par vadošo speciālistu izvēlētajā jomā, bet var arī turpināt pildīt sistēmanalītiķa pienākumus, uzkrāt pieredzi un kļūt par ekspertu. Ja darbs tiek darīts ātri, kvalitatīvi, droši un ar minimālu resursu ieguldījumu, tad šāds speciālists tiek atbilstoši novērtēts un ir ļoti pieprasīts.
Ko Tu ieteiktu jauniešiem, kuri gribētu apgūt šo profesiju?
Būt lepniem par savu izvēli, jo mūsdienās ir grūti iedomāties jomu, kura varētu iztikt bez IT atbalsta. Līdz ar to būs individuālās klienta prasības, būs vēlme modernizēt sistēmas, ieviest jaunas tehnoloģijas. Vārdu sakot, būs nepieciešams sistēmanalītiķis vai izstrādes grupa, kuras sastāvā ir sistēmanalītiķis, kas spēs nodrošināt nepieciešamos risinājumus.
Galvenais ir nepārtraukti virzīties uz priekšu. Vajag eksperimentēt, nebaidoties no kļūdām. Kļūda ir solis tuvāk risinājumam. Pat ja veiktā darbība ir kļūdaina, ir zināms, kas jāizlabo, kas jāiemācās, lai virzītos uz mērķi un to sasniegtu.
Augstskola dod labus teorētiskos pamatus. Tas viss ir jāpārbauda praksē, lai veidotos savs viedoklis, pieredze. Un lai nebaida tas, ka reālajos projektos viss nenotiek kā pēc grāmatas, ka neizdodas atrast vienīgo ideālo risinājumu. Šī darba specifika ir tā, ka bieži nākas meklēt vai pat izgudrot jaunus netipiskus risinājumus, ņemot talkā izdomu, radošo pieeju un kolēģu palīdzību. Tas padara šo darbu aizraujošu.