‹ Takaisin Blogit-pääsivulle

Uusille urille – Webistä Androidiin

· Blogi · IT-alan teemat · Työ IT-alalla · Eeva-Jonna Panula

Olen tottunut olemaan se, jolta tullaan kysymään vastauksia kinkkisempiinkin teknisiin ongelmiin. Viisi vuotta Reactin ja muiden fronttiteknologioiden parissa ovat tuoneet paljon tietoa ja taitoa. Olen mukavuusalueellani, kun pääsen kirjoittamaan HTML:n syntaksia – oli se HTMLn tai TSX:n muodossa. Rakastan CSS:n kanssa leikkimistä ja käyttöliittymien rakentamista ja tyylittelyä. Ja ennen kaikkea rakastan saavutettavuusongelmien ratkaisemista koodin tasolla.

Pari kuukautta sitten minun oli tehtävä valinta: haluanko jatkaa senhetkisessä roolissani, joka oli menossa enemmän ja enemmän projektinjohdon tyyppiseen rooliin, vai siirrynkö koodaamaan – ei webbiä, vaan Androidia. Tämä siis, jos en halunnut käyttää kolmatta vaihtoehtoa, eli työpaikan vaihtoa.

Viimeinen vuosi saavutettavuusasiantuntijana ja osittaisena fronttikoodarina on ollut vaikea. Olen kuitenkin tullut siihen lopputulokseen, että ilman näitä vastoinkäymisiä en olisi pystynyt sanoittamaan sitä roolia, missä haluan olla. Englanniksi käyttäisin tästä roolista sanaa accessibility developer / engineer.

Kesälomia varjostivat muutosneuvottelut, ja niiden jälkeen olin jo lähes päättänyt, että työpaikan vaihto on edessä. Haastattelin muutamiin kiinnostaviin yrityksiin, ja olin asennoitunut lähtöön.

Sitten tulikin päivä, kun ilmoille nousi mahdollisuus: josko vaihtaisinkin Android-kehittäjäksi. Tämä konkretisoitui aika nopeasti siihen pisteeseen, että tein päätöksen jäämisestä – sainhan puhuttua itselleni rooliin mukaan myös koodausvastuuta saavutettavuusparannuksista.

Olen ollut tässä uudessa roolissa nyt parisen kuukautta, ja ensimmäinen minun kehittämäni toiminnallisuus on julkaistu. Ajattelinkin tässä blogipostauksessa hieman reflektoida näitä paria kuukautta, ja kirjoitella asioista joita olen huomannut. Aloitan itseni kehumisella, käsittelen sen jälkeen tiimityöskentelyä ja debuggausta, ja viimeisenä puhun ensimmäistä seuraavien kielten opettelemisesta – ja kuinka se on helpompaa kuin ensimmäisen.

Minä osaan

Tämän osion kirjoitan itselleni, jotta voin palata siihen niinä hetkinä kun epäilys omista taidoista varjostaa olemista. Jos et oikein välitä siitä, että joku kehuu itseään, suosittelen siirtymään seuraavaan osioon. Se on täysin ok.

Olen ottanut uuden kielen ja uuden alustan haltuun todella nopeasti, ja olen hiton ylpeä siitä. Olen pystynyt olemaan tuottava oikeastaan ensi hetkestä alkaen, ja tekemään laadukasta koodia. Tämän ei pitäisi oikeasti olla itselleni yllätys – tämä kun ei ole ensimmäinen kerta. Ekassa työpaikassani otin Reactin haltuun parissa viikossa ja kirjoitin ihan kelpoisaa koodia hyvin nopeasti. En tietenkään täydellistä, en sitä kirjoita vieläkään. Mutta hyvää siihen nähden, mikä kokemukseni oli.

Olen myös pystynyt korjaamaan saavutettavuusbugeja. Olen löytänyt tapoja, joilla kinkkisemmätkin ongelmat ovat ratkenneet, ja olen tällä hetkellä kohtuullisen itsevarma omien taitojeni kehittymisestä jatkossakin.

Yhtenä mahdollistajana tähän on ehdottomasti tiimi. Puhunkin siitä seuraavaksi.

Tiimityöskentely kantaa

Vaikka edellisessä osiossa kehuinkin itseäni, tosiasia on, etten pystyisi tähän yksin. Mentorini on jaksanut vastailla niihin vähän hupsuihinkin kyselyihin, ja kärsivällisesti selittänyt konsepteja. Ja ylipäänsä meidän Android-porukka on ottanut tällaisen vähän vähemmän tietävän erittäin hyvin vastaan. Apuja saa aina.

Toisaalta siirtyminen meidän Core Squadiin on tuonut ihan oikean tiimin, johon kuulua. Aikaisemmin meillä kyllä oli teoriassa Accessibility Squad, jossa olin vain minä. Se ei tuntunut tiimiltä, ja se myös vaikeutti toimintaa todella paljon. Nyt en ole yksin, ja se tuntuu todella hyvältä. On myös hienoa tehdä töitä niin osaavien ihmisten kanssa!

Debuggaustaidot kantavat pitkälle

Vaikka nyt puhun siitä, että “otan haltuun uuden kielen ja alustan”, totuushan on se, että olen Android-koodausta kokeillut silloin kun opettelin koodaamaan vuosia sitten. Minulla oli käytännössä kaksi opintopolkua, joita seurasin: Web ja Android. Satuin saamaan työpaikan webbikehityksen parista, ja se on määrittänyt uraani.

Yksi syy siihen, miksi en edes varsinaisesti hakenut Androidiin liittyviä töitä silloin vajaa kuutisen vuotta sitten, oli se että Android-kehitys tuntui todella vaikealta. Ei ole yksi eikä kaksi projektia, jotka hylkäsin, koska sain mystisiä virheviestejä konsoliin eikä sovellus toiminut.

Kun nyt tätä hetkeä vertaan tuohon kuuden, seitsemän vuoden takaiseen aikaan, huomaan yhden selkeän eron: Virheviestit eivät ole enää niin mystisiä. Okei, on siellä muutama sellainenkin ollut, mutta nekin ovat lopulta selvinneet.

En pysty varmaksi sanomaan, että kuinka paljon Androidin kehityksen työkalut ja virheviestintä on parantunut tässä vuosien saatossa. Luulen, että se on myös auttanut. Mutta ennen kaikkea olen itse oppinut debuggaamaan ja lukemaan niitä virheviestejä. Osaan ottaa siitä oleellisen osan, ja lähteä hakemaan vastauksia. Osaan myös erotella, että mikä on relevanttia.

Tämän ovat mahdollistaneet vuosien debuggauskokemukset – myös ne, jotka ovat jääneet selvittämättä, ja erityisesti ne, jotka ovat selvinneet vasta pitkän ajan jälkeen. Eli ne kaikkein ärsyttävimmät kokemukset.

On helpompi ottaa haltuun seuraava kieli kuin se ensimmäinen

Olen tässä vuosien varrella opetellut useita eri kieliä. Toisissa voin sanoa olevani jo hyvä, toisista osaan alkeet. Jos listaamaan lähtisi, niin JavaScript ja TypeScript ovat sellaisia, joissa koen olevani oikeasti hyvä. Pystyn tekemään Pythonilla aika paljon, ja tämän lisäksi tarvittaessa ymmärrän ja pystyn tekemään muutoksia esimerkiksi Javalla, Rubylla sekä Clojurella. Ja nyt tietysti Kotlinin osaaminen kehittyy koko ajan sen parissa töitä tehdessä.

Kuten luonnollistenkin kielien kanssa, myös ohjelmointiin tarkoitettuja kieliä on helpompi oppia, kun niitä jo osaa. Kun opettelee sitä ensimmäistä tai toista kieltä, luo mieleensä tietynlaisen kartan. Sitten kun alkaa opettelemaan seuraavia, karttaa toki täydennetään, mutta sinne myös yhdistellään tuttuja konsepteja erilaisiin syntakseihin.

Konkreettisena esimerkkinä tästä voisivat olla vaikka ehtolauseet (if/else). Kun niiden toimintaperiaatteen oppii yhdessä kielessä, seuraavaa opetellessa miettii enemmänkin syntaksia – miten tämä tässä kielessä kirjoitetaan.

Kotlin on tosiaan minulle ja aika mones kieli, jota opettelen. Kun monet konseptit ovat päässä, olen pystynyt keskittymään syntaksiin – ja löytämään paljon kivoja ja hyödyllisiä ominaisuuksia verrattuna vaikka JavaScriptiin.

Lopuksi

Lukijani, jos olet vasta urasi alussa tai ottamassa ensimmäisiä askeleita koodauksen kanssa, toivon, että näistä oivalluksista on hyötyä. Ja vaikka olisit jo pidemmällä koodauksen saloissa, toivon luonnollisesti toivon että nämä oivallukset auttaisivat myös sinua.

Toivon, että tästä kirjoituksesta jäisivät mieleen seuraavat asiat:

  • Muista iloita onnistumisista
  • Koodaus on parasta tiimissä – uskalla siis kysyä apua ja jakaa koodia
  • Opettele debuggausta. Vaikka se on usein todella turhauttavaa, opettele lukemaan niitä virheviestejä ja käyttämään hakukonetta niiden selvittämiseen. Toisaalta nämä taidot kehittyvät ajan kuluessa – älä siis turhaudu, vaikka asiat eivät heti selviäkkään.
  • Ensimmäisten kielten haltuunotto on se vaikein vaihe. Mä uskon että sä pystyt siihen!

Artikkelikuva: Amy Humphries // Unsplash

Leave a Reply

Your email address will not be published. Required fields are marked *