https://yliteippaus.fi/

Koodauksen rooli IT-avainalana

D

dingdongpingpong

Vieras
Aamuteevee ja keskustelua IT-alan työvoimapulasta.

Tuhansia vapaita työpaikkoja muttei tekijöitä, miksi ?
Johtuisko vaikka siitä että ala taitaa olla aika kypsää puuhaa, hiljaista yksinhöpinää pienessä tunkkaisessa työhuoneessa tietämyskoneen kanssa. Tai sitten kiertelet ympäri maailmaa höpöhöpöä yksiksesi ?

Olen sitä mieltä että jos ala on kiinnostava niin tekijöitä löytyy...jokin tässä alassa mättää siis ???
 
Kun julkisuudessa puhutaan yleisesti IT-alasta ja sen työvoimapulasta, niin todellisuudessa tarkoitetaan paria hyvin spesifiä ryhmää esim. koodareita. Näitä amiksesta (kaikella kunnioituksella) valmistuneita "mikrotukihenkilöitä" on taas  työttöminä pilvin pimein.
 
Kait se koodaripula lienee tilapäistä, eikös ne mahtane opettaa sitä paljon julkisuudessa puhuttua koodaamista jo nykyisen ajan "kansakoulussa"? Vai tarvitaanko siihen työhön normaalia enemmän järkeä ja siksi niitä yksilöitä ei joka "Alepan nurkalta" löydy?
 
Se koodarielämän todellisuus valkenee monelle vasta koulutuksen jälkeen. Tiukkaa projektityötä konsulttimaisissa rooleissa (nykyään), ja samalla pitäisi opetella uutta joka päivä, koko ajan ja sisäistääkin nämä, ja samalla tuottaa tehokkaasti ratkaisuja. Ei se ole mitään herkkua.
 
Tarve on valtava ja kovista koodareista kilpaillaan kansainvälisesti.

Vaarivanhus sanoi:
Kait se koodaripula lienee tilapäistä, eikös ne mahtane opettaa sitä paljon julkisuudessa puhuttua koodaamista jo nykyisen ajan "kansakoulussa"?

Aiemminkin. Oma tyttö on nyt "ekalla" ja on paljonkin koodannut jo esikoulussa, koulussa ja vapaa-ajalla.
 
Koodailuakin on niin monenlaista, kuten maailmassa on kieliäkin monia, niin myös koodauskieliä ja tekniikoita on monia erilaisia ja harva tuntee kaikki. Ennen päästiin vähemmällä eri kielien osaamisella, mutta nykyään vaaditaan tässäkin moniosaamista. Monessa paikassa on totuttu ohjelmoimaan sanotaan vaikka kuvainnollisesti suomeksi, mutta nyt onkin todettu, että uudempi sukulaiskieli unkari olisi parempaa uudessa projektissa. Kuinka moni meistä osaa unkaria tuosta vaan?

Hyvä että kouluissa opetetaan sitä ajatusmaailmaa koodailuun, mutta siitä on pitkä tie vielä syvempään oppimiseen. Itsekin osaan alalla ollessani perusasioita ja tunne eri kieliä, mutta ei minusta hyvää koodaria tule tekemälläkään, siksipä touhuan niiden sivussa olevien tekniikoiden parissa. Johan sitä sanottiin, ettei Nokialta pois potkitut koodarit saa uusia töitä kuin lähihoitajina, koska osaavat vain Nokian oman kielen, jota ei missään muualla käytetä. No kyllä onneksi heistäkin moni on vielä oppinut uusia tapoja, kunhan koodipää vaan toimii.

Nykyään siis haetaan moniosaavia koodareita ja heitä ei kasva puussa, kuten ei kasva omenoitakaan läpi vuoden meillä.
 
Sitten esimerkiksi pankkimaailmassa on niin vanhoja järjestelmiä että niitä tuntee vain eläkeikää lähestyvät tai jopa ylittäneet tekijät eikä uusia ole tulossa. Ei oo paljon pelkoa potkuista niin kauan kuin viimeisetkin järjestelmät on uusittu.  :)

kahe sanoi:
Hyvä että kouluissa opetetaan sitä ajatusmaailmaa koodailuun, mutta siitä on pitkä tie vielä syvempään oppimiseen.

Joo, eihän se ketään alan ammattilaiseksi opeta mutta parempi tapa kuitenkin mun mielestä kuin se että yläasteella on joku pakollinen C-kurssi joka sitten rämmitään läpi kavereiden tekemillä ohjelmistoilla. Pelien ja leikin varjolla kun oppii ohjelmistojen logiikan niin siitä on muutenkin hyötyä vaikkei koskaan koodaisi riviäkään sen jälkeen.
 
dingdongpingpong sanoi:
Johtuisko vaikka siitä että ala taitaa olla aika kypsää puuhaa, hiljaista yksinhöpinää pienessä tunkkaisessa työhuoneessa tietämyskoneen kanssa. Tai sitten kiertelet ympäri maailmaa höpöhöpöä yksiksesi ?
Ei ole todellakaan tuollaista.


Ongelmahan johtaa sinne, että matematiikan ja fysiikan opiskelun suosio on pitkään jo ollut laskusuunnassa.
 
Niin. Kuinka tähdellistä koodaamisessa on jonkunkin verran oleellista ymmärtää myös sitä varsinaista asiaa eli tavoitetta, johon koodaamisella pyritään? Tekeekö yksi koodari jotain pikku palikkaa jonkun "arkkitehdin" tekemän perussuunnitelman mukaan, jolloin tehtävän ohjelmiston kokonaisuutta ei välttämättä tarvitse edes ymmärtää vaan ainoastaan se pikku palanen? Onko se palikoiden yhteen ymppäämisen ymmärtäminen, se arkkitehdin työ sitä, joka on kaikkein vaikeinta?
 
Itsehän en koodaamisesta mitään ymmärrä, mutta jotain pitää sanoa kuitenkin 8).

Oma käsitykseni on, että koodarin jos kenen pitää ymmärtää kokonaisuuksia: sitä, mitä mikin yksittäinen koodinpätkä saa aikaan, mutta myös ja varsinkin sitä, mitä erilaiset koodiketjut toisiinsa liitettyinä aiheuttavat. Kyllähän siinä on merkkiyhdistelmä poikineen, ja yhden ainoan pikku pilkun puuttuminen tai oleminen väärässä paikassa voi sotkea koko ketjun ja pahimmillaan tuhota sen, mihin tuolla ketjulla alunperin pyrittiin.

Jos olen oikein ymmärtänyt, on runsaasti eri koodikieliä, niiden variaatioita ja versioita, jotka saattavat esiintyä aineistossa sekaisin (?). Koodarin pitää tietää, miten koodia pitää muokata, jotta uudet ominaisuudet toimivat oikein.

Olen siinä uskossa, että tämäkin foorumisofta sisältää melkoisia koodipaketteja, joista meillä rivikäyttäjillä ei ole minkäänlaista käsitystä.

Oma koodarin "urani" rajoittuu muutamaan reikäkorttinippuun, joiden avulla piti saada reikänauhoilta sisältö ulos.

 
Vertauskuvana voi käyttää talon rakentamista. Toiset osaa tehdä perustukset, jonka päälle tulee runko toisten toimesta. Ovet ja ikkunat tulee pienempinä toiminnallisuuksina eri tekijöiltä. Sähköt ja LVI jälleen eri tekijöiltä. Kaikki rakentuu arkkitehdin piirustusten ja suunnitelmien mukaisesti. Joku sitten sooloilee ja tekee vaikka sisäkaton levytyksen nauloilla ja sehän romahtaa jossain välissä eli softa bugi. Riippuu talon koosta, tarviiko yhden ymmärtää koko konaisuus vai riittääkö vain se oman palikan tietämys, eli rakentaako itse leikkimökkiä vai tuleeko isompi talo palikoista, jossa suunnitelmilla on se suurin merkitys.
 
Rakennusalaan vertaaminen ontuu pahoin siitä mielessä, että nykyään on ääriharvinaista, että joku antaa valmiit piirrustukset käteen malliin laita putki tuohon ja pistorasia tuohon ei. Ei, ei. Sulla laitetaan speksi käteen mitä sen palikan pitää tehdä ja arkkitehtuurin suuntaviivat. Itse pitää miettiä miten se sen tekee annettujen puitteiden sisällä. Kokonaisuuksien ymmärtäminen on hyvinkin tärkeätä ja nykyään on harvoin omia leikkikenttiä projektien sisällä, että tarvitsisi välittää vain siitä omasta palikasta.

Itse koodaaminen ei olekaan se ongelma vaan nykyään ohjelmistosuunnittelijan pitää osata ja ymmärtää paljon muutakin kuin vaan osata tuottaa koodia.
 
Trollsten sanoi:
Sulla laitetaan speksi käteen mitä sen palikan pitää tehdä ja arkkitehtuurin suuntaviivat. Itse pitää miettiä miten se sen tekee annettujen puitteiden sisällä. Kokonaisuuksien ymmärtäminen on hyvinkin tärkeätä ja nykyään on harvoin omia leikkikenttiä projektien sisällä, että tarvitsisi välittää vain siitä omasta palikasta.

Näin on nimenomaan sen koodarin rooli tänä päivänä, kun ei enää ole aikaa siihen, että ensin suunnitelmaan vuosi, koodataan toinen ja testataan kolmas. Ehkä vielä jossain Tiedon julkishallinnon projekteissa voidaan toimia näin, mutta ei yrityksissä.
 
Kyllä moni kohta menee samoin. Halvalla hinnalla ei ole piirustuksia ja tehdään parhaan ymmärryksen mukaan kuten sanoit. Rahalla tehtynä sulla voi olla hyvät suunnitelmat pohjana, mikä nykyään on harvoin sekä rakennuksilla että ohjelmistoprojektissa. Sutta sitten syntyy molemmissa. Rinnalla sitten pitää oppia sitä uutta, kuten aurinkolämmön/sähkön hyödyntäminen tai esimerkiksi uusien lataustolppien toteuttaminen.
 
Itse olen koodauksen parissa duunissa. Pulaa on tekijöistä, jotka saavat asioita aikaiseksi. Mulla tosiaan tuollainen varmaan sitten hyvin perinteinen konsulttirooli, että ensin selvitetään mitä pitäisi tehdä, sitten kädet saveen ja hommiin. Lopulta tehdään juuri se mitä tarvitsee eikä hurjasti enempää. Suunnitellaan sitä mukaa kun edetään. Tämän tyyliseen hommaan alalta ei löydy tarpeeksi tekijöitä. Täytyy osata kommunikoida ja toteuttaa. Täytyy hallita kokonaisuudet sekä yksityiskohdat.

Jos nyt lähdetään vertaamaan siihen rakentamiseen, niin mulle voi jutella siinä vaiheessa kun tekee mieli rakentaa. Hoidan homman sitten siitä eteenpäin valmiiksi. Siinäpä sitä haastetta sitten onkin.
 
Itse visioin ikään kuin palasista koottavaa Teijo-taloa, jota voidaan laajentaa pala kerrallaan robottien testaten vaihe vaiheelta ja talo voidaan siirtää perustoineen paikasta toiseen erilaiseen ympäristöön sopien eri putki ja kaapeliliitäntöihin. Joo, viikon kotona istuminen ja lääkkeet ovat kohdillaan. Onneksi maanantaina saa pään taas takaisin oikeisiin töihin.
 
Kiitos Q.
Koska moiseen usutin, niin laitanpa muutaman sanasen, sen vähän, minkä verran jouduin aiheen kanssa tekemisiin.

Itselle kertyi työelämässä ollessa varsinaisen leipätyön kylkiäisenä jonkin verran työtä, jota saattaa nimittää jonkin sortin koodaamiseksi. Elettiin 90-luvun alkupuolta, MS-DOS oli silloin tietokoneiden käyttöjärjestelmänä. Kerääntyi monenlaista tarvetta jo silloin hyödyntää tietokoneita työrutiineita avustamaan ja helpottamaan.
Yritin toteuttaa joitakin rutiineita tekstinkäsittelyohjelmalla, muistaakseni Word5 sekä taulukkolaskelmaohjelmalla, taisi olla jo silloin Excel, mutta hiemankin suurempia tietomääriä käsiteltäessä ne tukehtuivat vapaan keskusmuistin puutteeseen.

Jotenkin "vahingossa" törmäsin siinä vaiheessa DOS-pohjaiseen relaatiotietokantaan, Paradox for Dos. Data sijoitettiin taulukoihin, jotka yhdistyivät avainkenttien avulla. Taulukoita käsiteltiin lomakkeilta, tulosteita varten tehtiin omat lomakkeensa, taulukoihin voitiin tehdä kyselyitä ja saatuja vastauksia hyödynnettiin.

Jotta halutut toiminnot olisi saatu käytöltään yksinkertaiseksi, niin sitä varten piti tehdä scriptejä, jolla sitten otettiin se varsinainen hyöty esille. Minusta tuntuu, että se scriptien teko vastasi suurin piirtein sitä, jota nykyisin ymmärretään käsitteellä "koodaaminen"?

Eräs pikku käytännön esimerkki hyödyntämistarpeesta:
Oli tarve tehdä ostoslista, jonka perusteella saataisiin tilattua päämieheltä tavaraa varastoon ennen kuin ne pääsisivät loppumaan. Tavaroilla oli erilaisia toimitusaikoja, vaikkapa 8 viikkoa, joillain viikko, jollain toisella 2 viikkoa jne. Tavaroiden menekki oli kaiken lisäksi kausiluonteista, kesällä enemmän, talvella vähemmän.
Tavoitteena oli optimoida asiaa siten, että varaston arvo olisi mahdollisimman pieni, mutta kaikkia määriteltyjä nimikkeitä kuitenkin löytyisi myytäväksi suoraan varastosta.

Edellä kerrottu lienee aivan normaali varastonhallintaa nykypäivänäkin. Pulmana, miten toteuttaa tarve siihen maailman aikaan  koneen avustamana, sen aikaisilla laitteilla.
Ratkaisu löytyi katsomalla varastosaldojen historiaan vuoden kierrolla, "koodata" scripteihin ohjeet ja lopputuotteena saada se ostoslista. Vaikkapa kerran viikossa. Napinpainalluksella.
Varastonimikkeitä oli noin 2000 kpl.

Kyseinen sovelluskehitin, jolla värkkäsin, oli ns. tulkkaava, mutta tietokoneiden tehottomuudesta huolimatta tulkkaavan toimintaperiaatteen johdosta se kuitenkin kykeni hommasta suoriutumaan. Käsiteltävää "tavaraa" oli suhteellisen vähän, ehkäpä siksi? Sovelluskin oli sen verran pieni, ettei siitä mitään usean ihmisen projektia tarvinnut synnyttää, mutta silloin se yksi ihminen joutui katsomaan ja ymmärtämään asian kokonaisuutena.
.......
Näin jälkeenpäin olen aina ihmetellyt, miten projektissa, jossa tarvitaan vaikkapa 1000 koodaajaa, kyetään kokonaisuus pitämään "hanskassa", että syntyy onnistunut lopputuote?

Onko niin, että valmista ei suurissa kokonaisuuksissa saavuteta ollenkaan ja asioita joudutaan paikkaamaan päivityksillä, "ruokahalun kasvaessa syödessä" jolloin tarvitaan sovellukseen muutoksia? Vai korjaillaanko vain pelkkiä bugeja? Vai tarvitaanko koodareita molemmista syistä vielä sovelluksen valmistumisen jälkeenkin? Uutta tehtäessä koodareita tietenkin tarvitaan, mutta kuinka suuri porukka paikkailee vanhaa ja miten paljon väkeä luo tyystin uutta?

Huh, tulikohan liikaa kysymyksiä yhdellä kertaa?  :)
 
Vaarivanhus sanoi:
Näin jälkeenpäin olen aina ihmetellyt, miten projektissa, jossa tarvitaan vaikkapa 1000 koodaajaa, kyetään kokonaisuus pitämään "hanskassa", että syntyy onnistunut lopputuote?

Tuohan on ollut jo suhteellisen vaativa projekti.

Minun henkilökohtainen koodausklimaksi lienee samaa tasoa vaikka olin ihan virallisesti hetken it-alalla vuonna miekka ja kirves.

Tein ohjelman joka luki jeesuksenaikaisesta sähköisestä työajanseurantapömpelistä tietoa ja lähetti sen sähköpostilla automaattisesti asianosaisille (työntekijät, esimiehet jne.)

Pakko sanoa että meinasi 3 viikon kirjekurssin visual basic kieltä suorittaneena järki loppua hetki alkuunsa.

Yllättäen vaikeinta ei ollut saada luettua data sisään ja pilkottua oikeanlaiseen muotoon vaan pahin ongelma oli saada muotoiltua s-posti raporteista järjellisen näköisiä.

Samaa olen muuten itse ihmetelly, miten helvetissä useiden satojen ihmisten ohjelmointiprojekteissa voi kenelläkään pysyä kokonaisuus hanskassa.

Vai onko niin että lopulta hyvin pieni ydinporukka tekee suurimman osan käytännön työstä.

Tosin ei mulla ole mitään hajua edes siitä millä ohjelmointikielillä / ympäristöillä nykyään tehdään softaa...Tuskin Visual Basicillä :)


 
Kyllähän niitä ohjelmoinnin alkeita opetettiin jo 80-luvun lopulla yläasteella kun oli valinnaisena aineena ATK. Ainakin Logo oli yksi ohjelmointikieli jossa piirreltiin kuvia antamalla komentoja "turtlelle".
Kotona sitten Basicilla tuli jotain tehtyä mutta eipä minusta kyllä tullut ohjelmoijaa työelämässä.
 
En tiedä mistä julkisuudessa esitetyt tuhansien puuttuvien osaajien luvut on repäisty, mutta kovista osaajista on luonnollisesti kova kilpailu. Hesarissa oli jokin aika sitten parikin asiaa sivuava mielipidekirjoitus, tämä oli mielestäni niistä parempi:

https://www.hs.fi/mielipide/art-2000005876596.html

Jos ei valmiista osaajista ja heidän epäonnistuneista rekry-yrityksistä puhuta, osaajapulaan tuskin löytyy suoraa ratkaisua ainakaan koulujen opetusohjelmia rukkaamalla. Ennemminkin yritysten pitäisi ottaa itse isommin vastuuta osaajien koulutuksesta. Heillähän on kuitenkin ajantasaisin tieto siitä mitä teknologioita tarvitaan, millä tasolla ja kuinka pitkäksi aikaa.

Keke78 sanoi:
Samaa olen muuten itse ihmetelly, miten helvetissä useiden satojen ihmisten ohjelmointiprojekteissa voi kenelläkään pysyä kokonaisuus hanskassa.

Kyllähän se haastavaa on ja monessa vaiheessa voi mennä metsään ihan jo myyntivaiheesta lähtien. Sopivaan osiin palastelu, ketterät kehitysmenetelmät, säännöllinen kommunikaatio, jatkuva testaaminen ja iterointi ym. auttavat pitkälle, mutta vaativat tekijöiltä (ja asiakkaalta) proaktiivisuutta ja paljon muutakin kuin hyvää koodaustaitoa.
 
dingdongpingpong sanoi:
Tuhansia vapaita työpaikkoja muttei tekijöitä, miksi ?


Sama ongelma kuin aina ennenkin. Koodaajista ei ole pulaa, hyvistä koodaajista on. Ja kymmenen huonoa ei korvaa yhtä hyvää. Ei mitään uutta auringon alla.
 
Kyllä koodaajista on pulaa, kun edes niitä huonoja koodaajia ei riitä hakemaan kaikkiin avoimiin paikkoihin ja sitten on se raadollinen edellä mainittu totuus hyvistä koodaajista. Tästä on tehty tutkimuksiakin ja yhden sellaisen mukaan koodaajien tuottavuudessa voi olla jopa 28 kertainen ero. Itse epäilisin että jopa suurempi, mutta ehkä tutkimuksessa on suljettu ulkopuolelle ne tapaukset, joissa tuottavuus on nolla tai negatiivinen, kun kompetenssi ei riitä.

Sitä puhuin töissä viimeksi tänään, että näissä hommissa ei pärjää AY-asenteella, että työnantajan on koulutettava kaikki mitä minun pitää osata uutta. Sitä uutta on opeteltava jatkuvasti ja joka päivä. Ala menee niin paljon eteenpäin, että parhaat erottuvat myös sillä, että käyttävät osan vapaa-ajastaan opetellakseen uutta ja sillä tavalla pääsevat parempiin hommiin, kun osaavat enemmän ja rynnivät siinä osaamisessa niiden ohi, jotka tuijottavat työaikoja ja liiton teesejä. Minulla on vahvasti sellainen kuva, että tällä alassa parhaiten pärjää palkkaneuvotteluissa osaamalla enemmän kuin muut ja tekemällä hommat paremmin, nopeammin ja laadukkaammin kuin muut. Heikoimmin pärjäävät "liiton miehet", joille maksetaan vain se TESsin mukainen palkka. Heidän tuotokset on myös niitä kaikkein heikoimpia.
 
Keke78 sanoi:
Samaa olen muuten itse ihmetelly, miten helvetissä useiden satojen ihmisten ohjelmointiprojekteissa voi kenelläkään pysyä kokonaisuus hanskassa.

Vai onko niin että lopulta hyvin pieni ydinporukka tekee suurimman osan käytännön työstä.

Vuosituhannen vaihteen jälkeen tätä samaa ongelmaa ratkoi Amazon kehittäessään verkkokauppa-alustaansa. Syntyi ajatus mikropalvelupohjaisesta ohjelmistoarkkitehtuurista.

http://odetodata.com/2016/04/amazon-microservices-and-the-birth-of-aws-cloud-computing/

Sen verran hyvin saatiin ongelma ratkaistua, että verkkokaupan lisäksi ovat maailman suurin pilvipalveluiden tarjoaja.

https://aws.amazon.com/
 
Täällä on sen verran kovan luokan ammattilaisia, että omien suoritusten esittely tuntuu lapselliselta. Tuli vaan mieleen, että jossain vaiheessa jouduin värkkäämään WordPerfect -tekstinkäsittelyohjelmalla makroja, joiden avulla yksinkertaistin pitkähköjä rutiineita työn nopeuttamiseksi ja helpottamiseksi. Kerran sain kokonaisen kirjan verran jollain aataminaikuisella Nokian kehittämällä ohjelmalla tehtyjä tiedostoja, joista piti saada järkevästi uudemmalla tektsurilla päivitettävä kokonaisuus. Siinäkin WP:n makrot tulivat avuksi. Lisäksi muokkasin tiedoston kokonaan uuteen layouttiin, jossa mm. nimien poiminta oli mahdollista.

Enpä tiedä, onko tuollaisilla mitään tekemistä koodaamisen kanssa, mutta jonkinlaista tyydytystä tuotti se, että aiemmin kovin kömpelöstä hommasta tuli järkevästi päivitettävä kokonaisuus. Lisäksi oletan, että työstä maksettu könttäkorvaus oli mitoitettu aiemman "pitkän kaavan" mukaan, ja itse pystyin vaikuttamaan työrutiinien määrään. Tässä projektissa, jota teimme yhdessä vaimoni kanssa, olimme toistakymmentä vuotta. Kyseessä oli vuosittain ilmestynyt julkaisu.
 
Takavuosina kun IT -ala tunnettiin paremmin YT -alana, niin nuoret hakeutui muillle aloille. Tällä hetkellä se sitten näkyy työvoimapulana. Toisaalta maailma digitalisoituu edelleen, joten saapa nähdä milloin tuo kuilu saadaan kurottua umpeen.