Jokin aika sitten törmäsin Stevan Popovicin mainioon kirjoitukseen Arcs of Seniority – How to Become a Senior Developer, joka resonoi paljon omia ajatuksiani senior kehittäjän työnkuvasta. Suosittelen Popovicin artikkelin lukemista ennen tähän artikkeliin hyppäämistä, jotta saat paremman kokonaiskäsityksen siitä, mistä kirjoitan.
Seniorin työ on monipuolista
Popovic nostaa kirjoituksessaan esille senior kehittäjän neljä ulottuvuutta: itsenäisyyden, auktoriteetin, suunnittelun ja vaikutuksen ulottuvuudet. Aloittaessani aikoinaan keltanokkana ammattimaisen koodarin urani näin seniorit pelkästään itsenäisyyden näkökulmasta. Kyse oli siitä, kuinka itsenäisesti ja ilman toisten apua he pystyivät suoriutumaan annetuista työtehtävistä.
Hiljakseen aloin ymmärtämään, että senior-kehittäjyys on enemmän kuin vain itsenäisenä koodiapinana olemista. Kuten Popovicin mallista käy ilmi, kyse on mm. mentoroinnista, konsultoinnista, suunnittelusta, speksauksesta, auktoriteetista ja vastuusta. Kokenut kehittäjä pystyy toimimaan monipuolisemmin kuin junior.
Yksinkertaistenkin WordPress-sivustojen leiskat ovat vain puoli totuutta ja niiden takana on kokonainen näkymätön maailma vaatimuksia ja WordPressin asettamia reunaehtoja. Esimerkiksi suodatuksia sisältävän arkistonäkymän taitto selaimeen vaatii muutakin kuin vain kasan HTML:ää, CSS:ää ja JavaScriptiä. On tiedettävä jotain sivuston arkkitehtuurista. Missä kohtaa tietokannassa säilötään se tieto, jonka perusteella postauksia suodatetaan? Miten suodatus tapahtuu konepellin alla? Miltä tämä kaikki näyttää WordPressin hallinnassa? Seniorin tehtävänä on viettää aikaa tässä näkymättömässä maailmassa, jotta leiskassa näkyvä maailma on mahdollista toteuttaa.
Eivätkä kokeneen kehittäjän päivät kulu pelkkien teknisten asioiden kanssa puljailuun. Yllättävän paljon tulee kirjoitettua ihan vain suomea tai englantia. Kysyttyä joltakulta jotain ja vastattua jollekulle jotain. Näin koronaetäilyn aikana tätä tulee tehtyä vielä aiempaakin enemmän. Kyky ilmaista itseään ymmärrettävällä tavalla on senior-kehittäjälle yhtä oleellinen taito kuin puhtaan koodin tuottaminen.
Tiedä missä olet ja minne haluat mennä
Pyöräilemään oppii vain pyöräilemällä ja kokeneeksi kehittäjäksi tulee vain tekemällä. Jos haluat kasvattaa osaamistasi arkkitehtuurisessa suunnittelussa, hankkiudu säännöllisesti vastuuseen järjestelmien kokonaisvaltaisesta suunnittelusta – joko työn tai vapaa-ajan projektien kautta. Aika on paras faktori oppimisen ja kehittymisen suhteen. Kaikki aika ei kuitenkaan ole tasa-arvoista. Pelkkä viiden vuoden kokemus WordPress-sivustoista ei vielä kerro välttämättä yhtään mitään. Kyse on myös tuon kokemuksen laadusta, syvyydestä ja monipuolisuudesta. Itse olin onnekkaassa asemassa päästessäni keltanokkana Valun kaltaiseen yritykseen töihin, jossa projekti toisensa jälkeen haastoi osaamistani aina uudella tavalla.
Popovicin kuvaamat ulottuvuudet voivat myös auttaa oman osaamisen kehittämisessä – on sitten junior tai senior kehittäjä. Laittamalla ulottuvuudet koordinaatistoon niin, että jokainen ulottuvuus on oma akselinsa koordinaatistossa, pystyt hahmottamaan nykyistä osaamistasi paremmin. Millainen kuvio sinun osaamisestasi tällä hetkellä piirtyy? Vastaako se tämänhetkistä työnkuvaasi tai toiveittesi työnkuvaa?
Ihmiset ovat erilaisia ja siksi myös jokainen polku senior kehittäjäksi on erilainen. Itsenäisyyden, auktoriteetin, suunnittelun ja vaikutuksen ulottuvuudet jättävät riittävästi väljyyttä inhimillisen erilaisuuden hyväksymiseen ja hyödyntämiseen. Joku voi keskittyä mieluummin järjestelmien arkkitehtuuriseen suunnitteluun, kun taas toinen ottaa mieluummin kantaa työn organisointiin, resurssointiin ja prosesseihin liittyviin kysymyksiin.
Mitä mieltä itse olet Popovicin esittelemästä neljästä ulottuvuudesta? Resonoivatko ne myös sinun kokemustasi vai puuttuuko mallista mielestäsi jokin olennainen aspekti?