Näyttää siltä, että käytät Internet Explorer -selainta. Selain ei valitettavasti ole tuettu. Suosittelemme käyttämään modernia selainta kuten Chrome, Firefox, Safari tai Edge.

Mentorointitarinat: Mentorointi loi Carlille turvallisen ympäristön terävöittää testivetoisen kehityksen osaamista

Julkaistu aiheella Ihmiset

Kirjoittaja

Carl Holmqvist
Software Developer

Carl on lahjakas ja kyvykäs ohjelmistokehittäjä, joka tunnetaan tehokkaana tiimipelurina ja käytännönläheisenä toimijana. Carl on aina valmis kuuntelemaan ja auttamaan muita, mikä tekee hänestä arvokkaan yhteistyötä vaativissa hankkeissa. Teknisen osaamisen ja optimistisen mielenmaiseman myötä Carl loihtii laadukkaita ratkaisuja ylläpitäessään tuen ja tuotteliaisuuden ilmapiiriä. Työn ulkopuolella Carl nauttii aktiivisesta elämäntyylistä lenkkeilyn, pyöräilyn ja kokkailun parissa.

Artikkeli

30. elokuuta 2023 · 3 min lukuaika

Ohjelmistokehittäjänä tiedän hyvin, että koodauksen maailma on laaja ja jatkuvassa muutostilassa. Vaikka halusin mentorointini keskittyvän testivetoiseen kehitykseen (Test-Driven Development eli TDD), toivoin mentoroinnin kehittävän osaamistani myös muilla alueilla. Mentorini Esko Luontola opettaa vuotuista TDD-kurssia Helsingin yliopistossa, joten hän oli monessa mielessä täydellinen taistelupari minulle – eikä ollut haitaksi sekään, että työskentelimme jo saman asiakasprojektin parissa.

Ohjelmistokehitys on usein todella haastava toimiala. Rima on järjestäen hyvin korkealla ja työhön liittyy myös huomattava kilpailullinen elementti. Koodarina on pysyttävä tietoisena monesta osa-alueesta. On ymmärrettävä testaamisen, kehityksen, datakeruun, implementaation, viitekehysten ja tyylin päälle… Skaalaa riittää.

Nitorilla järjestettiin mentorointiohjelman pilotti viime vuonna ja tulokset osoittautuivat positiivisiksi. Kun ohjelma päätettiin toteuttaa uudestaan suuremmassa mittakaavassa, me nitorilaiset saimme vapaasti ilmoittautua ohjelmaan joko mentorina tai mentoroitavana.

Ilmoittautuessani mukaan, alkuperäinen ajatukseni oli se, että hei, kenties löydän itselleni keskustelukumppanin, jonka kanssa voin alkaa perata aiemmin mainitsemiani aihealueita auki laajemmin. Sellaisen, jonka kanssa voisin alkaa rakentaa luottamuksen siltaa ja oppia uutta sekä terävöittää jo osaamaani sen pohjalta.

Hain ensisijaisesti mentorointia testivetoisen kehityksen (TDD) saralla. Samalla toivoin löytäväni sellaisen mentorin, jolta saisin opastusta ja sananvaihtoa ohjelmistokehitykseen laajemmin liittyvissä aiheissa, turvallisessa ympäristössä. Koen tämän toteutuneen ollessani Eskon mentoroitavana.

"Hyödynsin mentoroinnissa harjoitteita, jotka olin alkujaan laatinut yliopiston kursseilleni. Harjoitteiden keskiössä oli Tetris-pelin ohjelmointi. Vietimme paljon aikaa parittaen ja uudelleenrakentaen koodia yhdessä. Mielestäni tämä toimintamalli loi hienot puitteet TDD:n ydinfilosofiaan perehdyttämiselle."
- Esko Luontola, Senior Software Architect, Nitor

Ensimmäisessä tapaamisessamme vaihdoimme ideoita tulevasta sekä siitä, mitä kumpikin meistä odotti mentoroinnin tarjoavan. Sen jälkeen Esko perehdytti minut siihen, mitä kaikkea testivetoinen kehitys pitää sisällään hänen näkökulmastaan.

Sain Eskolta kotitehtäväksi harjoituksia, joita kävimme läpi Eskon kanssa viikoittaisissa tapaamisissamme. Vaikka asun itse Tukholmassa ja Esko Suomessa, yhteistyömme eteni todella sujuvasti.

Jonkin ajan kuluttua vaihdoimme toimintatapaa, ja keskityimme parikoodaukseen. Minun tehtäväni oli selvittää harjoitteiden sisältämät pulmat, kun taas Esko oli virtuaalisesti rinnallani ja tarjosi sekä välitöntä palautetta että keskustelun sytykettä ohessa.

Uusi toimintatapa oli mielestäni erityisen palkitseva, sillä sen avulla Eskolla oli mahdollisuus seurata työn etenemistä ja nähdä kohtaamani ongelmat reaaliajassa, ja antaa siten välitöntä palautetta.

"Parityöskentely toimi erinomaisesti tämän tehtävän puitteissa, mutta se oli myös mukavaa puuhaa sosiaalisessa mielessä. Vahvemmin etätyöhön siirtymisen myötä sosiaalisen kontaktin määrä on viime aikoina vähentynyt, joten parisessiot olivat miellyttävää vastapainoa tälle ilmiölle. Livenä työskentelyn lisäetu oli se, että oli huomattavasti vaivattomampaa antaa palautetta tyyliin ”okei, tuo toimi hyvin, mutta mitäpä jos kokeilemme uutta lähestymistapaa ja järjestelemme koodia uusiksi pienemmissä palasissa”."
- Esko Luontola, Senior Software Architect, Nitor

Sinun on unohdettava kaikki oppimasi

Minulla ei varsinaisesti ollut suunnitelmaa sen osalta, kuinka mentorointi tulisi lopulta etenemään, mutta varsinkin spontaanit keskustelumme erinäisten pulmien ympärillä olivat todella miellyttäviä. Huomasin usein kyseenalaistavani saamani neuvot; "Miksi tekisin sen näin? En ole aiemmin lähtenyt ratkomaan samanlaista pulmaa tähän tapaan.” Esko vuorostaan kohtasi nämä tilanteet esittäen vahvoja argumentteja ja näkemyksiä siitä, miten haasteet tulisi ratkoa testivetoisen kehityksen periaatteita noudattaen.

Olen toiminut ohjelmistokehittäjänä monta vuotta, joten minulla on kieltämättä taipumusta toimia hyvin omaehtoisesti ja omaa koodaustyyliäni noudattaen. Se ei välttämättä ole aina linjassa TDD:n ydinperiaatteiden kanssa. Toisinaan voi olla vaikea opettaa vanhalle koiralle uusia temppuja, mutta hedelmällisten keskustelujemme myötä olen pyrkinyt sisällyttämään kaiken mentoroinnin aikana oppimani osaksi päivittäistä toimintaani.

Yleisin tulokulmani tapasi olla se, että okei, tiedän mitä haluan tehdä. Miksen voi edetä A:sta B:hen suoraan? Miksi kuljemme kiertotietä C:n kautta? Kun aloin päästä jutun juonesta perille ja ymmärtää prosessin suhdetta harjoitteen myöhempiin vaiheisiin, ymmärsin, että näennäisesti pitempi reitti saattaakin lopulta tarjota lyhyemmän matkan. Ainakin silloin, kun tie vie vielä kunniakierrokselle D:n ja E:n kautta.

"Sain mahdollisuuden lainata Yodaa: sinun on unohdettava kaikki oppimasi."
- Esko Luontola, Senior Software Architect, Nitor

Yksi mentorointimatkani avainlöydöksistä oli se, että löysin uusia tapoja saavuttaa työni määrittämät päämäärät. Tilanteesta riippuen kyseessä saattaa olla esimerkiksi uuden ominaisuuden implementointi tai tietyn ongelman ratkaisu. Reittejä maaliviivan yli on monenlaisia ja toisinaan paras ratkaisu saattaa olla jokin aiemmin oppimani, mutta parhaan toimintamallin saattaa tarjota TDD. Koen nyt olevani entistä avoimempi kokeilemaan uusia tapoja saavuttaakseni päämääräni.

Mentorointitarinat-artikkelisarja antaa katsauksen mentorointiohjelmaamme, joka tarjoaa mahdollisuuden oppia ja jakaa kehittynyttä ja monialaista osaamista muiden nitorilaisten kanssa.. Me arvostamme digitaalisten insinööriemme erilaisia ja ainutlaatuisia matkoja. Henkilökohtaisten kasvu-urien mahdollistaminen sekä itsensä kehittämisen tukeminen konkreettisten menetelmien ja sosiaalisen oppimisen avulla on yksi Nitorin keskeisistä arvoista.

Kirjoittaja

Carl Holmqvist
Software Developer

Carl on lahjakas ja kyvykäs ohjelmistokehittäjä, joka tunnetaan tehokkaana tiimipelurina ja käytännönläheisenä toimijana. Carl on aina valmis kuuntelemaan ja auttamaan muita, mikä tekee hänestä arvokkaan yhteistyötä vaativissa hankkeissa. Teknisen osaamisen ja optimistisen mielenmaiseman myötä Carl loihtii laadukkaita ratkaisuja ylläpitäessään tuen ja tuotteliaisuuden ilmapiiriä. Työn ulkopuolella Carl nauttii aktiivisesta elämäntyylistä lenkkeilyn, pyöräilyn ja kokkailun parissa.