Leikkasiko lanttu vai leikkaisinko laattoja?

17.08.2023 10:56:08
Mitäs tässä leikataan?

Tätä kirjoittaessa ammattikoodarin uraa on takana hieman reilu vuosi. Siksipä onkin hyvä hetki reflektoida mihin pisteeseen on päätynyt ja mihin suuntaan tästä hetkestä jatketaan. Itsereflektio on hyvä apuväline omaan ammatilliseen kehittymiseen, sillä elettyä elämää ei voi refaktoroida kuten koodia. Toisaalta itsereflektio parhaassa tapauksessa johtaa refaktoroinnin kaltaiseen tilanteeseen, missä omista toimintatavoista kehittyy selkeämpiä ja paremmin optimoituja.

Yksi hyvä esimerkki on koodin kanssa jumissa olemisen tunnistaminen. Jos missään vaiheessa ei pysähdy miettimään omia koodijumejaan, niihin kokonaisuudessaan hukattu aika kasvaa valtavasti ajan saatossa. Ensimmäinen kysymys koodijumiin liittyen on: ”Kauanko saan olla jumissa?”. Vai onko se sittenkään ensimmäinen kysymys? Ehkäpä ensimmäisen kysymyksen pitäisi olla: ”Olenko minä nyt jumissa?”. Kumpaankaan kysymykseen ei ole mielestäni helppoa ja yksiselitteistä vastausta. Tiukan aikarajan asettaminen voi luoda turhia paineita käsillä olevan haasteen ratkaisemiseksi ja näin ollen jopa edesauttaa koodijumin muodostumista. Toisaalta se voi myös johtaa liian pikaiseen avun kysymiseen ja omat ongelmanratkaisutaidot eivät pääse kehittymään, kun joku kokeneempi ratkaisee haasteen puolestasi. Jonkinlainen aikaraja on kuitenkin hyvä asettaa, jonka täyttyessä voi kysyä apua.

Sopivan aikarajan asettaminen onkin sitten haastavampaa. Painikkeen muotoilun tai oikeaan paikkaan saamisen ”Hei olen jumissa, auttakaa!” aikarajan tulisi luonnollisesti olla pienempi, kuin tilanteen, jossa rakennat monimutkaista ja optimoitua tietokantakyselyä. Välillä on myös tilanteita, jolloin ei ymmärrä olevansa jumissa, vaan ratkaisee haastetta väärällä tavalla tai väärään suuntaan. Siksi onkin tärkeää välillä pysähtyä miettimään omaa tekemistä, jotta osaa jatkossa tunnistaa paremmin, milloin on riittävän jumissa. Erityisesti silloin, jos pääasiallinen vastuu junnu koodarin jumituksien tunnistamiseen on junnu koodarilla itsellään.

Paras lääke tähän (kuten moneen muuhunkin oppimiseen) on aika. Riittävän monta yrityserehdys sykliä, kun käy läpi, niin väistämättä sieltä alkaa löytyä oikeansuuntaiset työkalut koodijumin tunnistamiseen. Valitettavasti koodauksenkaan opettelussa ei ole behavioristisen oppimiskäsityksen tapaista hopealuotia, jolla yhdellä taianomaisella tavalla sanomalla asiat jäisivät kerrasta mieleen. Olkaamme siis hyvillä mielin jumissa, riittävän pitkään, riittävän monesti, jotta opimme tunnistamaan, milloin olemme liian pitkään tai ylipäätään jumissa, koska silloin opimme myös pyytämään apua riittävän matalalla kynnyksellä. Nyt alkaa näyttämään siltä, että tässä jumitutaan pelkästään jumittamiseen, joten eiköhän siirrytä eteenpäin.

Vuoden koodailun jälkeen tuntuu siltä, että jotain on oppinut, mutta opittavaa on vielä aivan valtavasti. Perusasioiden tekeminen alkaa sujumaan, vaikka välillä pakollinen kirjoitus vihe muuttujan tai funktion nimessä vie tarpeettomasti aikaa. Junnu koodarina on hyvä pystyä hyväksymään se tosiasia, että on aika huono, no oikeastaan rumasti sanottuna ”ihan paska”. Jos näin ei olisi, niin eihän meillä mitään osaavien seniori koodareiden pulaa olisikaan. Tämän ajatuksen ja asenteen, kun hyväksyy, se voi madaltaa avun kysymien kynnystä, helpottaa omaa olotilaa ja vähentää pakonomaista painetta onnistumiseen. Koodaaminen on luovaa tekemistä, joten kaikenlainen tarpeeton (ulkoinen tai sisäinen) paine hidastaa tekemistä ja oppimista.

Tärkein anti kuluneesta vuodesta on se, että on päässyt toteamaan alan olevan oikea itselle. Haasteiden ratkominen kaikessa turhauttavuudessaan on erittäin palkitsevaa. Yllättävintä on ollut huomata miten raskaalta päivä voi tuntua. Koko päivän, kun koodaa kovalla sykkeellä ja tiukalla keskittymisellä, on fiilis miltei sama, kuin olisi päivän laatoittanut. Siksipä myös koodarina, vaikka työ vaikuttaa kevyeltä tietokoneen edessä istumiselta (tai seisomiselta) ja näppäimistön näpyttelyltä on tärkeää huolehtia omasta jaksamisesta ja hyvinvoinnista. Vaikka työ ei ole fyysisesti raskasta se ei tarkoita sitä, etteikö se olisi muutoin kuluttavaa ja kuormittavaa.

Blogin aiheen kysymykseen uskaltaakin todeta, että kyllä se lanttu ihan riittävästi leikkasi, eikä näillä näkymin ole tarve palata leikkaamaan laattoja.

Muita blogeja tältä tyypiltä

Ohjelmointikielen valinta - Millä kannattaa aloittaa?

Tekisikö mielesi opetella ohjelmointia, mutta et osaa päättää minkä ohjelmointikielen valitset? Jos vastasit kyllä, niin yksi merkittävimmistä päätöksistä alussa on "oikean" ohjelmointikielen valinta. Kummin, kaiman tai kaverin suosituksesta valittu kieli ei välttämättä kiinnosta riittävästi jolloin koodaaminen ja harjoittelu voi jäädä varsin vähäiseksi. Koodaamaan oppii vain tekemällä, joten ensimmäiseksi kieleksi kannattaa valita se, joka itseä kiinnostaa eniten muiden mielipiteistä välittämättä.

Lukaseppa

Tuliko taas koodattua spagettia?

Onko koodarin ruokavaliolla vaikutusta siihen miten paljon spagettikoodia syntyy? Entä vaikuttaako spagetti koodarin vatsassa samalla tavalla kuin spagettikoodi projektissa?

Lukaseppa

Onko junnu koodarina töihin pääseminen haastavampaa kuin junnu koodarin työ?

Vanha vitsi työnhakuun liittyen on, että työllistyäkseen pitää olla työkokemusta ja työkokemusta saa hankittua vain olemalla töissä. Moniin junior tason paikkoihin kokemusta vaaditaan yhdestä kolmeen vuotta.

Lukaseppa