Skip to main content
Takaisin

Miksi jokainen kehitystiimi tarvitsee myös junioreita? Viisi hyvää syytä

 Otto Teinonen
Kirjoittaja Otto Teinonen
Miksi jokainen kehitystiimi tarvitsee myös junioreita? Viisi hyvää syytä

Kun ostat ohjelmistohanketta, saatat ajatella, että unelmien koodaritiimi koostuisi pelkistä pitkän linjan asiantuntijoista. Parhaat tulokset saavutetaan kuitenkin silloin, kun mukana on sopiva yhdistelmä kokeneita tekijöitä ja työuraansa aloittavia. Otto Teinonen listaa siihen viisi hyvää syytä. 

Ohjelmistokehityspiireissä keskustellaan jatkuvasti juniorikehittäjien roolista projektitiimeissä. Sana “juniori” tarkoittaa karkeasti ottaen kehittäjää, jolla ei vielä ole useiden vuosien työkokemusta. Hän tekee työtään pidemmälle ehtineen kollegan – seniorikehittäjän – ohjauksessa.

Cinian kaltaisessa ratkaisutalossa tiimi koostetaan laajasta ohjelmistoammattilaisten joukosta vastaamaan asiakasprojektin vaatimuksiin. Väitän, että myös sellaisissa tilanteissa, joissa olisi mahdollisuus poimia mukaan vain seniorikehittäjiä, mukaan kannattaa ottaa yksi tai useampi uransa alkutaipaleella oleva. Havainnollistan seuraavaksi tätä kokemuksillani työuran eri vaiheista.

 

1. Juniorille kaikki on uutta

Ensimmäiset työtehtäväni ohjelmistokehittäjänä olivat yksinkertaisten Javascript-laskureiden toteutuksia verkkosivuille. Hoidin myös tukipyyntöjen selvityksiä ja korjauksia. 

Vanhemmat kehittäjät inhosivat tällaisia pikkunakkeja, koska ne olisivat tarkoittaneet keskeytyksiä tuotekehitystyöhön. Itselleni jokainen pyyntö oli uusi aivopähkinä ratkaistavaksi. Minuun ei kohdistunut suuria odotuksia tuotekehityksen suunnalta, joten tiesin, että saisin juniorina keskittyä tehtäviini ilman stressiä. 

Virheiden tunnistaminen ja korjaaminen on tärkeä osa jokaista kehitysprojektia. Seniori on ratkonut samankaltaisia ongelmia rutiininomaisesti jo satoja kertoja. Juniorille rooli on mahdollisuus uuden oppimiseen. Monipuolisessa tiimissä jokainen pääsee keskittymään sopivassa suhteessa omalla mukavuusalueella ja sen ulkopuolella oleviin tehtäviin.

 

2. Juniori on huomisen seniori

Aloittaessani junior developerina minulla ei ollut vielä tarkkoja tulevaisuudensuunnitelmia. Kun osaaminen karttui, sain vastuulleni yhä haastavampia tehtäviä ja isompia kokonaisuuksia. 

Kun tiimistämme siirtyi muutama kokenut tekijä kohti uusia haasteita, oma osaamiseni alkoi olla jo hyvällä tasolla. Pystyin ottamaan heiltä jääneitä töitä itselleni paljon helpommin, kuin kukaan ulkopuolinen. Tämä oli itselleni hyvä etenemisaskel uralla ja takasi hiljaisen tiedon pysyvyyden projektissa. Yrityksen näkökulmasta se tarkoitti myös yhtä haastavaa seniorikehittäjän rekrytointia vähemmän.

Kaikkein parhaidenkin yritysten ja projektitiimien pitää pystyä varautumaan henkilövaihdoksiin. Vaihtuvuutta pystyy vähentämään, jos projektitiimiläisillä on luonnollisia reittejä uusiin, haastavampiin tehtäviin tiimin sisällä. Jos seniorikehittäjä tai arkkitehti vaihtaa työpaikkaa, eikä tiimistä löydy paikkaajaa, siirtymäaika voi venyä sekä asiakkaan että kehitystiimin näkökulmasta liian pitkäksi.

Lue myös: Product Owner eli tuoteomistaja ohjelmistoprojektissa: Mitä, miten ja miksi?

 

3. Juniori osaa kyseenalaistaa

Jokainen seniorikehittäjä muistanee uraltaan hetken, jolloin tiimin uusi jäsen on seurannut kamppailua jonkin hankalan ongelman kanssa ja kysynyt: "Etkö sä voisi vaan ...?" ja vanhempi kehittäjä on tajunnut että "Itse asiassa, kyllä mä voisin vaan". 

Tein aiemmassa työpaikassani pitkään töitä kokeneemman kehittäjän työparina ja meillä oli selkeä työnjako: Hän opetti minulle kaikki ennen vuotta 2012 olemassa olleet työkalut ja minä hänelle kaikki vuoden 2012 jälkeen julkaistut. Minä olin varmasti voittavana osapuolena tässä vaihtokaupassa, mutta uskoisin vahvasti oppimisen olleen molemminpuolista.

Haluathan, että myös sinun projektissasi osataan kyseenalaistaa keisarin uudet vaatteet? Kehittäjät ovat tavallisesti kiinnostuneita uusista teknologioista. On silti inhimillistä tottua katsomaan asioita tietystä näkökulmasta. Juniorikehittäjät tulevat töihin lähes suoraan koulun penkiltä, jossa he ovat altistuneet uusille teknologioille ilman menneisyyden painolastia. He ovat viettäneet aikaa ympäristöissä, joissa uudet ideat, teknologiat ja työtavat leviävät kuin influenssa. Työelämään siirrettynä tämä on uskomaton vahvuus, jota kehitystiimin kannattaa hyödyntää.

 

4. Koodaaminen on käsityöläisammatti

Useamman kerran juniorityökaverin "tyhmä kysymys" on vienyt minut perehtymään koodiin juuria myöten pitkälle iltaan. Uudelleenkirjoituksen aikana kasvojeni väri on vaihdellut punaisesta kalmankalpeaan. Toisaalta joskus keskusteluissa päädytään lopulta siihen, että nykyinen toimintatapa on perusteltu ja järkevä. Nekin hetket ovat olleet itselleni senioritekijänä oleellisia. On hyvä avata omia ratkaisujaan kohta kohdalta ja selittää syyt ääneen. Opettamalla usein oppii parhaiten. 

Seniorien ja juniorien yhteistyö kehittää osaamista ja ohjelmistojen laatua pitkällä aikajänteellä. Ohjelmoinnista puhutaan usein tietotyöajan käsityöläisammattina. Valmistamme koneiden avulla tuotoksia, joita kone ei yksin osaa tehdä. Luova työ onkin järkevää organisoida, kuten vanhassa kisälli-oppipoika-mallissa. Nuorempien kehittäjien mentorointi ei ole tärkeää ainoastaan mentoroitaville vaan myös mentoreille itselleen.

Mentorointi onkin tärkeä askel matkalla vaikkapa lead developerin rooliin, jossa mentoroidaan käytännössä kokonaista tiimiä. Mikäli koko kehitystiimi koostuu senioreista, riistetään kehittäjiltä tämä mahdollisuus oppimiseen. Tästä seuraava näköalattomuus voikin olla merkittävä riskitekijä henkilöstövaihtuvuudelle.

 

5. Kokemusvuosien kirjo tiimissä vähentää kustannusriskejä

Viime vuosina kokeneiden ohjelmistokehittäjien työmarkkinat ovat käyneet todella kuumina. Ohjelmistohankkeille on kysyntää, eikä yhdessäkään palveluyhtiössä ole parhaita tekijöitä penkillä odottamassa uusia projekteja. Palkkakilpailu sekä aikaa ja rahaa vievät suorahaut ovat perusteltuja ja välttämättömiä, mutta ennen pitkää niiden kustannukset siirtyvät asiakkaiden kontolle. 

Junioreita rekrytoidessa hyviä hakijoita voi olla tarjolla runsaastikin. Osaaminen ei vielä ole samalla tasolla, mutta asiakas saa tuntityötä hieman edullisemmin. Ollakseni realisti, juniorien ottaminen mukaan vaativaan ohjelmistokehitykseen vaatii toki investointeja: parempaa teknistä dokumentaatiota, hyvin määriteltyjä työtapoja ja mentoroinnin järjestämistä. Nämä investoinnit ovat yleensä kuitenkin kannattavia, vaikka tiimissä ei olisikaan junioreita.

Jos organisaatiosi pystyykin tänään ostamaan projektin, joka tehdään pelkästään seniorien voimin, pystyttekö tekemään sitä huomenna? Juniorien kyky toimia projektitiimissä on hyvä testitapaus myös tiimin kyvylle selviytyä henkilövaihdoksista. Tätäkään asiaa et halua testata tuotannossa!

Lue myös: Vältä piilokustannukset, kun uudistat sote-tietojärjestelmiä

 

Taustalla töiden fiksu organisointi

Juniorikehittäjät eivät ole homogeeninen ihmisryhmä, eivätkä he varsinkaan ole loputtomiin puurtavia nakkikoneita. Miltä optimaalinen projektitiimi sitten näyttääkin, taustalla täytyy olla työkulttuuri, jossa jokainen saa toiveensa mukaan lisää vastuuta ja uusia rooleja sitä mukaa, kun osaaminen kertyy. 

Ei ole yhtä nyrkkisääntöä siihen, millaisella suhdeluvulla tiimi kannattaa rakentaa. Tärkeintä on tunnistaa projektin erityispiirteet. Voidaan kuitenkin ajatella, että seuraavaa sääntöä noudattamalla ei voi mennä pahasti pieleen:

  • Tavallisissa kehityshankkeissa voi työskennellä yksi juniori kahta vanhempaa kehittäjää kohden. 
  • Kompleksisissa projekteissa, joissa tarvitaan enemmän ohjausta, mukaan kannattaa ehkä ottaa yksi uusi tulokas neljää senioriasiantuntijaa kohden.
  • Kaikkein kriittisimpien hankkeiden riskialtteimmat osuudet on ehkä viisasta hoitaa yksinomaan senioridevaajien voimin.

 

Tunnetko Cinia Boost Academyn?

Cinialla on mahdollisuus hyödyntää kokoaan ja kokemustaan juniorikehittäjien rekrytoinnissa. Noin vuosi sitten kokosimme parhaat käytännöt Cinia Boost Academyn alle, ja palaute on ollut hyvää. Mukaan valitaan kerran vuodessa parhaat kandidaatit satojen hakijoiden joukosta. 

Ennen asiakasprojekteihin siirtymistä CBA:laiset käyvät koulutusjakson ja tekevät harjoitustyön. Näin ehditään rauhassa varmistaa, että jokaisella on toimivat työvälineet, kyky tuottaa toimivaa ohjelmakoodia sekä ymmärrys yleisistä käytännöistä, kuten tietoturvasta. Sen jälkeen juniorikehittäjiät ovat valmiita antamaan työpanoksensa projekteihin, joissa juuri heidän osaamiselleen on tilausta. Voi siis sanoa, että Cinian juniorikehittäjät ovat parasta (CB)A-ryhmää.

Mietitkö räätälöidyn ohjelmistoratkaisun hankkimista? Ota yhteyttä, niin jutellaan lisää!

 Otto Teinonen
Kirjoittaja Otto Teinonen Tuotannon kehityspäällikkö Otto Teinonen on entinen junior developer, senior developer ja CTO.

Sinua voisi kiinnostaa