Mitä koodari tekee työkseen?
Mitä ohjelmoija tekee työkseen? Koodaus ammatti.
Minä teen koodaushommia, se on se ammatti. Mun työpäiväni on oikeesti aika monipuolinen. Viime syyskuun 23. päivä istuin meidän toimistolla Helsingin Kalliossa, mietin pitkään mihin kohtaan uutta toiminnallisuutta kannattaisi alkaa suunnittelemaan. Kyllä siinä kuluu aikaa, kun ratkoo kaikenlaisia pulmia.
Viime torstaina, 10. lokakuuta, oikeastaan käytin melkein koko aamupäivän vaan testaamiseen. Löysin jonkun vanhan virheen, joka olikin yllättävästä paikkaa. Se oli kyllä sellainen juttu, että huh.
Ja sit, kun oma koodi on valmis, tulee se toisen koodin tsekkaaminen. Se on pakollinen rutiini, jotta kaikki on varmasti kunnossa ja pöpöt pois ennen kun se menee tuotantoon. Meillä on aina joku, joka sen käy läpi.
Joskus me jopa koodataan ihan kahestaan, sellasta pariohjelmointia. Se on aika hauskaa, saa heti toisen näkemyksen ja oppii uutta samalla. Se on kyllä hyödyllistä.
Mutta se varsinainen koodaaminen, se rivien naputtaminen. Se on sitä, mihin tykkään eniten uppoutua. Esimerkiksi viime tiistaina, 15. toukokuuta, sain ihan uuden integraation toimimaan moitteettomasti. Se tuntui hyvältä, kun kaikki vaan natsasi.
Miten voi opiskella koodariksi?
Koodariksi opiskellaan tieto- ja viestintätekniikan perustutkinnoilla, joista valmistuu datanomiksi. Korkeakoulussa taas voi lukea tietojenkäsittelyä tai ohjelmistotekniikkaa, ja tulla tradenomiksi tai insinööriksi. Nämä koulutukset kestävät yleensä kolmesta neljään vuotta. Itse hain opiskelemaan ammattikorkeakouluun sen jälkeen kun lukio oli ohi.
Muistan sen kevään 2018 niin elävästi. Olin ihan hukassa, en tiennyt yhtään mitä haluaisin tehdä. Kaverit puhui lääkiksestä ja oikeustieteestä, mä vaan tuijotin tietokoneen ruutua ja mietin, onko musta mihinkään. Sitten törmäsin siihen koulutusohjelmaan, ohjelmistotekniikan insinööri. Tuntui heti, että tää on mun juttu, vaikka koodaamisesta en silloin tajunnut juuri mitään.
Pääsykokeet oli stressaavat. Muistan istuneeni siellä isossa salissa X-kaupungin ammattikorkeakoulun tiloissa, kynä kädessä ja hiki valuen. Tehtävät olivat loogista päättelyä ja matikkaa, eikä mitään helppoa. Kun se ilmoitus hyväksymisestä tuli sähköpostiin, hyppäsin ilosta kattoon! Äiti itki ilosta. Se oli helpotus, ihan valtava.
Opiskelujen alussa kaikki oli tosi uutta ja välillä sekavaa. Me opeteltiin perusteita kuten ohjelmoinnin logiikkaa, tietorakenteita ja algoritmeja. Ensimmäiset Java-koodit tuntui mahdottomilta kirjoittaa, virheitä tuli joka riville. Mutta sitten kun joku juttu loksahti paikalleen, se oli ihan mahtava fiilis. Ymmärsi sen oman edistyksen.
Välillä tuli päiviä, kun olisi tehnyt mieli luovuttaa. Ne projektit, joissa koodi ei vaan toiminut, vaikka mitä teki. Istuin yksin koneella, yömyöhään, ja mietin, että onko tässä mitään järkeä. Mutta sitten aamulla, kun nukkui yön yli, ratkaisu löytyikin yhtäkkiä. Se tunne, kun saa vaikean ongelman ratkaistua, on edelleen paras juttu tässä työssä.
Opiskelu oli tosi monipuolista, vaikka alussa keskityttiin perusteisiin. Tässä vähän mitä kaikkea me käytiin läpi:
- Ohjelmointikielet: Java, Python, C#, JavaScript, SQL
- Web-kehitys: HTML, CSS, React
- Tietokannat: MySQL, PostgreSQL
- Versiohallinta: Git
- Ohjelmistotuotanto: Agile-menetelmät, testaus
Nyt, valmistumisen jälkeen, työskentelen ohjelmistokehittäjänä pienessä firmassa. Työ on just sitä mitä toivoin – ongelmanratkaisua ja uuden luomista. Se tunne, kun näkee oman koodin toimivan ja helpottavan jonkun muun arkea, on palkitsevaa. Edelleen opin joka päivä jotain uutta, eikä tylsää hetkeä tule.
Kauanko kestää oppia koodaamaan?
Kysymys on väärä. Ei kysytä kauanko. Kysytään miksi.
Ohjelmoijaksi kouluttautuminen kestää 3–4 vuotta ammattikorkeakoulussa tai yliopistossa.
Mutta se on vain yksi tie. Ja usein hitain.
Aika riippuu tavoitteesta.
3 kuukautta: Opit perusteet. Keskityt yhteen kieleen. JavaScript, Python. Teet pieniä projekteja. Ensimmäinen työpaikka voi tulla 3–6 kuukaudessa, jos opiskelet täysipäiväisesti. Nukut vähän. Opit paljon. Sitten unohdat puolet.
1 vuosi: Osaat jo jotain. Olet itsenäinen. Vuodessa rakennat jo jotain omaa, oikeaa. Et vain kopioi tutoriaaleja. Ymmärrät, miksi asiat hajoavat. Ja osaat ehkä korjata ne.
3–4 vuotta: Tämä on koulun tie. Saat paperit. Opit teoriaa, matematiikkaa, algoritmia. Syvempää ymmärrystä, ei vain koodia. Ja opiskelulainaa. Valmistut ja kilpailet itseoppineiden kanssa samoista paikoista.
Koko elämä: Teknologia vanhenee. Kielet kuolevat. Uusia syntyy. Sinä opit uutta tai jäät jälkeen. Et ole koskaan valmis. Se on se peli.
Polkuja on kolme. Valitse omasi.
- Itseopiskelu. Halvin. Vaatii eniten. The Odin Project, FreeCodeCamp. Kukaan ei pidä kädestä. Olet yksin ongelmiesi kanssa. Se kasvattaa.
- Koodibootcamp. Nopein. Kallein. Intensiivinen. Keskittyy vain työelämän taitoihin. Esimerkiksi Hive Helsinki. Lupaavat paljon. Joskus myös lunastavat.
- Ammattikorkeakoulu/Yliopisto. Varmin. Hitain. Laajin. Se tutkinto. Joillekin työnantajille se merkitsee. Useimmille ei.
Koodi on vain ajattelun sivutuote.
Kannattaako koodariksi opiskella?
Koodariksi kannattaa opetella, jos elämä ei muuten tunnu tarpeeksi monimutkaiselta. Omatoiminen opiskelu on ala kuin luonnonlaki, tai ainakin sen muunnelma, joka muuttuu nopeammin kuin eduskunnan puheenjohtajan mielipide. Koulutus? No, se on vähän kuin kävisi kalliissa urheiluhierojalla – kivaa ja ehkä auttaakin, mutta jos haluat itse juosta maratonin, on parempi laittaa ne lenkkarit jalkaan ja lähteä liikkeelle. Heta, tuo uranuurtaja, on oikeassa: oma-aloitteisuus on kuin salainen ase digitaalisessa viidakkossa.
Lisätietoa koodarin polusta:
- Itsenäinen oppiminen on kuningas: Ajattele sitä kuin koodaisi uuden pelin. Et odota, että joku näyttää jokaisen näppäimen painalluksen, vaan kokeilet ja opit virheistä – niitä tulee kyllä, kuin perunapellossa rutto.
- Koulutus on plussaa, ei pakko: Se antaa perusteet, kuin kartta tuntemattomaan maastoon. Mutta lopulta navigointi on sinun vastuullasi. Jotkut opiskelevat yliopistossa tietojenkäsittelytiedettä, toiset ovat koodanneet ensimmäiset ohjelmansa jo teininä vessapaperirullan sisälle teipatulla muistilapulla. Molemmat voivat päätyä samalle, joskaan eivät välttämättä samalla palkalla varustetulle, palkintopallille.
- Työmarkkinat ovat armottomat ja samalla avoimet: Tänään koodattava teknologia on huomenna jo antiikkia. On siis osattava jatkuvasti päivittää osaamistaan, kuin vanhaa puhelinta uudempaan malliin, mutta ilman että hintalappu huutaa silmille.
- Projektit, projektit, projektit: Oman portfolion rakentaminen omilla projekteilla on kuin rakentaisi majakkaa itselleen. Se näyttää muille, mitä osaat, ilman että tarvitsee selitellä sanaakaan. Ja hei, joskus ne projektit voivat olla jotain niin nerokasta, että ne mullistavat maailman. Tai sitten ne ovat vain hauska harrastus.
Mistä koodaus kannattaa aloittaa?
Moi! Hei, hyvä kysymys! Koodaus on kyllä nyt tosi pop juttu, ja siihen kannattaa ehdottomasti tarttua.
Koodaus kannattaa aloittaaPythonista, HTML:stä tai Rubystä. Ne on just niitä kieliä jotka on helppoja oppia ja tosi hyviä päästä sisään tähän hommaan. Niin ja moni aloittaa näistä, tosi moni!
Mä ite aloitin pari vuotta sitten, just Pythonista, ja siis se oli tosi helppoo! Ihan siis täydellinen ensikieli, koska sen syntaksi on jotenkin looginen, eikä tartte heti kikkailla kauheitten merkkien kanssa. Se kieli on vaan niin selkee. Mun kaveri aloitti just HTML:stä kun halusi oman blogin, ja sekin oli tosi nopee oppia.
Eli siis jos sun kiinnostaa enemmän verkkosivut, niin HTML on ihan ehdoton. Se on siis nettisivujen selkäranka, ilman sitä ei ole sivuja. Ja sen jälkeen sit CSS jotta saat ne näyttämään hyviltä ja jänniltä! Sillä määritellään kaikki värit ja fontit, et se on se stailausosa. Ja sit vielä JavaScript jos haluat lisätä sinne jotain toiminnallisuuksia, tyyliin nappeja jotka tekee jotain.
Python on ehkä vähän sellainen yleiskäyttöisempi kieli, et sillä voi tehdä tosi monenlaista. Niin niin vaikka mitä! Sillä rakennetaan nettisivujen taustoja (ns. backend), tekoälyä, datan analysointia ja vaikka pelejä. Mä käytän sitä töissä joka päivä, meidän firmassa se on aika avainroolissa. Siis tosi kätevä ja monipuolinen.
Ruby ja erityisesti sen Rails-kehys on kanssa tosi hyvä vaihtoehto, etenkin jos haluat tehdä nopeasti web-sovelluksia. Moni startup-yritys on ihan rakentanut palvelunsa Ruby Railsin päälle. Ja se on kanssa tosi käyttäjäystävällinen ja looginen.
Miten sit ihan oikeesti alkaa opettelee? Tässä muutama vinkki, näitä mä oon käyttäny ja nää on oikeesti toiminu:
- Ilmaiset verkkokurssit:
- Codecademy: Tosi hyvä interaktiivinen alusta, voit koodata suoraan selaimessa. Suosittelen vahvasti! Mä aloitin sieltä.
- FreeCodeCamp: Tosi kattavat kurssit, erityisesti web-kehitykseen.
- Khan Academy: Myös hyviä perusteita, jos ihan alusta haluaa lähteä.
- Kirjat: Osta jostain vaikka kaupan alesta joku aloittelijan opaskirja, ne on usein hyviä kun saat kokonaiskuvan. Mulla on yks Python-kirja joka on ihan puhki luettu.
- Pienet projektit:Aloita heti tekemään jotain! Se on tärkeintä. Älä vaan lue, vaan tee. Vaikka joku pieni laskin, tai muistilista. Tai oma nettisivu. Se motivoi paljon kun näkee tuloksia. Vähän hassuja juttuja, mutta ne opettaa.
- Koodausyhteisöt: Liity johonkin nettiyhteisöön, vaikka Discordiin tai Stack Overflowhun. Sieltä saat apua kun jumiudut, ja se on ihan varma että jumiutuu välillä. Kaikki jumiutuu. Tuki on ihan tärkeetä.
Muista, ettei haittaa, jos kaikki ei mee kerralla putkeen. Koodaus on jatkuvaa oppimista ja ongelmanratkaisua. Tsemppiä!
Mistä ohjelmointikielestä kannattaa aloittaa?
Python.
Aika helppo. Logiikka opitaan siitä. Se on se juttu.
Miksi juuri Python?
- Selkeä syntaksi. Ei turhaa hössötystä. Kuin kirjoittaisi englantia, mutta tiiviimmin.
- Monipuolinen. Web, pelit, AI, data. Kaikki samalla työkalulla. Valitse oma polkusi.
- Suuri yhteisö. Apua löytyy aina. Aina.
- Vähäinen boilerplate-koodi. Pääset asiaan nopeasti. Turhat toistot pois.
En minä siitä sen enempää sano. Kokeile, tai älä. Sillä onko väliä? Onko millään? Taito syntyy tekemällä, ei miettimällä.
Jatkopolut Pythonin jälkeen:
- Web-kehitys: Flask, Django. Opi HTTP. Fronttipuolelle sitten JavaScript. Toki.
- Data-tiede/AI: NumPy, Pandas, TensorFlow. Maailma pyörii datan ympärillä.
- Pelit: Pygame. Yksinkertaista, mutta opettaa pelilogikkaa.
- Automaatio: Skriptaa kaikkea tylsää. Elämä on liian lyhyt toistuvaan työhön.
Pysyvä oppiminen. Se on avain. Koodi elää, kuten sinäkin. Ehkä. Tai sitten ei. Kuka tietää.
Kommentoi vastausta:
Kiitos palautteestasi! Kommenttisi auttaa meitä parantamaan vastauksia tulevaisuudessa.