Praktikaperiood on nüüdseks ametlikult läbi saanud. Minu jaoks see eriti midagi ei muuda, kuna töö jätkub samas vaimus. Küll aga tähistab see käesoleva praktikablogi lõppu.
Viimaste nädalate kokkuvõte
Järgnevad mõned mainimisväärsed ülesanded ja sündmused, millega olen eelmisest postitusest saati praktikakohas tegelenud. Jätan seekord kirjeldamata väiksemad sündmused, kuna nende olemusest peaks eelmiste praktikablogi sissekannetega juba üsna hea ülevaade olema kujunenud.
Jätkuvalt maadlesin Google Analyticsisse back-endist andmete saatmisega. Olen nüüd selleks igasuguseid erinevaid lähenemisi proovinud varieeruva edukusega. Segane dokumentatsioon, Google-i pikk andmete protsessimise aeg ja hulk muid põhjuseid on selle teema pikale venitanud. Eks tulevik näitab, kas uus katsetus, mille implementeerimise äsja lõpetasin, parandab olukorda.
Teine veidi suurem arendus, millega vahepeal hakkama sain, oli ühes mulle täiesti uues repos piltide üleslaadimise teenuse väljavahetamine. Tundsin end üsna murelikuna selle üle, kuna küsimustele, mis mul selle käigus tekkisid, ei osanud keegi täiesti kindlalt vastata. Pealegi selgus äkitselt, et selle arendusega on üsna kiire ning see tuli mõne päeva jooksul livei saada. Töö mahu poolest oli see täiesti tehtav, kuid see kiirustamisvajadus oli mulle ootamatu. Jõudsin siiski ülesandega valmis ning siiani on see väidetavalt korralikult töötanud.
Mu töösse on lisandunud aina rohkem koostööd erinevate inimestega. Viimase paari nädala jooksul sattusin mitmesse koosolekusse hulga võõraste ja teistes firmades töötavate inimestega ning see oli veidi hirmus. Õnneks midagi hullu pole veel juhtunud, kuigi ma ei tea, mis arvamus neil minust on. Koostööst rääkides: tunnen, et koostöö projektijuhiga sujub mul väga hästi. Suhtleme tööpäeva jooksul pidevalt, ma julgen tema poole oma küsimustega pöörduda ning ka tema küsib mult tihti nõu mõne tehnilise küsimusega.
Olen viimaste nädalate jooksul avastanud ka mõned vead teiste varasemalt tehtud töös. See andis mulle veidi enesekindlust juurde, kuna tõendas, et ka teised võivad vigu teha ning samas näitas, et ma suudan neid vigu tuvastada. Üleüldse tunnen, et minust on kasu, mind usaldatakse ning mu peale loodetakse. Ent tunne, et mind vajatakse ning et mu puudumine põhjustaks probleeme on ka üsna ärevusttekitav.
Praktikakuraatori küsimused
Kuna tegemist on viimase praktikablogi postitusega, vastan siinkohal küsimustele, mille ülikoolipoolne praktikakuraator mulle selleks otstarbeks edastas.
1. Kuidas vastas praktika sinu algsetele ootustele?
Ma ei osanud eriti midagi kindlat oodata. Jah, ülikoolis oli räägitud Scrumist ja muudest tarkvaraarendusmetoodikatest, aga mul ikkagi polnud mingit ettekujutust sellest, milline tarkvaraarendaja tööpäev tegelikult välja võiks näha.
Ma ootasin ja lootsin, et toimub rohkem tiimitööd. Ma olen küll tiimis, mis töötab ühe projekti kallal ning mingi veidi suhtlust või arutelu toimub peaaegu iga päev, kuid aktiivset koostööd just programmeerimise osas on vähe. Enamasti igaüks tegeleb eraldi ülesande täitmisega koodibaasi erinevates osades. Pull requeste üle vaadates saab veidi tutvuda üksteise koodiga, kuid see pole ka just eriti tihe koostöö ning enamasti on tegemist üsna üldise ülevaatusega. Ma ei teagi, mida ma täpselt ootasin selle asemel. Muidugi ma ei eeldanud, et toimuks pidev paarisprogrammeerimine, kuid ma lootsin mingil moel, et saab teistega lähemalt koostööd teha.
2. Mis üllatas?
Kõige rohkem üllatas mind see, kui tihti polegi kedagi, kes oskaks mu küsimustele kindlaid vastuseid anda. Tihti pole ühtegi isikut, kes konkreetse teemaga hästi kursis on, misjuhul ma pean proovima toimetada omaenda parima äranägemise järgi. Tundub, et puudub selline inimene, kellel on olemas terviklik arusaam kogu koodist ja äriloogikast, mida mu tiimi projekt hõlmab. Projekti alustanud isikud on lahkunud kas projektist või lausa kogu ettevõttest ning praegused tiimiliikmed on projektiga liitunud hiljem ja tunnevad vaid teatud osi sellest.
3. Mis olid kõige õpetlikumad kogemused?
Sellele küsimusele mul pole head vastust. Ma ei suuda küll mõelda ühegi konkreetse olukorra peale, kust ma eriti palju õppinud oleksin, pigem oli tegemist pideva protsessiga, mille käigus sain kogemusi ning küllap ka õppisin midagi.
Kui pean tingimata siin midagi siiski välja tooma, siis on mu vastuseks see kord, kui oleksin peaaegu kogemata kirjutanud vana e-poe andmebaasis kõigi tellimuste hinnad üle. Tegemist oli teada-tuntud veaga, kus ma olin jätnud SQL UPDATE-käsklusele lisamata piirava WHERE-tingimuse enne selle jooksutamist. Seda sorti apsakas on IT-maailmas nii kurikuulus eksimus, et sellest on terve hulk lugusid ning iga IT-ga tegelev isik on neist arvatavasti kuulnud. Sellest hoolimata pääsesin ise vaid napilt sama vea tegemisest.
Ent ma ei tea, mida ma täpselt sellest õppisin. Jah, see kinnitas seda, et production-andmebaasis tegutsedes tuleb olla äärmiselt ettevaatlik ning ükskõik kui palju ettevaatusabinõusid on kasutusele võetud, alati tasub neid võimalusel veel juurde tekitada. Aga kõike seda ma teadsin ja oleksin öelnud ka enne seda juhtumit, seega pigem võiks öelda, et selle vea peaaegu omal nahal kogemine kinnitas ja kinnistas olemasolevat teadmist.
4. Mis oli organisatsiooni ja/või meeskonna puhul see, mida hindasid ja mis osutus antud keskkonnas ja tiimis sinu jaoks isiklikult pigem väljakutsuvaks?
Ma hindan väga seda, kui sõbralikud ja abivalmid kõik töökaaslased on. See aitas töösse sisseelamisega ning motiveerib tööd hästi tegema.
Kõige väljakutsuvam on olnud asjaolu, et vähemalt projektis, mille kallal mina töötan, ei tundu olevat kedagi, keda võiks kutsuda konkreetse süsteemi asjatundjaks. Nagu ma ka 2. küsimuse vastuses kirjeldasin, pean sageli lähtuma omaenda järeldusel ja eeldustel põhinevast arusaamast. Mõnikord oleks olnud väga kasulik, kui keegi osanuks kindlalt ja veendunult vastata "jah, see töötab nii ning selle muutmine mõjutab seda ja toda funktsionaalsust" või "jah, siin peaks niimoodi asjale lähenema".
5. Mida teed täna teisiti kui enne praktikale asumist? Milles näed, et oled ennekõike arenenud?
Kuna praktikal on keskkond väga erinev seni ülikoolis või hobikorras tehtud programmeerimisest, on raske mu käitumist nendes olukordades võrrelda. Kindlasti olen palju ettevaatlikum igasuguseid muudatusi tehes - proovin muudatused hoida minimaalsed ning kontrollin väga hoolikalt üle, mida need võivad mõjutada. Ülikoolis programmeerides see polnud vajalik, kuna mul oli alati selge ettekujutus kogu süsteemist ning pealegi polnud koodi äralõhkumisel mingeid tagajärgi.
Ent ma ei tea, kas ma seda just arenguks kutsuksin - see on lihtsalt teistsugustest tingimustest tingitud teistsugune lähenemine. Näiteks isiklikku projekti programmeerides ma sellist ettevaatlikku lähenemist ei kasutaks.
Ma vist mingit otsest arengut ei oskagi endas tuvastada. Kindlasti olen saanud kogemusi ja midagi õppinud, kuid ma ei tunne, et oleksin veel üheski valdkonnas oluliselt arenenud.
6.1 Mis on sinu hinnangul selles rollis töötamisel ennekõike oluline? Millised oskused/teadmised/iseloomuomadused või suhtumine on kindlasti abiks?
Kõige olulisemad on kohusetunne ja põhjalikkus. Kui ülesande kirjeldusest järeldub vaid lihtne muudatus ühes kohas, võib see tegelikult mõjutada mõnda muud süsteemi osa viisil, mida ülesande kirjutaja, kes reeglina pole ise tarkvaraarendaja, ei osanud ette näha. Võimalike probleemide vältimiseks aitab peamiselt just kohusetunne ja sellest tulenev põhjalikkus. Näiteks kui ülesanne oli muuta ühe funktsiooni sisu, siis tuleb kontrollida üle ka kõik kohad, kus seda funktsiooni kasutatakse. See on eriti vajalik juhul, kui asjassepuutuv süsteemi osa või ka kogu süsteem on arendajale uus ja võõras - mida see praktikandi ja nooremarendaja puhul reeglina on.
Muidugi on vajalikud ka abivalmidus, kohanemisvõime ja vajalikud tehnilised oskused. Kuid nende kohta mul midagi rohkemat öelda pole.
6.2 Kuivõrd sinu tänane nägemus sellest kattub sellega, mida eeldasid enne praktikale asumist?
Mu tänane nägemus kattub üsna hästi sellega, mida eeldasin enne praktikale asumist. Veidi üllatas mind see, kui vähe mu tehtud tööd üle kontrolliti. Arvan, et kui ma poleks juba olnud põhjalik ja kohusetundlik, oleks võinud vabalt mitmed vead läbi libiseda. Samas, võib-olla usaldati mind just seetõttu, et jätsin endast põhjaliku ja kohusetundliku mulje.
7.1 Milliseid teadmisi-oskusi soovid ennekõike enda puhul edasi arendada?
Isiklikult soovin tutvuda rohkem madalamal abstraktsioonitasemel programmeerimisega. Siiani on põhiliselt kogu mu praktiline kogemus nii ülikoolis kui praktikal olnud kõrgetasemelistes programmeerimiskeeltes veebirakenduste arendamine. Tahan proovida kirjutada midagi masinalähedasemat keeles, milles tuleb ise mälu hallata ning tingimustes, kus programmi kiirus ja mälukasutus on päriselt ka piiravad faktorid. Programmeerimise selle küljega ma pole eriti kokku puutunud ning arvan, et selle teemaga kursis olemine on hädavajalik, et programmeerijana end enesekindlalt tunneksin, kuigi tööl mul neid oskusi arvatavasti vaja ei lähe.
Eraldi eelmainitust soovin proovida ka mobiilirakenduste arendamist.
7.2 Kuhu soovid tööalaselt edasi liikuda ja areneda?
Tööalaselt soovin jõuda punktini, kus mind võiks pidada mingi projekti või valdkonna raames asjatundjaks. Soovin saada selleks inimeseks, kellelt tullakse nõu küsima, kellel on terviklik ettekujutus süsteemidest, mille kallal ta töötab ning kellele võiks vajadusel usaldada uue süsteemi väljatöötamise või muud taolised suuremad ülesanded. See on muidugi ainult lootus mitme aasta kauguse tuleviku kohta. Lähema tuleviku kohta mul kindlaid soove pole, praegu suudan mõelda ainult ülikooli lõpetamise peale.
Comments
Post a Comment