Riittääkö vuoden tai parin harjoittelu tekemään hyvän devaajan?
Arvaat vastauksen, mutta ennen kuin menemme sinne asti, pohjustetaan vähän. Taannoin pohdimme hyvän devaajan anatomiaa omalla porukalla. Nyt tuli vastaan sopivan ytimekäs Quora-artikkeli samasta aiheesta, tai oikeastaan kaksi artikkelia samalta kirjoittajalta Richard Kenneth Eng. Ihan kelpo kiteytyksiä ovat.
No, riittääkö vuoden tai parin harjoittelu tekemään hyvän devaajan? Ei tietenkään*, mutta miksi?
Devaajaksi oppimisen kaksi vaihetta
Richardin mielestä se, että pienellä koodin hinkkaamisella pääsee näppärästi huippudevaajaksi ja huippuliksoille, on tietojenkäsittelyn opiskelijoiden yleisimpiä – ja älyttömimpiä - harhaluuloja. Oppilaitosten tehtävä olisi hänen mielestään vääntää opiskelijoille rautalangasta kaksivaiheista prosessia, jolla pätevöidytään ohjelmointihommiin:
Opetellaan ohjelmoinnin peruskäsitteet ja tehdään tehtäviä. Tämä on yliopistojen sekä muiden devaamista opettavien laitosten ja kurssien perustehtävä. Koulussa opetetaan perusteet ja tehdään harjoituksia, mutta mikään koulussa annettava määrä opetusta ei sellaisenaan riitä pätevöittämään devaajaa huipputasolle.
Harjoitellaan käytännön elämässä lisää, paljon lisää. Tämä osuus jää devaajan omalle vastuulle. Mitä enemmän koodia kirjoittaa, sitä enemmän taidot karttuvat. Eikä apuna yleensä ole opettajaa tai muuta kädestäpitäjää, joten ratkaisut ja hyvät neuvot pitää etsiä ja kaivaa itse.
Kakkosvaihe on hankala siksi, että se sisältää sekä paljon ajankäyttöä että sisällöllisesti haastavia pulmia.
Ajankäyttö tuli jo mainittua. Vuosi tai pari saattavat riittää pätevöittämään tyypillisen devaajan ”ok”-tasolle, mutta useimmiten todella päteväksi hioutuminen vaatii vuosia ja vuosia täyttä duunia. Ihannetapauksessa joku maksaa siitä, mutta sekin on mahdollista, että taitojen hiomista joutuu tekemään ihan omalla ajallaan iltalampun valossa.
”Ohjelmointi on ongelmanratkaisua, koodaaminen kielentämistä”
Toisessa Quora-postauksessaan Richard Kenneth Eng pohtii vastausta kysymykseen ”mitä koodaaminen on” (”What is coding all about?”). Koska nämä kaksi vastausta selkeästi liittyvät toisiinsa, referoidaanpa toistakin tähän.
Richardin mielestä ’koodaaminen’ on harhaanjohtava sana. Ihmiset käyttävät ohjelmointia ja koodaamista puhekielessä synonyymeinä, mutta siinä missä ’ohjelmointi’ on ongelmanratkaisua, jonka lopputulema on algoritmi, ’koodaaminen’ on vain ratkaisun ilmaisemista valitulla ohjelmointikielellä, siis eräänlaista kielentämistä.
Kommenttikentässä joku ehättää nopeasti huomauttamaan, että ohjelmointikielen valinta vaikuttaa myös itse ongelmanratkaisuprosessiin, mikä onkin totta. Aivan suoraviivaista eron tekeminen ohjelmoinnin ja koodaamisen välillä ei siis ole, mutta hyvien devaajien arviointikeskustelussa erottelu on hyödyllinen: ”Koodaaminen” voi vielä olla melko helppoa ja mekaanista, mutta kun kuvaan astuu elävän elämän ongelmanratkaisu, asiat eivät enää olekaan niin yksinkertaisia.
Ja nimenomaan luovasta ongelmanratkaisukyvystä hyvässä devaamisessa on kyse.
P.S. Ja koska joku kuitenkin miettii nyt, miten ’devaaminen’ istuu tähän sana- ja käsitekimaraan, senhän voisi ajatella vaikka näin: Suomessa koodaamista ja devaamista käytetään pitkälti synonyymeinä, mutta jos halutaan oikein halkoa hiuksia, ’devaaminen’ on oikeastaan lähempänä ongelmanratkaisua kuin ’koodaaminen’, koska sana tulee englannin sanasta ’software development’, ohjelmointi. Tästä semanttisesta viisastelusta tuskin on mitään hyötyä kenellekään, mutta tulipa nyt sanottua.
*No on meillä muutama nuorikin huipputekijä, mutta noin keskimäärin.
Lue myös: