Paremman koodarin syntytarina

Syksy 2012:

Työjonossa vastaani tuli yksinkertaiselta vaikuttava tehtävä: laajenna aiemmin tehtyä ominaisuutta olemassa olevassa ohjelmistossa. "Tuonhan tekee puolessa tunnissa", ajattelin. Niin olin ajatellut myös sprintin aloituspalaverissa työmäärää arvioidessani. Ei kuin koodaamaan. 

Aloin tutkia koodia ja löysin laajennettavan ominaisuuden suhteellisen helposti. Luin koodia ja yritin päästä kärryille tiettyjen koodinpätkien tarkoituksesta. Seurasin myös funktiokutsupolkua... "Ei hyvänen aika!", pääsi suustani. Ominaisuus oli toteutettu todella monimutkaisesti, mm. käyttäen keinotekoisesti monikäyttöisiä funktioita. Ominaisuuden laajentaminen rikkoisi hyvin todennäköisesti jotain.

 

Tuntia myöhemmin etsin edelleen koodista kohtaa, minne voisin lisätä kyseisen ominaisuuden hajoittamatta mitään. Tai yleensäkään, että pystyisin lisäämään ominaisuuden helposti. Ei löydy. "Kuka ******* tämän koodin on kirjoittanut?", kiroan. Avaan versiohistorian. Minä!?! Olen itse kirjoittanut koodin reilut kolme vuotta takaperin, keväällä 2009. Ei juma! Tämmöistä soopaako olen kirjoittanut?


Sain loppujen lopuksi laajennettua ominaisuutta rikkomatta mitään, mutta aikaa siihen kului kuvitellun puolen tunnin sijasta neljä tuntia. Ajatus koodin laadusta jäi mieleni syövereihin, olematta kuitenkaan aktiivisesti mielessä.

Kevät 2013:

Tällä kertaa työjonossa tuli vastaan tehtävä, jossa eräässä ominaisuudessa oli havaittu bugi ja se pitäisi korjata. En ollut itse koodannut kyseistä ominaisuutta, mutta vastuullisen ollessa sairaslomalla otin bugin itselleni tutkittavaksi. Aloin jälleen tutkia koodia ja déja vu iski päin näköä saman tien! Karseaa koodia. Koska kyseisen ominaisuuden oli kehittänyt henkilö, kenen mentori olin, päätin jättää bugin korjaamatta ja ottaa asian esille hänen kanssaan.

Mentoroitavan palattua töihin pidimme palaverin, jonka pääasiallisena aiheena oli aiemmin mainittu bugi ja koodin laatu. Totesimme molemmat, ettei koodin laadusta ollut puhuttu missään. Ei koulussa eikä käymillämme kursseilla. Aina vain opetetaan, miten jollain tekniikalla tai kielellä koodataan. Päätimme, että seuraamme koodin laatua jatkossa säännöllisin palaverein. Valitettavasti suuren työmäärän vuoksi nuo palaverit tuppasivat usein siirtymään tai jäämään kiireellisempien töiden, yleensä asiakastöiden, jalkoihin. Asia jäi kuitenkin jälleen mieleni syövereihin kummittelemaan; ei voi olla, ettei koodin laatuun kiinnitetä riittävästi huomiota. Asialle olisi tehtävä jotain.

Talvi 2013-2014:

Yritykseen tuli uusi työntekijä loppuvuodesta 2013 ja hänestä tuli työurani toinen mentoroitava. Varsin pian huomasin, että joudun käymään hänen kanssaan samoja asioita läpi kuin ensimmäisenkin mentoroitavan kanssa: tuotanto-ohjelmiston laatu, kehittäjän itsensä tekemä testaus, virheiden korjaus, ohjelmiston konfiguroitavuus, hyvät koodauskäytännöt, koodin laatu, käyttöliittymän laatu ja niin edespäin. Tein mentorointia omien töiden ohessa (joita oli jo ennestään enemmän kuin riittävästi), joten läheskään aina mentoroitavan ollessa avun tarpeessa en pystynyt tarjoamaan hänelle riittävästi tukea. Harmittavaa sinällään, kun tietää kuinka tärkeää oppi kokeneemmilta kollegoilta on, jotta uudesta työntekijästä saataisiin nopeammin tuottava.

Kesä 2014:

Toista mentorointia oli takana noin puoli vuotta enkä ollut tyytyväinen panokseeni. Tyytymättömyys johtui riittämättömästä ajasta; mentoroitava olisi tarvinnut enemmän tukea kuin mitä pystyin antamaan. Tämä johtui siitä, että pomo halusi minun tekevän bisneksen kannalta tuottavaa työtä eikä ymmärtänyt mentoroinnin vaatimaa aikaa. Mietin usein, että onhan mentorointikin bisneksen kannalta tärkeää, jotta saadaan uudesta työntekijästä nopeammin tuottava koodari.

Aloin pohtia, kuinka saisin siirrettyä kertyneen kokemuksen uusille koodareille ilman, että jokaisen kohdalla tarvitsisi käydä samoja asioita läpi. Silloin heräsi ensimmäistä kertaa ajatus valmennusohjelman luomisesta. Mietin kirjoittavani e-kirjan sekä tekeväni mahdollisesti verkkokurssin, joiden pääkohderyhmänä olisi vastavalmistuneet koodarit. Niinpä aloin työstää e-kirjaa.

Nykyhetki:

Olen kirjoittanut e-kirjaa varsin pitkälle. Samalla olen kuitenkin huomannut, että asioiden saaminen haluttuun muotoon kirjaa varten ei ole aina yksinkertaista. Siksi aloin kehittelemään myös muita tapoja välittää tietoa eteenpäin ja sen seurauksena syntyi Parempi koodari™ -koulutus- ja valmennuskokonaisuus. Sen tarkoituksena on tehdä suomalaisista koodareista Parempia koodareita ja vaikuttaa sitä kautta Suomessa tuotettavien ohjelmistojen, sovellusten ja pelien laatuun sekä ylläpidettävyyteen. Kokonaisuuden tavoitteena on lisäksi antaa koodareille eväät, joilla he pystyvät vähentämään ylläpitoon kuluvaa aikaa ja käyttämään aikaansa siihen, mistä he oikeasti pitävät: uuden luomiseen.

Nyt marraskuussa 2014 toimintaa aloittaessani Parempi koodari™ -koulutus- ja valmennuskokonaisuuteen kuuluu Parempi koodari -kurssi ja Parempi koodari -mentorointi. Kesällä aloittamani e-kirja valmistuu lähikuukausina, jolloin se tulee mukaan tarjontaan.

Kooditerveisin


Jarkko

Parempi koodari™ -valmentaja

Write a comment

Comments: 0