Softanvääntäjä, juokse tai kuole – lisää ajatuksia ohjelmistoalan kehityksen kelkassa pysymisestä

Edellisessä blogauksessani alustin ajatuksia siitä, miten softa-ammattilainen pysyy kyydissä, kun alan kehitys laukkaa eteenpäin suu vaahdossa. Tässä osassa jatketaan muun muassa tiedon hankkimisesta, työn ja levon tasapainosta ja tavoitteellisuudesta.

Työkaluja kehittymiseen

Verkostoituminen, sparraus, mentorointi. Kaikenlainen ajatusten kierrättäminen oman pään ulkopuolella aiheuttaa oppimiseen kvanttiloikan. Jos jokin asia tuntuu pässinlihalta, koitapa selittää se toiselle. Tässä vaiheessa huomaat yleensä, miten paljon kysymyksiä ja puuttuvia ajatuksia sinulla aiheesta on. Osallistu vapaaehtoisena muiden projektien katselmointeihin. Tutustu muiden työhön. Jaa osaamistasi, pidä koulutuksia, opeta muita. Se pakottaa sinutkin oppimaan asiat syvällisesti. Mene lounaalle firman teknologiaan intohimoisesti suhtautuvan propellihattujengin kanssa. Tunnista huippuosaajat, seuraa ja vakoile ja assimiloi. Ihminen oppii matkimalla, pikkulapsesta lähtien. Vältä kateusansa: jos työkaverisi ovat sinua fiksumpia, se on vain hyväksi sinulle.

Etsi hyviä tiedon lähteitä kuten stackoverflow, foorumit, twitter ja blogit. Kunhan vain löydät ne oikeat marjapaikat, internetissä on upeita tiedon kultahippusia enemmän kuin kenenkään päähän mahtuu. Blogikirjoituksia, joiden veitsenterävät ajatukset saavat sielusi huutamaan hoosiannaa ”noin juurihan se asia on”. Tekstejä, joita lukiessasi pilvet väistyvät ja häikäisevä valonsäde lankeaa alas kaaoksen maailmaan tuoden mukanaan kristallinkirkkaan selvyyden. Kun löydät näitä aarteita, lisää sivu kirjanmerkkeihin ja vaali sitä visusti palaten säännöllisesti lukemaan lisää terveellisiä ajatuksia mielesi ravinnoksi.

Itse käytän muun muassa seuraavia lähteitä:

Lisäksi rekisteröidyn käyttämieni kirjastojen ja projektien postituslistoille tai foorumeille ja kyselen rohkeasti tyhmiä.

Joka hetki jossain päin maailmaa joku keksii tavan tehdä asiat hieman paremmin ja fiksummin. Nykyään nämä edistysaskeleet ovat netin ansiosta erittäin nopeasti ja demokraattisesti kaikkien hyödynnettävissä. Tehokkailla tiedon hakemisen taidoilla on aivan ratkaiseva merkitys.

Leipätyön ja harrastamisen limittyminen on ohjelmistoalalla melko yleistä. Erityisesti alaan intohimoisesti suhtautuvat jatkavat usein erilaisten (avoimen lähdekoodin) harrasteprojektien parissa vapaa-ajallakin. Lisäksi kirjoitetaan blogeja, osallistutaan keskusteluihin eri foorumeilla, ja jonkinlainen some-läsnäolokin tuntuu melkein pakolliselta. Vapaa-ajan toiminta tarjoaa erinomaisen tilaisuuden täydentää työajalla tapahtuvaa opiskelua. Näin saa tutkia uusimpia teknologioita ilman projektien aiheuttamia rajoitteita ja tulospaineita. Myös työpaikalla ja työajalla voidaan edistää vapaampaa opiskelua. Asiasta kiinnostunut ryhmä voi järjestää coding dojoja tai tietty osuus työajasta voi olla varattu googlemaisiin ”harrasteprojekteihin”. Ihminen oppii leikkimällä, pikkulapsesta lähtien.

Henkilökohtaisesti kuitenkin ajattelen, että tässä liikutaan jo vaarallisten vesien lähistöllä. Onko IT-ammattilaisella oikeus olla töissä 37,5 tuntia viikossa vai päädytäänkö pikkuhiljaa siihen, että jossain työn ja vapaa-ajan välimaastossa kellutaan 112 tuntia viikossa? Olisikohan meillä edelleen kuusipäiväinen työviikko, jos 50 vuotta sitten työväki olisi koostunut tämän päivän innokkaista koodareista? Mielestäni säännöllisen työajan pitäisi mahdollistaa se, että työläinen pysyy kehityskäyrän kyydissä ja mielellään hieman sen yläpuolellakin. Ekstraa saa olla päälle, mutta se ei saa olla vaatimus tai edellytys.

Aseta tavoitteita

Aseta itsellesi tavoitteita ja seuraa niiden toteutumista. Kliseisesti, mieti millainen ammattilainen haluat olla viiden vuoden kuluttua. Jos haluat koodata edelleen Emacsilla kuten teit vuonna 1999, se on ihan OK, kunhan et päädy tähän jamaan sattumanvaraisesti ilman tietoista valintaa.

Viiden vuoden päähän matkustetaan yksi työpäivä, yksi kahvipaussien välinen jakso, yksi koodirivi kerrallaan. Määränpää saattaa pitkällä marssilla hetkittäin unohtua ja voit päätyä kiertämään kehää samojen puiden ympäri, synkässä legacykoodin korpimetsässä, uudestaan ja uudestaan. Välillä kannattaa pysähtyä hetkeksi, ottaa kompassi käteen, ja miettiä mihin olitkaan matkalla.

  • Pyri oppimaan joka päivä jotain uutta. Pienistä parannuksista kertyy iso vaikutus. Jos opit joka päivä jonkin kikan, joka auttaa sinua tekemään työt 30 sekuntia nopeammin, viiden vuoden kuluttua voit aamulla työpaikan ovelle päästyäsi kääntyä samantien takaisin kotiin. Päivähän on jo pulkassa.
  • Harjoittele, epäonnistu ja opi epäonnistumisista. Jos pysyt koko ajan ”comfort zonella” teet vähemmän virheitä, mutta oppimistahti heikkenee huomattavasti.
  • Ole kärsivällinen. Kokemusta ei voi sivuuttaa. Mantra sanoo, että ekspertiksi tullaan 10000 tunnin harjoittelulla. Jos ajatellaan, että työpäivästäsi 2/3 menee ”core softataitojen harjoitteluun” ja loput asioihin, jotka eivät ole pitkässä juoksussa ydinosaamistasi (kuten matkalaskujen täyttäminen), kestää 10000 harjoitustunnin kerääminen 10 vuotta.
  • Siinä vaiheessa kun kokemusta kertyy, pyri välttämään muumiotauti ja kaiken uuden vastustaminen psykologisena suojamekanismina. Kaikki 80-luvun jälkeen tehty musiikkihan on tunnetusti silkkaa p*skaa, mutta softa-ala menee ihan oikeastikin eteenpäin massiivista vauhtia. Vaikka uudet hypetermit kuten big data tai olio-ohjelmointi nostaisivat karvat pystyyn, kannattaa pitää oma muutosvastarinta aisoissa.
  • Etsi teknologioita ja työskentelytapoja, joista pidät, ja jotka tekevät työstäsi mielenkiintoisempaa. Pidän TDD:stä. Vaikka se ei itsessään suoraan parantaisikaan tuottavuuttani tai tuottamani koodin laatua, se tekisi niin välillisesti, koska nautin työskentelystä enemmän ja pääsen flow-tilaan paremmin.

Linkkejä: