Uratarina - Olli Kalmari
Tutustu, mitä Software Developer tekee Pinjalla!

Joustava ja mielenkiintoinen työpaikka
Pinjalle tulin alun perin harjoittelijaksi yliopisto-opintojeni aikana vuonna 2007, enkä ole kokenut tarvetta vaihtaa muualle. Aluksi tein ohjelmistokehitystä, joka on vuosien varrella vaihtunut asiakasprojektin testauksesta ja automaatiotestauksesta vastaamiseen.
Nykyiseen kehitystiimiimme kuuluu ohjelmoijia, projektin esimiehiä sekä testaajia eri yrityksistä ja paikkakunnilta. Tämän vuoksi kommunikaatio hoidetaan enimmäkseen Microsoft Teams -sovelluksen kautta. Minulla on käynyt hyvä tuuri saadessani työkavereiksi mukavia ja lahjakkaita ihmisiä – kaikki taitavia asiantuntijoita omassa työssään. Tiimiläisiltä voi aina kysyä neuvoa ja sopia yhdessä, miten asiat hoidetaan järkevästi.
Työn parhaita puolia on, kun tilattu järjestelmä saadaan asiakkaalle valmiiksi ja se auttaa heitä omassa työssään. Vieläkin parempi on, jos järjestelmään on tehty ekstraa, mitä ei alunperin suunnitteluvaiheessa ollut edes mietitty.
Pinjalla on vuosien varrella pysynyt positiivinen ja kannustava ilmapiiri. Vaikka toisinaan on kiire ja työtehtävät saattavat olla haastavia ja stressaavia, positiivinen tekemisen meininki ja hyvä ryhmähenki säilyvät. Ylimääräistä stressiä vähentää myös se, että työnantaja on joustava. Tarvittaessa työaikaa saa käyttää omiin menoihin, kunhan työtehtävät tulevat hoidetuiksi.
Parasta työpaikassani on: Pinjalla on hyvä ilmapiiri ja täällä tehdään mielekkäitä juttuja järkevällä asenteella – täällä on mukava työskennellä.
Urapolkuni
Urapolkuni kehitys

Ohjelmistotekniikan opinnot Jyväskylän yliopistossa
Yliopistossa opiskelin ohjelmointia, tietokantoja, projektinhallintaa, testausta ja prosesseja. Opintoihin kuului myös yhtenä osana sovellusprojekti, joka tehtiin opiskelijoista muodostetussa ryhmässä asiakastyönä. Projektissa koodasin Symbian C++ -kielellä sovellusta, jolla selattiin kuvia.

Työharjoitteluun Pinjalle Junior Software Developer -tehtävään
Pääsin ensimmäistä kertaa niin sanotusti oikeisiin töihin ja mukaan käytännön ohjelmistokehitykseen, kun tulin työharjoitteluun Pinjalle. Aloitin ohjelmoijana teollisuusprojektien parissa, mutta tein jo silloin hieman testausta ja testaussuunnittelua. Siihen aikaan käytetyin kieli projekteissa oli C++. Pääsin tekemään esimerkiksi satamanostureiden automatisointia, jolla tehostettiin konttien käsittelyä.

Filosofian maisterin paperit ja vakituinen työpaikka Pinjalla
Valmistuin Jyväskylän yliopistosta ohjelmistotekniikan puolelta, josta sain hyvät pohjatiedot ohjelmoinnin perusperiaatteisiin. Parhaiten mieleeni jäi perusopintoihin kuuluva Java-ohjelmointikurssi. Valmistumisen myötä, työpaikka Pinjalla vakinaistui ja jatkoin ohjelmistokehityksen parissa.

Asiakasprojekti vaihtuu ja ohjelmointikieleksi C#
Tulin alun perin ohjelmistokehittäjäksi nykyiseen asiakasprojektiin, jossa kehitetään etäluettavien sähkömittareiden luentajärjestelmää. Koodasin projektissa C#-kielellä ja kehitin sillä järjestelmän osaa, jolla hallitaan ohjelmistopäivityksiä.
Tiimin kokonaisvastuulla oli ja on yhä edelleen asiakkaan tuotteen uudistus: vaatimusten mukaisten ominaisuuksien suunnittelu, -toteutus ja -testaus, sekä asennukset eri ympäristöihin. Olen aina pitänyt siitä, että vastuualueet ovat liukuvia. Tiimin jäsenet voivat osallistua kaikkiin osa-alueisiin oman erikoisosaamisensa lisäksi.

Siirtyminen koodarista testaajaksi saman asiakasprojektin sisällä
Projektiin kaivattiin asiakkaan pyynnöstä testaajia. Minulla oli aiemman koepankki-projektin kautta kokemusta manuaalisesta testauksesta, sekä nykyisessä projektissa tehdyn kehitystyön ansiosta myös tietämys kehitettävästä järjestelmästä.
Testaus vaikutti kiinnostavalta, joten lähdin siihen mukaan. Projektin testausta lähdettiin tekemään käyttämällä muun muassa Postman, Insomnia ja SoapUI -sovelluksia. Alustoina toimivat Azure-virtuaalikoneet, joilla ajettiin testattavaa ohjelmistoa.

Automaatiotestaus tutuksi Robot Frameworkilla
Asiakasprojektin aikana olen päässyt tutustumaan mielenkiintoiseen testauksen automaatioon. Nykyisessä projektissa siihen käytetään Robot Frameworkia, joka on Pythonin päällä pyörivä kehys. Se tarjoaa testien määrittelyyn sopivan syntaksin, sekä joitakin yleiskäyttöisiä rajapintoja.
Testattaessa, Robot-koodissa kutsutaan jotain testattavan järjestelmän API:a ja tutkitaan, saatiinko sieltä vaatimusten mukainen vastaus. Aika monesti testauksen yhteydessä selviää, että jonkin ominaisuuden suunnittelussa jokin yksityiskohta on jäänyt huomiotta. Sen vuoksi sovellus joko toimii väärin, tai sen suorituskyky ei riitä suurille määrille dataa. Kun koodiin on tehty tarvittavat korjaukset, tehdään uusi testi ja katsotaan, toimiiko sovellus tällä kertaa virheettä.
On hienoa, että olen pystynyt yhdistämään nykyisiin työtehtäviini parhaat puolet aiemmista kokemuksistani ohjelmistokehittäjänä sekä testaajana.
-
Pinjalla keskitytään siihen, mikä työnteossa on olennaista ja tärkeää!