Developers, developers, developers....!

Pitäessään intohimoista esitystään monipäiselle kuuntelijakunnalleen Steve Ballmer, Microsoftin entinen toimitusjohtaja, avaa sanaista arkkuaan. Raivokkaasta esityksestä voi tulkita IT-maailman tosiasian: alan yritykset tarvitsevat toimiakseen kehittäjiä.

Sovelluskehittäjä on se henkilö, joka konkretisoi kirkkaimmat yritysideat websivuiksi, mobiilisovelluksiksi, pilvipalveluiksi ja moneksi muuksi digiajan ilmiöksi. Kehittäjä on kuin velho, joka loihtii trendikkäät määrittelyt vankkaa osaamistaan apuna käyttäen oiviksi työkaluiksi työelämän ja arjen helpottamiseksi.

Sovelluskehittäjäksi haluaville ei ole tiettyä tietä onneen: joku on voinut aloittaa taipaleensa jo teinivuosinaan omassa huoneessaan näpertelemien pikkuohjelmien kanssa ja toinen istunut luennoilla kuuntelemassa sensei-tason luennoitsijoilta oppeja for-loopeista kompleksisiin systeemeihin. Joka tapauksessa kehittäjien kasvutarinoita on yhtä monta kuin kehittäjiä yhteensä.

Haluamme antaa teille, rakkaat dumpparit, näköalapaikan sovelluskehittäjien arkeen. Tässä blogipostauksessa dumpparit jakavat omia kokemuksiaan sovelluskehityksen parissa.

Vesa Uotila

Olen Vesa Uotila, gradua vaille (ja varmaa paria kurssia...) valmis veteraanidumppari. Työskentelen nyt kolmatta vuotta ohjelmistosuunnittelijana Samlink Oy:n palveluksessa. Suunnittelen ja valmistan työkseni pankkijärjestelmäämme integroituja REST-rajapintoja, joita esimerkiksi asiakkaidemme mobiilisovellukset käyttävät. Vastaan lisäksi meidän tiimimme käyttöönotoista.

Tajusin haluavani sovelluskehittäjäksi käydessäni yliopiston ensimmäistä ohjelmoinnin kurssia ja yön pikkutunneilla toimimaan saadut demotehtävät tuntuivat sen ajan ja vaivan (ja ajan) arvoisilta. Ennen yliopistoa olin koodannut ainoastaan yhden excel-macron eli olen elävä esimerkki siitä, ettei koodaamisen aloittaminen ole koskaan liian myöhäistä. Ensimmäinen koodiin liittyvä työ oli oman aktiivisuuden kautta saatu pesti ohjelmointikurssin pääteohjaajana, mutta ensimmäisen sovelluskehittäjän pestin sain vasta murjaistuani työhaastattelussa vitsin kuolleista vauvoista. Rekryprosessista tehdyissä muistiinpanoissa työhakemustanikin oli suurin piirtein kommentoitu näin: "vähän omituinen hakemus, mutta kutsutaan kuitenkin" - erotuin kait edukseni, heh. Haen siis aina töitä omana itsenäni, mikä on mielestäni myötävaikuttanut siihen, että olen päässyt työskentelemään mahtavien ihmisten ja firmojen kanssa.

Teen työni pääasiassa Javan Spring-frameworkillä, kirjoitan Javani Eclipsellä, muun Visual Studio Codella ja käytän versionhallintaan Gittiä. Rajapintojen kautta olen tutustunut Postman ja SoapUI testaustyökaluihin. Käyttöönotoissa tutuiksi taas ovat tulleet Jenkins, Ansible, ja Linux. Päivittäisessä työssä auttavat esimerkiksi myös ELK-stack ja Sonar. Lähitulevaisuudessa kontit (Kubernetes ja Docker) ja pilvialustat (GCP ja AWS) tulevat todennäköisesti enemmän tutuiksi. Aikaisemmin olen tehnyt myös enemmän töitä JavaScriptillä ja SQL:llä. JavaScriptiä (erityisesti NodeJS) käytän myös harrastusprojekteissa ja hackathoneissa. Pythonilla olen tehnyt pari scriptiä ja lukuisia koodausvitsejä.

Hengästyttikö teknologioiden määrä? Olen varma, että jokin jäi mainitsematta. Voin kuitenkin paljastaa, että

  1. noin viiden vuoden uran aikana teknologioita kerkeää tulla pakostikin vastaan useita
  2. en osannut tai tiennyt nimeltä puoliakaan ennen aloittamista nykyisessä työssäni
  3. en ole näiden teknologioiden guru, mutta hallitsen ne sillä tasolla, että pystyn suoriutumaan päivittäisistä työtehtävistäni ja opin työvälineistäni uutta edelleen.

Se, mikä ratkaisee, on nimenomaan halu ja kyky oppia uutta - uuden oppiminen on yksi asia, mistä henkilökohtaisestikin nautin.

Tulevaisuudessa haluaisin auttaa aloittelevia kehittäjiä alkuun ohjelmistokehityksen mahtavalle matkalle, kehittyä yhdessä heidän kanssa, joiden mittarissa on jo enemmän kilometrejä ja valmistaa tietenkin timanttista softaa. Lead developer tai sovellusarkkitehti voisivat esimerkiksi olla tällaisia rooleja. Jottei tämä jäisi pelkäksi sanahelinäksi, niin annanpa heti muutaman neuvon:

Aloittelevan devaajan ei oleteta olevan valmis ammattilainen, vaan tärkeää on, että harjoittelija sopii osaksi tiimiä ja on nälkäinen oppimaan. Ole siis rehellisesti oma itsesi niin löydät tiimisi ja tiimisi löytää sinut. Tuolloin halusi ja kykysi oppia pääsevät oikeuksiinsa. Huolehdi myös, että kasvualustasi on kunnossa. Näillä kursseilla lannoitin omani: ohjelmointi 1, ohjelmointi 2, tietokannat ja web-ohjelmoinnin kurssit. Tämän lisäksi muista ajatella kuin tietojärjestelmätieteilijä - tämän merkitys on vaikeampi selittää, mutta tajuat sen matkasi aikana. Lopuksi annan vielä vakioneuvoni, jonka kerron aina jokaiselle koodaamaan opettelevalle: "Älä koodaa koodaamisen takia, vaan löydä itsellesi tärkeä ongelma, jonka voit ratkaista koodaamalla, koska silloin, kun meinaa seinä tulla vastaan, et luovuta."

P.S. Jos haluat turista aiheesta tai kysellä lisää, niin meikäläisen saa kiinni Facebookista, LinkedInista tai Discordista!

Paavo Väänänen

Moro!

Olen Paavo Väänänen, kuudennen vuoden dumppari ja gradua vaille valmis kauppatieteiden maisteri.

Työskentelen tällä hetkellä sovelluskehittäjänä CGI:llä.

IT-alan työkokemusta minulle on kerennyt kertyä reilu pari vuotta, josta suurimman olen viettänyt jyväskyläläisessä startupissa.

Sanoisin oman urapolkuni olevan tähän mennessä hyvinkin tavallinen – aloitin harjoittelijana, jatkoin harjoittelujakson jälkeen osa-aikaisesti opintojen ohella ja opintojen tullessa nykyiseen pisteeseen, muutin vakituisen työn perässä tänne Helsinkiin.

Sovelluskehittäjäksi päädyin enimmäkseen sattumalta. Yliopiston ohjelmoinnin kurssit olivat minulle helppoja, ja uskon että siihen vaikutti lukioaikoina omatoimisesti suoritetut JavaScript-verkkokurssit. Vaikka molemmat ohjelmoinnin kurssit (Ohjelmointi 1 ja 2) olivat demoineen mukavia, olin jälkimmäisen jälkeen varma etten tulisi koodaamaan työkseni. No, tuosta keväällä 2017 tehdystä päätöksestä ei mennyt kuin reilu puolitoista vuotta siihen kun allekirjoitin työsopimuksen tehtävänimikkeellä Web Developer.

Vasemmalla Renne ja oikealla Paavo Junction 2019 -tapahtumassa.

Satuin olemaan yksissä illanistujaisissa, joissa ilta meinasi saada todella kurjan käänteen talouden ainoan viinipullon avaajan rikkoutuessa. Tilanne kuitenkin pelastui, kun askartelin avainlenkistäni ja jäljelle jääneestä rikkinäisestä korkkiruuvista toimivan viinipullon avaajan. Ongelmanratkaisukyvystäni vaikuttuneena silloinen tuleva esimieheni sitten avasi keskustelun kysymällä osaanko koodata, johon vastasin: “vähän”. Päädyimme nopeasti keskustelemaan harjoittelumahdollisuudesta heidän yrityksessään. Sain kehotuksen tutustua Reactiin, ja suoritinkin pari verkkokurssia itsenäisesti ennen harjoittelun alkua. Oikeastaan juuri noiden itsenäisesti suoritettavien verkkokurssien myötä innoistuin web-sovellusten tekemisestä ja päädyin pyörtämään tuon aiemmin tehdyn päätöksen siitä, ettei ohjelmointi ole minua varten.

Nykyään työni pitää pääosin sisällään web- sekä mobiilikehitystä moderneita pilviteknologioita käyttäen. Olen niin sanottu full-stack kehittäjä, eli en tee pelkästään esimerkiksi käyttöliittymäkehitystä vaan kaikkea mitä web- tai mobiilisovelluksen kehittäminen pitää sisällään. Pääsääntöisesti työskentelen JavaScript-teknologioilla, joista aiemmin mainitun Reactin lisäksi mainitsemisen arvoisia ovat muun muassa Node.js, Vue.js ja React Native. Tällä hetkellä tutuimpia pilvipalveluita ovat luonnollisesti kaksi isointa, eli Azure ja AWS.

Tällä hetkellä minua kiinnostaa erityisesti kehittää osaamistani sovellusarkkitehtuurin parissa ja tutustua esimerkiksi Googlen pilvipalvelutarjontaan (GCP). Toivonkin että joskus tulevaisuudessa pääsisin tekemään töitä arkkitehdin roolissa

Tässä vielä pyydettyjä (pro)tipsejä sovelluskehittäjäksi haluaville:

  • Kehitä osaamistasi.

Netti on pullollaan erilaisia kursseja ja YouTube-videoita joita seuraamalla voi itselleen kerryttää relevanttia osaamista. Voin vahvasti suositella esimerkiksi Helsingin yliopiston Full Stack open -kurssia (https://fullstackopen.com/). Itselle web-teknologiat tuntuivat luontevalta lähestymiseltä ohjelmointiin, koska oman käden jälkensä näki selaimessa välittömästi – mutta jos esimerkiksi Java tuntuu omalta jutulta keskity siihen (sille näyttää olevan aina työmarkkinoilla kysyntää). Lisää myös tekemäsi projektit esimerkiksi GitHubiin, josta potentiaaliset työnantajat pystyvät niihin tutustumaan.

  • Osallistu hackathoneihin.

Hackahonit ovat olleet itselle todella hauskoja tapahtumia, joissa on joka kerta myös oppinut jotain uutta. Sen lisäksi että hackathoneissa on päässyt tutustumaan uusiin teknologioihin tekemisen kautta, ovat varsinkin isommat toimineet loistavina verkostoitumistilaisuuksina muiden osallistujien ja yritysten edustajien kanssa. Esimerkiksi Junctionin tämän vuoden tapahtuman hakuaika on voimassa 9.10. asti (https://connected.hackjunction.com/).

  • Tutustu pilvipalveiluihin.

Pidän pilvipalveluiden tuntemusta todella tärkeänä nykypäivän sovelluskehityksessä. Suosittelen valitsemaan jonkin kolmesta isoimmasta palveluntarjoajasta (AWS, Azure, GCP). Perusidea on kaikkien takana sama, joten vaihtaminen toiseen ei ole enää yhden omaksumisen jälkeen hirvittävän vaikeaa. Kaikkien edellä mainittujen kokeileminen on mahdollista ilmaiseksi ja jokaiselle alustalle on kattavasti tarjolla opetussisältöä.

Lopuksi haluaisin painottaa verkostoitumisen merkitystä opiskeluaikoina tulevaisuuden työelämää silmällä pitäen. Olen nimittäin varma, että ovet aukeavat herkemmin tutuille tai tutun tutuille. :)

Aku Kettunen

Olen Aku Kettunen, toisen vuoden dumppari ja neljännen vuoden opiskelija. Aloitin opinnot Aalto-yliopistossa Teknillisen matematiikan parissa, ja siirryin kahden vuoden jälkeen hieman haastavampien aiheiden pariin TJT:lle.

Ohjelmoinnin parissa vahvuuteni on web-kehittäminen. Olen treenannut ohjelmointia nyt liki kaksi vuotta. Pyöritän firmaa, jonka tuotteena on ePesis, netissä toimiva pesäpallon analysointiin tarkoitettu ohjelma. Ensimmäisenä vuonna saimme lähes kaikki pääsarjatason joukkueet asiakkaiksemme. Nyt työn alla on ePesiksen toinen iteraatio, ePesis 2.0, joka kääntää nettipohjaisten pesäpalloon tarkoitettujen analysointityökalujen maailman päälaelleen! Tarjoamme jyväskyläläisille pesäpalloileville nuorille kesätöitä pesiksen analysoinnin parissa. Olen päässyt myös työskentelemään sellaiselle firmalle kuin Kepit Systems Oy. Siellä olen rakentanut eräänlaista YouTuben kopiota. Palvelua, jossa asiakkaat pystyvät katsomaan omia lähetyksiään.

Oma urani devaajana alkoi, kun Aallossa minulle oli kertynyt toisen vuoden aikana hieman alle kymmenen noppaa, ja ajattelin että pitäisi varmaan keksiä jotain. Rupesin netistä selailemaan erilaisia tutoriaaleja ja koodailin päivät läpeensä. Puolisen vuotta myöhemmin sain ensimmäisen työpaikkani Kepitiltä.

Varoitus, tämä kappale on jargonia, saa hypätä yli. Aloitteliin koodaamisen harjoittelun Pythonilla. Sen jälkeen treenailin web-kehittämisen perusteita eli javascript, html ja css trioa. Ensimmäinen frontin frameworkki jota käytin oli jQuery, jolla myös ePesiksen ensimmäinen versio on luotu. Elämäni helpottui huomattavasti, kun aloin käyttämään Vuea. Backend valintani on Node.js – Express stacki. Tietokantani tykkään laittaa esimerkiksi AWS:n DynamoDB:hen. Muutenkin tykkään jumpata Amazon Web Servicen kanssa.

Tulevaisuudessa haluaisin luoda firmalle jonkunlaisen SaaS-palvelun yleisempään myyntiin. Myös mobiiliaplikaatioiden koodaaminen kiinnostaa, mutta siitä minulla ei ole minkäänlaista kokemusta. Haluaisin myös erikoistua yhä enemmän pilvipalveluiden, etenkin AWS:n asiantuntijaksi.

Sovelluskehittäminen on siitä hyvä ammattitaito, että se on mahdollista opiskella täysin itsenäisesti. Myös JYU:n kurssitarjonnassa on erittäin hyviä kursseja, joilla päästä alkuun. Pelkästään ottamalla hyvän arvosanan Ohjelmointi 2 – kurssista, voi saada ensimmäisen työpaikan. Suosittelen aloittaville koodareille käymään Udemyssa jonkun aloittelijoille tarkoitetun kurssin. Itse kävin kurssin nimeltä ’The Web Developer Bootcamp’, ja voin suositella sitä lämpimästi!

Henri Willman

Moi!

Olen Henri, 22-vuotias toisen vuoden dumppari ja työskentelen tällä hetkellä osa-aikaisena frontend-sovelluskehittäjänä opiskeluiden ohessa.

Kun aloitin opiskelut, minulla oli tavoitteena päästä koodariksi jo ensimmäisen vuoden jälkeen. Valitsin tätä tavoitetta tukevat kurssit, tein omia oppimisprojekteja, laitoin useita harjoitelupaikkahakemuksia, ja tässä sitä ollaan!

Teemme sovelluskehitystä scrum-tiimeissä safe mallin mukaisesti, ja käytämme muun muassa C#, odataa, pilvipalveluita(Azure) sekä Angularia. Tällä hetkellä teen töitä pääsääntöisesti frontendin puolelta käyttäen angularia, mutta satunnaisesti saatan löytää itseni myös tekemästä api-testejä backendiin.

Tulevaisuudessa haluaisin perehtyä enemmän backendiin, ja se on ainakin omassa työpaikassani tehty helpoksi. Meillä kuka tahansa voi ottaa pähkäiltäväkseen mitä tahansa sprintin tehtäviä, jos kokee pystyvänsä tekemään ne järkevässä ajassa.

Jos haluat sovelluskehittäjäksi, tee omia projekteja! Mielestäni ne opettavat kaikista eniten.

Jeremias Colliander

Olen Jeremias Colliander, 24, ja nyt 5. vuoden juuri aloittanut fuksi ja kandiaan viimeistelevä/aloitteleva dumppari. Olen nyt ollut koodaamassa työkseni noin kolme vuotta sekä samalla sivussa toteuttanut joitain omia pieniä projekteja.


"Kaikki on all right ainakin minulla. En tiedä, onko muilla." – Matti Nykänen


Työkseni olen aina tehnyt full stack hommia eli en erikoistu mihinkään vaan pystyn toteuttamaan kaikkea mitä vaaditaan. Täten olen päässyt tekemään ja suunnittelemaan tietokantoja, miettimään rajapintoja sekä suunnittelemaan ja toteuttamaan kokonaisia palveluita serveristä käyttöliittymään asti. Itse olen tykännyt tästä, sillä työpäivät ovat näin vaihtelevia ja monipuolisia. Lisäksi samalla oppiin hyvin kaikesta jotakin. Nyt tämän kesän kehitin muutamaa eri palvelua Combitech oy:llä. Lisäksi olen tehnyt omia pieniä projekteja, jossa analysoin ja visualisoin dataa eri lähteistä, kuten
tilastokeskukselta tai pörssistä (ei se ainejärjestö) omiin tarkoituksiini.


"Elämä on ihmisen parasta aikaa." – Matti Nykänen


Tein ohjelmointi 2 kurssin 1. vuoden kesällä ja aloin sitten syksyllä etsimään itselleni harjoittelupaikkaa eri IT-firmoista DuunIT messuilta. Silloinen ja myöskin nykyinen ystäväni Vesa
Uotila ilmoitti hänen paikkansa aukeamisesta Timmi Softwarella, jossa sitten aloitinkin ”reippaana” heti vappua seuraavana päivänä. Siellä pääsin hyvin perehtymään työksi koodaamiseen ja näkemään ohjelmointia yliopistokursseja syvemmälle. Olin Timmi Softwarella noin kaksi vuotta, jonka jälkeen siirryin kohti haastavampia tehtäviä Combitech oy:lle pysyen kuitenkin yhä ohjelmistokehityksen parissa.


"Jokainen tsäänssi on mahdollisuus!" – Matti Nykänen


Työskentelen vähän kaikenlaisten teknologioiden kanssa, jotka vaihtelevat projektien ja asiakkaan käyttötarpeiden sekä käyttöluulojen mukaan. Parhaiten itseltäni kielistä luonnistuu Java, Python sekä JavaScript eri kehyksineen, kuten React ja NodeJS. Tietokannoista MySQL / MariaDB sekä mikropalveluiden ja virtualisoinnin kanssa Apache Kafka, Zookeeper, Docker, Hyper-V ja Vagrant.
Lisäksi kirjoittelen todella paljon erilaisia Shell-scriptejä Linux ympäristöön (se käyttöjärjestelmä, joka kopioi Dumpin logon).


"Kyllä mä tän ymmärrän, mutta kun mun aivot ei." – Matti Nykänen

Lähitulevaisuudessa haluaisin siirtyä data-analytiikan ja sen visualisoinnin puoleen, jossa pääisi hyödyntämään ja tekemään asioita koneoppimisen ja neuroverkkojen parissa. Kävin vaihdossa muutaman kurssin, jossa näitä päästiin hyödyntämään ja koin sen välittömästi kiinnostavaksi ja asiaksi, johon haluaisin jatkossa enemmän perehtyä. Jossain vaiheessa haluaisin työskennellä ainakin Poliisille sekä jollekin Terveydenhuollon firmalle, koska koen heidän toimintaympäristönsä ja tarpeensa mielenkiintoisiksi ja vaativiksi. Kauempana tulevaisuudessa tavoitteena olisi päästä siirtymään toteutuspuolelta enemmän suunnittelu / konsultointi puolelle ja ehkä jopa yrittäjäksi, eli paremmin sanoen käsienheiluttajaksi.


”Huominen on aina tulevaisuutta” – Matti Nykänen


Vinkiksi sanoisin, että ohjelmoinnin kurssien jälkeen (Ohj1 ja Ohj2 tai MOOC) rohkeasti hakemaan harjoittelupaikkaa jostakin firmasta koodauksen parissa. Omalla julkisella projektilla voi helposti tuoda esille sekä syventää omaa osaamistaan. Tätä suosittelen siksi, että pääset mahdollisimman pian kokemaan, onko koodaaminen oikeasti se sinun juttusi. Se on kivaa, mutta onko se 40/h
viikossa kivaa? Lisäksi pääset näkemään kaikki muut roolit ja tehtävät, jota eri projektit vaativat. Sovelluskehittäminen on muutakin kuin tehokasta googlailua ja näppäimistön lempeää hipsuttamista.

"Koodaaminen on niin kuin vaimon päälle menee: kyllä se siitä lähtee." – Java Nykänen

Ps. YouTubesta löytyy pätkä Ballmerin mestarillisesta esityksestä.