17. juunil alustasin oma praktikaperioodi ettevõttes Icefire OÜ, mis on üks Eesti suurimaid tarkvaraarendusettevõtteid. Antud blogipostituses võtan lühidalt kokku praktikakoha otsimise protsessi ning kirjeldan kahe esimese töönädala jooksul tehtud tööd ja kogutud muljeid.

Praktikakoha otsimist alustasin ma maikuu keskel, täites Eesti Infotehnoloogia ja Telekommunikatsiooni Liidu praktikavormi, mis edastati nende meililisti. Kokku sain ma pakkumise kolmelt ettevõttelt, valik osutus Icefire'i kasuks tänu nende kõige kiiremale reaktsioonile, avalikult leitavale ja tuttavatelt saadud tagasisidele, nende isiklikumale lähenemisele värbamisel ning kontori soodsale asukohale.

Firmasiseselt määrati mind Maksu- ja Tolliameti osakonda, tegelema nende kliendiportaali ühe alamportaaliga. Projekt on oma olemuselt hajussüsteem, mille backend on ehitatud Javas, kasutades Spring raamistikku ning frontend JavaScriptis, kasutades React raamistikku. Kui JavaScripti (ning eriti just Reactiga) oman ma omajagu kogemust, siis minu kogemus Javaga on mitte-just-kõige-parema õpetaja tõttu väike ning Spring, Lombok, MyBatis ja teised kasutusel olnud Java raamistikud ja teegid tol hetkel täiesti võõrad.

Seetõttu polnud ma kindel, kui hõlpsasti ma esialgu hakkama saan, kuna tegemist on minu esimese töökogemusega üldse ning esimesel kohtumisel värbajaga mainis ta mulle, et ettevõttel on kombeks praktikante tundmatus kohas vette visata. Reaalsus on niisugune, et kuigi tundmatus kohas vette visatud mind on, siis probleemiks pole see osutunud ja kõik oma ülesanded olen siiani suurema abita ära teinud.

Blogipostituse kirjutamise ajal loen ühte internetist leitud eelmisest aastast pärit Icefire'i praktikablogi ning võrreldes minuga oli tolle praktikandi töö oluliselt sisutihedam, pingelisem ja ka huvitavam. Ilmselt on põhjuseks see, et projekt, mille juurde mind määrati, on suuremas osas valmis ning viimistlemisjärgus. Vaadates Jira't mind oluliselt ei diskrimineerita, valdav enamus allesjäänud ülesannetest ongi veaparandused ning viimistlused, lihtsalt mõned on tehniliselt keerukamad kui teised.

Kõige suuremaks probleemiks on see, et mulle (ega teistele arendajatele) ei taheta anda ülesandeid, mille puhul pole kindel, kas praegune kirjeldus on lõplik või tahab klient veel midagi muuta. Umbes ühe nädalaga suutsin end läbi närida kõigist vabadest ja sobilikest ülesannetest ning teise praktikanädala lõpus tekkis olukord, kus projektijuht pidi valdkonnajuhilt üle küsima, kui julgelt ta mulle ülesandeid anda võib - õnneks oli vastus lihtsalt "julgelt".

Kõige põnevam ülesanne ja kõige huvitavam kokkusattumus tekkis teise nädala lõpus, kus mulle määrati parandamiseks viga, mille tõttu ei suutnud portaal töödelda osasid XML faile, mida kasutajad üles laadisid. Põhjuseks oli see, et kasutusel olnud XML parser ei saanud oma tööga hakkama, kui faili kodeering sisaldas BOM'i (byte order mark), mistõttu pidin kirjutama funktsiooni, mis selle loetud faili sisust jõuga eemaldaks. See võttis minu jaoks ainult 15 minutit, kuna kõigest paar päeva varem oli minu isiklikus projektis täpselt samasugune probleem, mistõttu mul oli täpselt teada, kuidas seda lahendada. See, kui kiiresti ma antud ülesande lahendasin, jättis projektijuhi lausa hämmingusse.

Suurem osa ülejäänud ülesandeid on aga olnud stiilis "muuda tabelis kuvatavaid andmeid", "muuda otsinguparameetreid", "muuda CSV'na eksporditavaid andmeid", mis olid head ülesanded projekti ülesehitusega tutvumiseks, kuid praeguseks tunnen, et ma olen seda teinud juba piisavalt ning loodan, et järgmise blogipostituse kirjutamise ajaks olen saanud teha midagi sisukamat ning vastutusrikkamat. Ilmselt tähendaks see projektivahetust, kuna esimesel päeval ütles valdkonnajuht mulle, et see projekt on koht, kus ma peaksin tegema oma esimesed sammud.

Täiendus: Kolmanda nädala esimesel päeval sain endale olulisalt mahukama, keerukama ja vastutusrikkama ülesande.