Ohjelmistoteknologioiden osaajien tarvekartoitus.

Webbikehittäjä pilvessä

Tein IT-alan työpaikkahakemusten perusteella teknologioiden osaajien tarvekartoituksen lokakuussa 2021. Lainaan tehtävän projektisuunnitelmaa: ”Tarvekartoitus tehdään siten, että kerätään IT-alan työpaikkailmoituksista avainsanoja, joita työnhakijalta vaaditaan tai toivotaan (ei tehdä eroa näissä). Keruu tapahtuu vain Pirkanmaalle suunnatuista työpaikkailmoituksista. Avainsanoina kerätään vain tekniikoiden lyhenteitä tai nimiä: esim. React, Angular, PHP, MySql.”

”Toinen näkökulma on luokitella hakemus myös asiantuntijuuden tyypin mukaan (esim. front end tai back end kehittäjä, käyttöliittymä- tai tietokantasuunnittelija).”

”Tarvekartoituksen tavoite on selvittää minkä alan asiantuntijoista on suurin kysyntä IT-alalla. IT-alalla on useita asiantuntijuuden alueita, joita kukaan ei voi kaikkia samaan aikaan hallita. Työn tuloksia voi toivottavasti myös käyttää IT-alan asiantuntijapolun valinnassa.”

Tiedot kerättiin TE-toimiston sivuilla julkaistuista työpaikkailmoituksista kuvan 1 hakuehtojen mukaisesti.

Kuva 1. TE-toimiston avointen IT-alan työpaikkojen hakukriteeri
Kuva 1. TE-toimiston avointen IT-alan työpaikkojen hakukriteeri

Tulokset

Työpaikkailmoituksia tietojen keräysvaiheessa oli 98. Keräsin niistä 184 eri tekniikkaa. Monia kapean sektorin erikoistekniikoita en edes kaikkia listannut. Alla olevissa tulostaulukoissa on listattu tekniikoiden esiintymiskertoja näissä 98:ssa hakemuksessa. Kuitenkin on kerätty enintään yksi maininta hakemusta kohden. Koska hakemuksia oli se 98, luvut voi oikeastaan tulkita myös prosenttiosuuksina.

Esittelen ensin työnhakuilmoituksissa esiintyvien tekniikoiden lukumäärät ja tehtävätyypit diagrammeina. Sen jälkeen yritän tulkita ja vetää yhteen mitä niiden takana on.

Tulokset – tekniikat

Kuva 2 esittää ilmoituksissa esiintyneiden tekniikoiden top 20.

Kuva 2. Top-20 tekniikoiden esiintymiskerrat
Kuva 2. Top 20-tekniikoiden esiintymiskerrat

Seuraavassa on esitetty taulukon suosituimpien tekniikoiden käyttökohteita:

  • sql on relaatiotietokantojen standardoitu kyselykieli. Siksi tein päätöksen, etten listaa erikseen eri Sql-palvelinten tuotemerkkejä. Jälkikäteen ajatellen tämä olisi kuitenkin ollut myös hyvä tehdä.
  • web-pohjaisten sovellusten kehitys (lyhyemmin jatkossa webbikehitys). Koska monia ohjelmointikieliä voidaan käyttää sekä webbikehityksessä että yleiskäyttöisenä ohjelmointikielinä, kaikki taulukon kielien maininnat eivät välttämättä ole käytössä juuri webbikehityksessä. Taulukon webbikehityksen tekniikoiksi tulkitsemiani ovat: sql, java, react, nodejs, python, c#, javascript, angular, typescript ja ainakin osittain .net.
  • ohjelmointikielet. Osa näistä on sidoksissa webbikehitykseen. Toisia voidaan käyttää sen lisäksi yleiskäyttöisten sovellusten kehityksessä. Oma lukunsa on relaatiotietokantojen kyselykieli sql. Ohjelmointikieliä taulukossa ovat: sql, c#, python, javascript, typescript, c++.
  • javascript kirjastot ja ohjelmistokehykset (framework). Javascript on alkuperältään selaimessa toimiva ohjelmointikieli. Sen ’päälle’ on kehitetty lukuisia kirjastoja ja ohjelmistokehyksiä, jotka on kehitetty helpottamaan selainohjelman ohjelmistokehitystä. Näitä ovat taulukossa react, angular-kehys, typescript-ohjelmointikieli. Lisäksi on olemassa nodejs, jonka avulla javascript-kielellä voidaan tehdä palvelinohjelmiston kehitystä.
  • pilvipalvelut: azure, aws, safe(?) . Webbisovellukset voivat toimia pilvessä mutta eivät aina.
  • testityökalut: robotfw.
  • ohjelmistokehityksen prosessit ja/tai työkalut: devops, scrum, safe.

Mitä taulukosta puuttuu?

Mediassa on viime vuosina puhuttu tietotekniikan aloista, jotka yllättäen eivät näy lainkaan kuvan 2 tuloksissa. Näistä oli lähinnä vain 1-2 mainintaa. Joistakin ei lainkaan. Näitä ovat:

  • datatiede. Vain yksi ilmoitus haki datatieteilijää.
  • tekoäly (AI)
  • koneoppiminen esim. hahmontunnistus
  • tietoturva. Yhtään tietoturva-asiantuntijaa ei ilmoitusten joukossa ollut! Tietoturva ei sanana ollut listattujen tekniikoiden joukossa. Tietenkin esim. webbikehittäjän työkalupakkiin pitäisi nykyään kuulua jonkin tason tietämys yleisimpien hyökkäysten ehkäisykeinoista.
  • nosql. Muita kuin relaatiotietokantoja. Mielestäni siitä kohistiin jokin aika sitten paljon enemmän kuin nykyään. Nosql sopinee paremmin IoT-laitteiden tuottamaan datan talletukseen kuin relaatiotietokannat.
  • IoT eli esineiden Internet. Se sai kuitenkin 7 mainintaa.
  • php lienee yhä eniten palvelimissa (back end) käytetty ohjelmointikieli mutta niin ylenkatsottu nykyään.

Tulokset – tehtävätyypit

Ilmoituksia selatessa en nähnyt niissä mitään mainintaa mihin kuvassa 1 mainittuihin kategorioihin kukin ilmoitus kuului.  Jaoin tehtävät erilaisiin itsemäärittämiini tyyppeihin. Tyyppijaossa on kuitenkin puutteita esim. arkkitehti, integraattori tai testaaja ei kerro minkä alan tehtävästä on kyse. Myös mobiililaitteiden kehittäjälle olisi pitänyt olla oma tyyppinsä. Nyt ne ovat luokiteltu vain ’ohjelmistokehittäjiksi’. Tosin niitä oli ehkä vain puolen tusinaa ohjelmistokehittäjä-kategorian ilmoituksista.

Kuva 3. Tehtätyyppien (roolien) jakauma
Kuva 3. Tehtätyyppien (roolien) jakauma

Ilmoitukset jakaantuivat jokseenkin selkeästi seuraaviin ylemmän tason rooleihin:

  • ohjelmistokehittäjiin mahtuu sekalaisia ei-webbikehittäjiä esim. mobiililaiteohjelmistojen kehittäjät, sulautettujen laitteiden ylemmän ohjelmakerrosten kehittäjiä. Suoranaisesti ei taidettu hakea yhtään Windows-ohjelmistojen kehittäjää. Nämä kuulunevat kuitenkin .NET tekniikan yläkäsitteen alle.
  • IT-infra-asiantuntijoihin
  • webbikehityksen rooleihin. Tyypillisesti webbikehitys koostuu selaimessa toimivasta ohjelmistosta (front end), palvelinohjelmistosta (back end) ja tietokannasta (esim. sql-pohjainen). Full stack kehittäjä hallitsee koko pinon tietokantakyselyistä selaimessa käytettyihin ohjelmiin ja kieliin. Tämä kokonaisuus voi toimia pilvessä.
  • sulautettujen järjestelmien kehittäjät. Näissä rooleissa vaaditaan Linux-, C ja C++ tekniikoiden hallintaa.
  • pilviasiantuntijat ja –kehittäjät
  • erikoista, että pelikehittäjää haettiin vain yhdessä ilmoituksessa!

Johtopäätöksiä

Tämä kappale heijastelee jossakin määrin kirjoittajan omia näkemyksiä. Kieltämättä nämä näkemykset ovat muodostuneet julkisuuden kautta. Toisaalta tämän tutkimuksen data osittain – mutta ei täysin – vahvistaa näitä trendejä.

Artikkelin otsikko webbikehittäjä pilvessä viittaa siihen, että tällä hetkellä suurin kysyntä on webbitekniikoita osaavista kehittäjistä, jotka hallitsevat myös pilvipalvelun käytön! Toisin sanoen näiden webbisovellusten palvelin on pilvi.

Allekirjoittaneelle webbiteknologiana pitämieni tekniikoiden osuus oli jopa yllättävän suuri. Jos IT-alalle harkitsee suuntautumista, webbiteknologia on hyvä valinta. Osittain runsaus johtuu siitä, että on olemassa useita kilpailevia ’infrastruktuureja’. Microsoft-pohjaiselle webbikehitykselle on oma ohjelmistokokonaisuutensa. Java-pohjainen webbikehitys suosii toisia tekniikoita. Perinteisiä webbikehyksiä on myös LAMP Linuxille tai WAMP Windowsille. Uudempia webbikehyksiä ovat Python-pohjaiset tekniikat esim. Django tai node.js pohjainen Express. Django on käytössä monessa tunnetussa webbisovelluksessa. Kuitenkaan Django tai Express eivät saaneet mainintoja tutkimuksessa.

Monet Microsoft-ohjelmistoja käyttävät yritykset luottavat Microsoft-pohjaisiin tekniikoihin, joka näkyy myös tutkimuksen tuloksissa. Toisaalta tee-se-itse-opiskelija on helpoin ehkä valita avoimen lähdekoodin Python, L/WAMP tai node.js pohjainen kehitysympäristö.

Webbikehityksessä tärkeää ei ole osata kaikkea. Tärkeämpää olisi osata joku ohjelmistopino sql-pohjaisesta tietokannoista selaimessa pyöriviin ohjelmointikieliin kohtuullisen hyvin.

Selaimessa toimivan ohjelmointikielen perusta on yleensä Javascript. Toki on muitakin kieliä esim. Microsoft-maailmassa. Jos valintasi on Javascript, on tärkeää osata myös jokin selainohjelmiston kehitystä helpottava kirjasto tai ohjelmistokehys. Suosituin näistä on React mutta Angularin osaajille näyttää olevan myös kysyntää.

Tämän päivän webbipohjaiset sovellukset toimivat pilvessä. Se näkyy tuloksissa erittäin hyvin. Jonkun pilvitekniikan osaaminen on ajan tasalla olevalle työnhakijalle aika lailla pakollinen ominaisuus.

Webbitekniikoiden opiskelu sopii myös itseopiskelijoille. Edellä mainittuihin avoimen lähdekoodin kehitysympäristöihin löytyy netistä hyvin tukea. Toinen kotimainen eli englanti (kirjoittajan näkemys toisesta kotimaisesta) on syytä kohtuullisesti hallita. Ongelmia tulee vastaan mutta lähes kaikkiin ongelmiin löytyy Kuukkelilla eli netin hakukoneella vastaus, kunhan osaa muotoilla kysymykset sopivalla tavalla. Tavoitteellisempaa opiskelua tukee avointen yliopistojen tarjonta.

Tulevaisuudet teknologiat?

Paljon julkisuudessa näkyvät teknologiat tekoäly, koneoppiminen, IoT näkyvät aika heikosti kerätyssä aineistossa. Näiden osaajista väistämättä tulee kysyntää enemmän tulevaisuudessa. Ehkä alaa harkitseville näihin panostaminen ei ole turhaa.

Yksittäisen ohjelmointikielen osaamisella ei vielä pitkälle pääse. Tällä hetkellä eniten nousussa oleva ohjelmointikieli on Python. Se ja sen lukuisat kirjastot mahdollistavat monia asioita, jopa datalouhinnan. Jos yksi kieli pitää valita opiskelukohteekseen, Python lienee oikea valinta. Samalla kannattaa opetella Python-pohjainen webbikehitys esim. Djangolla.

Kirjoituksen toisessa osassa esittelen joitakin teknisesti suuntautuneita luokitteluja esim. suosituimmat ohjelmointikielet ym.

hurjas

One thought on “Webbikehittäjä pilvessä

Vastaa

Sähköpostiosoitettasi ei julkaista.