Tag Archives: Ohjelmistokehitys

Miten juniori, keskitason ja seniori- ohjelmoijat eroavat?

Ohjelmistokehittäjistä puhuttaessa puhutaan usein junnuista ja senioreista, ulkomailla väliin mahtuu satunnaisesti “intermediate”-tittelikin, ja kaikki ymmärtävät suurinpiirtein, mistä puhutaan. Tässä artikkelissa tutkaillaan miten ohjelmoijat eroavat toisistaan ja edellä mainittuja termejä hieman perusteellisemmin .

Ohjelmistokehittäjien tasoa määritetään ainakin kahdelta suunnalta. Tarjouspyynnöissä se määrittyy useimmiten kokemusvuosina. Kollegoiden ja esimiesten kannalta oleellisempaa on kehittäjien kyky ratkoa ongelmia ja ottaa vastuuta, sekä se, mitkä teknologiat koodari hallitsee. Näin ollen siis, pelkät kokemusvuodet eivät pelkästään määritä kunkin ohjelmoijan tasoa ja titteli voi heijastaa muutakin kuin virkaikää.

Junioritaso/ Junior Developer

Junioritasolla tarkoitetaan yleensä niitä ohjelmoijia, jotka ovat juuri valmistuneet koulusta ja aloittelevat työelämässä. Yksi yleinen määritelmä on, että junioreita ovat ne devaajat, joilla on alle kaksi vuotta kokemusta ohjelmointityöstä.

Kokemusvuosia osuvampi määrittely junioritasolle on se, että “juniorius” linkittyy kokemuksen lisäksi henkilön tapaan ajatella projekteja sekä tehtävien töiden laajuuteen ja niiden suorittamiskykyyn. Juniorille toimiva koodi ja hyvä koodi tarkoittavan yleensä samaa ja työtehtävinä hän kykenee suorittamaan yksinkertaisia projekteja, nojaten tarvittaessa jonkun apuun ja ohjaukseen.

Keskitaso / Intermediate Developer

Keskitason ohjelmoija on yleensä noin 2–5 vuoden kokemuksen omaava tekijä, joka kykenee ottamaan haltuunsa monimutkaisempia tehtäviä ja laaja-alaisempia projektivastuita. Keskitason ohjelmoija kykenee myös ottamaan kokonaisen projektin vastuulleen, mikäli projekti on suhteellisen pieni.

Keskitason ohjelmoijat voivat olla teknisesti hyvinkin taitavia ja kykenevät ratkaisemaan monimutkaisempiakin ongelmia. Suurin ero keskitason ja junioritason tekijän välillä tulee teknisen osaamisen ja ongelmanratkaisutaidon kehittymisen myötä, kun taas keskitason ja seniorin eroksi osoittautuukin useimmiten ajattelumaailman kehittyminen.

Senioritaso/Senior Developer

Senioritason ohjelmoija omaa lähemmäs 10 vuoden ohjelmointikokemuksen. Senioritason ohjelmoija on oppinut hallitsemaan kehityssyklin ja on myös ekspertti omissa teknologioissaan.

Senioritason ohjelmoija kykenee autonomiseen työskentelyyn sekä ottamaan suunnittelu-  ja delegointivastuuta projektista. Seniori kykenee myös toimimaan mentorina keskitason ja junioritason ohjelmoijille. Seniori on ajattelultaan kehittynyt ja ymmärtää, kuinka kasvulle on aina tilaa ja kuinka hyvä sovellus on sekä toimiva että valmis uudelleen käytettäväksi ja kehitettäväksi.

Senioritason ohjelmoija on myös osaava ja tehokas ongelmanratkaisija. Hän ymmärtää, etteivät kaikki ongelmat ratkea heittämällä koodia sitä päin: sen sijaan seniori osaa ratkoa ongelman työskentelemällä yhdessä tiimin kanssa ja katsoo ongelmaa koodin käytön ja uudelleenkäytön näkökulmasta.

Ohjelmoijan osaamisen neljä keskeistä ulottuvuutta

Stevan Popovic listaa ohjelmoijan senioriteetin keskeiset tekijät ansiokkaassa artikkelissaan ”Arcs of Seniority” seuraavasti:

Siinä kun juniorin täytyy tukeutua useammin toisiin ja kysyä neuvoa, seniori pystyy itsenäisempään työskentelyyn.
Juniorin huomio keskittyy pääasiassa omiin tehtäviin, kun taas seniorin työn vaikutuspiiri on laajempi ja hänen täytyy miettiä myös oman työn vaikutusta toisten työhön.
Juniori koodaa pääasiassa yksittäisiä toimintoja. Seniori osaa ajatella koodiansa enemmän arkkitehtuurina ja rakenteina.
Juniorin harteille annetaan vastuuta maltillisesti, mutta kun osaaminen kasvaa, kasvavat myös auktoriteetti ja annetun vastuun määrä.