Osaako joku selittää mulle, että mitä koodari käytännössä tekee?
Kommentit (85)
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Kukaan ei vielä maininnut, että loogisen ajattelun lisäksi koodaaja tarvitsee abstraktia hahmotuskykyä. Kun puhutaan monimutkaisista tietorakenteista, niin täytyy kyetä päässään hahmottamaan, miten vaikka tieto mallinnetaan objekteiksi ja kuinka kannattaa periyttää ja jakaa useammiksi objekteiksi jne. Ainakin itsellä juuri tuo vie myös aikaa. Sitten kun homma on hahmottunut päässä ja kuvina itselle, niin varsinainen koodin kirjoittaminen on sitten se toinen puoli.
Myös debugointi eli vian selvitys on tärkeää. Pitää kyetä päättelemään miksi järjestelmässä tapahtuu virhetilanne ja mistä kohtaa sitä lähtee tutkimaan tarkemmin ja millä työkaluilla.
Niin kaikki ei osaa. Mutta matematiikka, ei ole mitään osuutta.
Matematiikalla ei ole suoraan osuutta koodaamiseen useimmissa tapauksissa. Mutta matematiikan hallitseminen on yhteydessä niihin taitoihin, joita myös koodaamisessa tarvitaan.
Sitten pitää muistaa erilaiset suunnittelumallit (pattern), joita käytetään samalla tavalla eri ohjelmointikielistä riippumatta. Eli pitää usein opetella uusia tapoja tehdä softaa. Tulee uusia frameworkeja, joiden avulla saa tehokkaampaa ja/tai näyttävämpää tulosta aikaan.
Hommaa riittää tällä saralla ja vauhti sen kuin kiihtyy.
Tietokoneet on matemaattisia laitteita ja kaikki ohjelmakoodi on matemaattisen logiikan puolelle menevää silloinkin, kun kyse on jonkin sellaisen yksinkertaisen asian tekemisestä joka ei varsinaisesti edellytä tekijältä matemaattista asiantuntemusta. Sitä aletaan tarvitsemaan kuitenkin hyvin nopeasti. Tässä on mm. peliohjelmoinnista haavaileville 3D-puolen alkeistason alkeita käsitteleviä kirjoja:
http://canvas.projekti.info/ebooks/Mathematics%20for%203D%20Game%20Prog…
https://tfetimes.com/wp-content/uploads/2015/04/F.Dunn-I.Parberry-3D-Ma…
Ennen kuin joku ehtii sanoa, niin ei näitä tarvita jos suunnitelmissa on jonkin pasianssipelin ohjelmointi. Mutta jos ihan vakavissaan suunnittelee uraa niin sitten kyllä. Periaatteessa noiden kirjojen oppien pitäisi aueta viimeistään lukiomatikalla, mutta käytännössä nykyisin nuoremmman sukupolven matikantaidot ovat vähän mitä sattuu.
No ei se nyt ihan noinkaan mene. Perus pelikoodarin kannattaa osata koodata Unityllä, ei koodata uutta Unityä.
Oli joo aika kaukaa haettu, kun toteaa, että perusasioissa tarvitaan matematiikkaa ja sitten ottaa esimerkiksi 3D-moottorin ohjelmoinnin :D Suurin osa koodaajista ei tee 3D-pelejä. Sitä en kiistä, etteikö matematiikkaa jossain muodossa sivuttaisi. Mutta harvemmin kovin korkean tason laskuja. Itsekin olen koodannut eräässä projektissa vaikeita fysiikan kaavoja sisältäviä toimintoja, mutta ne kaavat oli jo valmiiksi mietitty muualla, eikä minun täytynyt ymmärtää niistä kuin pintaraapaisu.
m85 kirjoitti:
yksinkertaisin koodi on minun mielestä html, eli tällä koodilla luodaan nettisivut, itsekki tätä harjotellu, on ihan hauskaa kun pääsee alkukynnyksen yli, matikkaa tarvii mihinkää, seon lukiolaisten vääristämä idealogi, englantia tarviit ja sillä pääsee alkuun
tämä on vähän niinkuin leegoilla leikkisit, sijoitat koodin oikeeseen kohtaan ja sitten sulla on talo
Ohis. HTML ei ole ohjelmointikieli siinä mielessä, että kertoisit sillä miten asiat tehdään (imperatiivisesti käyttäen kontrolli- ja toistolauseita) vaan pelkästään sillä latelet (declaratiivisesti) toisten tekemiä tägejä peräkkäin, jotka sitten selain tulkitsee ja piirtää web sivun.
Web sivun sisään voi toki upottaa ja sieltä viitata ulkoisiin JavaScript ja CSS -tyylisuvuihin, joilla HTML sivujen tekeminen täydentää sitä niin, että sen voi sanoa olevan ohjelmoitu, koska JavaScript on turing complete ohjemointikieli.
Mutta pelkkä HTML:n kirjoittaminen on yhtä vähän ohjelmointia kun vaikka Wordilla asiakirjan kirjoittaminen ja siinä erilaisten tyylien käyttäminen.
Vierailija kirjoitti:
Koodari suunnittelee ja toteuttaa erilaisia ohjelmistoja. Esimerkiksi tämänkin keskustelufoorumin on joku koodari tehnyt.
-Tämän sivun koodin saa näkyville painamalla esim. jossakin noin keskellä sivua hiiren oikeanpuoleista näppäintä ja valitsemalla avautuvasta valikosta "Näytä sivun lähdekoodi".
-Siitä voi sitten opiskella miten toimii ja miten sivu on koodattu...ja kiinnostaako..mua ei kiinnostanut vaikka opiskelin alaa. Täytyy olla tietynlainen [tieto]konemainen ajattelutapa henkilöllä niin voi ehkä onnistua.,.
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Kukaan ei vielä maininnut, että loogisen ajattelun lisäksi koodaaja tarvitsee abstraktia hahmotuskykyä. Kun puhutaan monimutkaisista tietorakenteista, niin täytyy kyetä päässään hahmottamaan, miten vaikka tieto mallinnetaan objekteiksi ja kuinka kannattaa periyttää ja jakaa useammiksi objekteiksi jne. Ainakin itsellä juuri tuo vie myös aikaa. Sitten kun homma on hahmottunut päässä ja kuvina itselle, niin varsinainen koodin kirjoittaminen on sitten se toinen puoli.
Myös debugointi eli vian selvitys on tärkeää. Pitää kyetä päättelemään miksi järjestelmässä tapahtuu virhetilanne ja mistä kohtaa sitä lähtee tutkimaan tarkemmin ja millä työkaluilla.
Niin kaikki ei osaa. Mutta matematiikka, ei ole mitään osuutta.
Matematiikalla ei ole suoraan osuutta koodaamiseen useimmissa tapauksissa. Mutta matematiikan hallitseminen on yhteydessä niihin taitoihin, joita myös koodaamisessa tarvitaan.
Sitten pitää muistaa erilaiset suunnittelumallit (pattern), joita käytetään samalla tavalla eri ohjelmointikielistä riippumatta. Eli pitää usein opetella uusia tapoja tehdä softaa. Tulee uusia frameworkeja, joiden avulla saa tehokkaampaa ja/tai näyttävämpää tulosta aikaan.
Hommaa riittää tällä saralla ja vauhti sen kuin kiihtyy.
Tietokoneet on matemaattisia laitteita ja kaikki ohjelmakoodi on matemaattisen logiikan puolelle menevää silloinkin, kun kyse on jonkin sellaisen yksinkertaisen asian tekemisestä joka ei varsinaisesti edellytä tekijältä matemaattista asiantuntemusta. Sitä aletaan tarvitsemaan kuitenkin hyvin nopeasti. Tässä on mm. peliohjelmoinnista haavaileville 3D-puolen alkeistason alkeita käsitteleviä kirjoja:
http://canvas.projekti.info/ebooks/Mathematics%20for%203D%20Game%20Prog…
https://tfetimes.com/wp-content/uploads/2015/04/F.Dunn-I.Parberry-3D-Ma…
Ennen kuin joku ehtii sanoa, niin ei näitä tarvita jos suunnitelmissa on jonkin pasianssipelin ohjelmointi. Mutta jos ihan vakavissaan suunnittelee uraa niin sitten kyllä. Periaatteessa noiden kirjojen oppien pitäisi aueta viimeistään lukiomatikalla, mutta käytännössä nykyisin nuoremmman sukupolven matikantaidot ovat vähän mitä sattuu.
No ei se nyt ihan noinkaan mene. Perus pelikoodarin kannattaa osata koodata Unityllä, ei koodata uutta Unityä.
Ymmärsit asian. Sitähän tässä on koko ajan yritetty selventää, että "koodari" on suhteellisen yksinkertainen perustason työ jossa ei edellytetä korkeaa koulutusta ja matemaattista osaamista. Tästä syystä tavallisista koodareista ei ole valtavaa pulaa eikä peruskoodareille makseta kovin kaksista palkkaa. Sitten kun on tarvetta kehittää vaikka tässä esimerkissä uusi 3D engine niin homma alkaa menemään ihan toisen tasoisia matemaattisia asiantuntijoita vaativaksi ja näille myös maksetaan sen mukaisesti.
Ne kovasti uutisissa hypetyt 7-15 tonnin työt on tohtoritason töitä eikä mitään peruskoodareitten hommia. Peruskoodaus alkaa olemaan jo nykypäivän vastine entisaikojen tehdasduunarihommille ja kovaa vauhtia sitäkin ollaan (toistaiseksi vaihtelevalla menestyksellä) ulkoistamassa halvempiin maihin. Silloin jää meille ne kovimman pään työt, eli kannattaa panostaa matemaattiseen asiantuntemukseen jos on nuori ja vielä ehtii.
Kuis moni teistä osaa koodata Mumpsilla? Siis ihan oikeaa softaa? Siinäpä vasta vekkuli ohjelmointikieli.
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Millaista älykkyyttä koodaus vaatii? Matemaattista?
Ei vaadi matematiikka juuri lainkaan. Paitsi korkeimmalla tasolla. Teköäly jne. Logiikkaa vaatii, joka onkin enemmän filosofiaa kuin matematiikkaa.
Mun juuri lukiosta valmistunut lapsi on nyt ensimmäisessä kesätyössään koodaushommissa ja tuohon hommaan tarvittiin melko vahvaa matematiikan osaamista. Hänellä teetettiin työhaastattelussa laskutehtäviä ja hän sai palautetta, että osaa enemmän kuin jotkut korkeakouluopiskelijat. Nyt kun hän on pari viikkoa ollut töissä, on jo käynyt ilmi, että tuossa hommassa olisi hyvä osata tilastomatematiikkaa jopa enemmän kuin mitä korkeakoulussa edes opetetaan.
Joku kysyi palkasta. Tällaisille juuri lukiosta päässeille maksetaan kesätöissä 2000€/kk. Tuntuu olevan ihan yleinen lähtötaso, olen useammaltakin kuullut tuollaisesta palkasta. Mitään ylärajaa ei tunnu olevan, mutta todella osaavaksi koodariksi voinee laskea itsensä, jos saa vähintään 8000€/kk.
Justjust,osaa pelkkä matikkaa niin osaa koodata?,ehkä olen väärässä mutta siinä varmaan pitäisi myös osata koodeja,ilmeisesti ne opitaan sitten matikantunneilla...
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Kukaan ei vielä maininnut, että loogisen ajattelun lisäksi koodaaja tarvitsee abstraktia hahmotuskykyä. Kun puhutaan monimutkaisista tietorakenteista, niin täytyy kyetä päässään hahmottamaan, miten vaikka tieto mallinnetaan objekteiksi ja kuinka kannattaa periyttää ja jakaa useammiksi objekteiksi jne. Ainakin itsellä juuri tuo vie myös aikaa. Sitten kun homma on hahmottunut päässä ja kuvina itselle, niin varsinainen koodin kirjoittaminen on sitten se toinen puoli.
Myös debugointi eli vian selvitys on tärkeää. Pitää kyetä päättelemään miksi järjestelmässä tapahtuu virhetilanne ja mistä kohtaa sitä lähtee tutkimaan tarkemmin ja millä työkaluilla.
Niin kaikki ei osaa. Mutta matematiikka, ei ole mitään osuutta.
Matematiikalla ei ole suoraan osuutta koodaamiseen useimmissa tapauksissa. Mutta matematiikan hallitseminen on yhteydessä niihin taitoihin, joita myös koodaamisessa tarvitaan.
Sitten pitää muistaa erilaiset suunnittelumallit (pattern), joita käytetään samalla tavalla eri ohjelmointikielistä riippumatta. Eli pitää usein opetella uusia tapoja tehdä softaa. Tulee uusia frameworkeja, joiden avulla saa tehokkaampaa ja/tai näyttävämpää tulosta aikaan.
Hommaa riittää tällä saralla ja vauhti sen kuin kiihtyy.
Tietokoneet on matemaattisia laitteita ja kaikki ohjelmakoodi on matemaattisen logiikan puolelle menevää silloinkin, kun kyse on jonkin sellaisen yksinkertaisen asian tekemisestä joka ei varsinaisesti edellytä tekijältä matemaattista asiantuntemusta. Sitä aletaan tarvitsemaan kuitenkin hyvin nopeasti. Tässä on mm. peliohjelmoinnista haavaileville 3D-puolen alkeistason alkeita käsitteleviä kirjoja:
http://canvas.projekti.info/ebooks/Mathematics%20for%203D%20Game%20Prog…
https://tfetimes.com/wp-content/uploads/2015/04/F.Dunn-I.Parberry-3D-Ma…
Ennen kuin joku ehtii sanoa, niin ei näitä tarvita jos suunnitelmissa on jonkin pasianssipelin ohjelmointi. Mutta jos ihan vakavissaan suunnittelee uraa niin sitten kyllä. Periaatteessa noiden kirjojen oppien pitäisi aueta viimeistään lukiomatikalla, mutta käytännössä nykyisin nuoremmman sukupolven matikantaidot ovat vähän mitä sattuu.
No ei se nyt ihan noinkaan mene. Perus pelikoodarin kannattaa osata koodata Unityllä, ei koodata uutta Unityä.
Ymmärsit asian. Sitähän tässä on koko ajan yritetty selventää, että "koodari" on suhteellisen yksinkertainen perustason työ jossa ei edellytetä korkeaa koulutusta ja matemaattista osaamista. Tästä syystä tavallisista koodareista ei ole valtavaa pulaa eikä peruskoodareille makseta kovin kaksista palkkaa. Sitten kun on tarvetta kehittää vaikka tässä esimerkissä uusi 3D engine niin homma alkaa menemään ihan toisen tasoisia matemaattisia asiantuntijoita vaativaksi ja näille myös maksetaan sen mukaisesti.
Ne kovasti uutisissa hypetyt 7-15 tonnin työt on tohtoritason töitä eikä mitään peruskoodareitten hommia. Peruskoodaus alkaa olemaan jo nykypäivän vastine entisaikojen tehdasduunarihommille ja kovaa vauhtia sitäkin ollaan (toistaiseksi vaihtelevalla menestyksellä) ulkoistamassa halvempiin maihin. Silloin jää meille ne kovimman pään työt, eli kannattaa panostaa matemaattiseen asiantuntemukseen jos on nuori ja vielä ehtii.
Ei ne ole aina matemaattisia ne kovemman tason koodaushommat. Pitää olla monipuolinen, kuten fullstack-kehittäjä, joka pystyy yksin ratkomaan koko järjestelmän ongelmia. Ja tekemään skaalautuvia reaaliaikaohjelmistoja. Se ei tosiaan ole mitään tehdashommaa ja sitä nykyään tarvitaan paljon. Korkeampi matematiikka ei ole edellytys.
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Kukaan ei vielä maininnut, että loogisen ajattelun lisäksi koodaaja tarvitsee abstraktia hahmotuskykyä. Kun puhutaan monimutkaisista tietorakenteista, niin täytyy kyetä päässään hahmottamaan, miten vaikka tieto mallinnetaan objekteiksi ja kuinka kannattaa periyttää ja jakaa useammiksi objekteiksi jne. Ainakin itsellä juuri tuo vie myös aikaa. Sitten kun homma on hahmottunut päässä ja kuvina itselle, niin varsinainen koodin kirjoittaminen on sitten se toinen puoli.
Myös debugointi eli vian selvitys on tärkeää. Pitää kyetä päättelemään miksi järjestelmässä tapahtuu virhetilanne ja mistä kohtaa sitä lähtee tutkimaan tarkemmin ja millä työkaluilla.
Niin kaikki ei osaa. Mutta matematiikka, ei ole mitään osuutta.
Matematiikalla ei ole suoraan osuutta koodaamiseen useimmissa tapauksissa. Mutta matematiikan hallitseminen on yhteydessä niihin taitoihin, joita myös koodaamisessa tarvitaan.
Sitten pitää muistaa erilaiset suunnittelumallit (pattern), joita käytetään samalla tavalla eri ohjelmointikielistä riippumatta. Eli pitää usein opetella uusia tapoja tehdä softaa. Tulee uusia frameworkeja, joiden avulla saa tehokkaampaa ja/tai näyttävämpää tulosta aikaan.
Hommaa riittää tällä saralla ja vauhti sen kuin kiihtyy.
Tietokoneet on matemaattisia laitteita ja kaikki ohjelmakoodi on matemaattisen logiikan puolelle menevää silloinkin, kun kyse on jonkin sellaisen yksinkertaisen asian tekemisestä joka ei varsinaisesti edellytä tekijältä matemaattista asiantuntemusta. Sitä aletaan tarvitsemaan kuitenkin hyvin nopeasti. Tässä on mm. peliohjelmoinnista haavaileville 3D-puolen alkeistason alkeita käsitteleviä kirjoja:
http://canvas.projekti.info/ebooks/Mathematics%20for%203D%20Game%20Prog…
https://tfetimes.com/wp-content/uploads/2015/04/F.Dunn-I.Parberry-3D-Ma…
Ennen kuin joku ehtii sanoa, niin ei näitä tarvita jos suunnitelmissa on jonkin pasianssipelin ohjelmointi. Mutta jos ihan vakavissaan suunnittelee uraa niin sitten kyllä. Periaatteessa noiden kirjojen oppien pitäisi aueta viimeistään lukiomatikalla, mutta käytännössä nykyisin nuoremmman sukupolven matikantaidot ovat vähän mitä sattuu.
No ei se nyt ihan noinkaan mene. Perus pelikoodarin kannattaa osata koodata Unityllä, ei koodata uutta Unityä.
Oli joo aika kaukaa haettu, kun toteaa, että perusasioissa tarvitaan matematiikkaa ja sitten ottaa esimerkiksi 3D-moottorin ohjelmoinnin :D Suurin osa koodaajista ei tee 3D-pelejä. Sitä en kiistä, etteikö matematiikkaa jossain muodossa sivuttaisi. Mutta harvemmin kovin korkean tason laskuja. Itsekin olen koodannut eräässä projektissa vaikeita fysiikan kaavoja sisältäviä toimintoja, mutta ne kaavat oli jo valmiiksi mietitty muualla, eikä minun täytynyt ymmärtää niistä kuin pintaraapaisu.
Tässä alkaa jo olemaan aika monen kirjoittajan tekstejä sekaisin. Mutta kaikki varmasti ovat tavalla tai toisella yrittäneet tuoda esiin sitä pointtia, että ne matemaattisen ja usein tohtoritasoiset asiantuntijat joista nyt on huutava pula ovat juuri niitä "jotka ne kaavat miettivät valmiiksi jossain muualla". Ei "ne kaavat" tipu itsekseen taivaasta vaan niiden takana on kovan luokan asiantuntijat. Taas niitä pienipalkkaisia joiden "täytyy ymmärtää vain pintaraapaisu" on kyllä ihan riittävästi saatavilla. Tässäkin on tietysti suuri määrä astevaihtelua rooleista joissa ei tarvita matemaattista asiantuntemusta aina rooleihin joissa sitä tarvitaan vähän enemmän. Ehkä näitä ja niiden eroja ei tosiaankaan kannata kuitenkaan tällä foorumilla alkaa sen tarkemmin ruotimaan (sanotaan nyt vaikka niin, että sairaalassakin on lääkintävahtimestareita, perushoitajia, sairaanhoitajia, erikoissairaanhoitajia, lääkäreitä, erikoislääkäreitä, kirurgeja jne. niin ymmärrätte pointin).
Niitä pelkän pintaraapaisun ymmärtäviä peruskoodareita on halvemmat maat jo täynnä, meillä päin maailmaa ei sellaisten perustekijöiden tulevaisuus välttämättä ole kovin kummoinen ellei sitten kotimaisten yritysten verotusta aleta tiputtamaan ja tekemään muita yrityksiä tukevia toimenpiteitä. Tämä vaan ei näytä hallitusta kiinnostavan.
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Kukaan ei vielä maininnut, että loogisen ajattelun lisäksi koodaaja tarvitsee abstraktia hahmotuskykyä. Kun puhutaan monimutkaisista tietorakenteista, niin täytyy kyetä päässään hahmottamaan, miten vaikka tieto mallinnetaan objekteiksi ja kuinka kannattaa periyttää ja jakaa useammiksi objekteiksi jne. Ainakin itsellä juuri tuo vie myös aikaa. Sitten kun homma on hahmottunut päässä ja kuvina itselle, niin varsinainen koodin kirjoittaminen on sitten se toinen puoli.
Myös debugointi eli vian selvitys on tärkeää. Pitää kyetä päättelemään miksi järjestelmässä tapahtuu virhetilanne ja mistä kohtaa sitä lähtee tutkimaan tarkemmin ja millä työkaluilla.
Niin kaikki ei osaa. Mutta matematiikka, ei ole mitään osuutta.
Matematiikalla ei ole suoraan osuutta koodaamiseen useimmissa tapauksissa. Mutta matematiikan hallitseminen on yhteydessä niihin taitoihin, joita myös koodaamisessa tarvitaan.
Sitten pitää muistaa erilaiset suunnittelumallit (pattern), joita käytetään samalla tavalla eri ohjelmointikielistä riippumatta. Eli pitää usein opetella uusia tapoja tehdä softaa. Tulee uusia frameworkeja, joiden avulla saa tehokkaampaa ja/tai näyttävämpää tulosta aikaan.
Hommaa riittää tällä saralla ja vauhti sen kuin kiihtyy.
Tietokoneet on matemaattisia laitteita ja kaikki ohjelmakoodi on matemaattisen logiikan puolelle menevää silloinkin, kun kyse on jonkin sellaisen yksinkertaisen asian tekemisestä joka ei varsinaisesti edellytä tekijältä matemaattista asiantuntemusta. Sitä aletaan tarvitsemaan kuitenkin hyvin nopeasti. Tässä on mm. peliohjelmoinnista haavaileville 3D-puolen alkeistason alkeita käsitteleviä kirjoja:
http://canvas.projekti.info/ebooks/Mathematics%20for%203D%20Game%20Prog…
https://tfetimes.com/wp-content/uploads/2015/04/F.Dunn-I.Parberry-3D-Ma…
Ennen kuin joku ehtii sanoa, niin ei näitä tarvita jos suunnitelmissa on jonkin pasianssipelin ohjelmointi. Mutta jos ihan vakavissaan suunnittelee uraa niin sitten kyllä. Periaatteessa noiden kirjojen oppien pitäisi aueta viimeistään lukiomatikalla, mutta käytännössä nykyisin nuoremmman sukupolven matikantaidot ovat vähän mitä sattuu.
No ei se nyt ihan noinkaan mene. Perus pelikoodarin kannattaa osata koodata Unityllä, ei koodata uutta Unityä.
Oli joo aika kaukaa haettu, kun toteaa, että perusasioissa tarvitaan matematiikkaa ja sitten ottaa esimerkiksi 3D-moottorin ohjelmoinnin :D Suurin osa koodaajista ei tee 3D-pelejä. Sitä en kiistä, etteikö matematiikkaa jossain muodossa sivuttaisi. Mutta harvemmin kovin korkean tason laskuja. Itsekin olen koodannut eräässä projektissa vaikeita fysiikan kaavoja sisältäviä toimintoja, mutta ne kaavat oli jo valmiiksi mietitty muualla, eikä minun täytynyt ymmärtää niistä kuin pintaraapaisu.
Tässä alkaa jo olemaan aika monen kirjoittajan tekstejä sekaisin. Mutta kaikki varmasti ovat tavalla tai toisella yrittäneet tuoda esiin sitä pointtia, että ne matemaattisen ja usein tohtoritasoiset asiantuntijat joista nyt on huutava pula ovat juuri niitä "jotka ne kaavat miettivät valmiiksi jossain muualla". Ei "ne kaavat" tipu itsekseen taivaasta vaan niiden takana on kovan luokan asiantuntijat. Taas niitä pienipalkkaisia joiden "täytyy ymmärtää vain pintaraapaisu" on kyllä ihan riittävästi saatavilla. Tässäkin on tietysti suuri määrä astevaihtelua rooleista joissa ei tarvita matemaattista asiantuntemusta aina rooleihin joissa sitä tarvitaan vähän enemmän. Ehkä näitä ja niiden eroja ei tosiaankaan kannata kuitenkaan tällä foorumilla alkaa sen tarkemmin ruotimaan (sanotaan nyt vaikka niin, että sairaalassakin on lääkintävahtimestareita, perushoitajia, sairaanhoitajia, erikoissairaanhoitajia, lääkäreitä, erikoislääkäreitä, kirurgeja jne. niin ymmärrätte pointin).
Niitä pelkän pintaraapaisun ymmärtäviä peruskoodareita on halvemmat maat jo täynnä, meillä päin maailmaa ei sellaisten perustekijöiden tulevaisuus välttämättä ole kovin kummoinen ellei sitten kotimaisten yritysten verotusta aleta tiputtamaan ja tekemään muita yrityksiä tukevia toimenpiteitä. Tämä vaan ei näytä hallitusta kiinnostavan.
Tässä oli puhe koodaamisesta. Huomasitko?? Jos tarvitaan matemaattisia ongelmia ratkovia tohtoreita, niin sitten ei haeta koodareita. Koodaaminen on silti muutakin niiden valmiiden kaavojen näpyttelyä javascriptillä. Pitää luoda se koko ohjelmisto, jonka osana on ne tohtorin miettivät kaavat. Saman henkilön ei tarvitse osata ihan kaikkea.
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Millaista älykkyyttä koodaus vaatii? Matemaattista?
Ei vaadi matematiikka juuri lainkaan. Paitsi korkeimmalla tasolla. Teköäly jne. Logiikkaa vaatii, joka onkin enemmän filosofiaa kuin matematiikkaa.
Mun juuri lukiosta valmistunut lapsi on nyt ensimmäisessä kesätyössään koodaushommissa ja tuohon hommaan tarvittiin melko vahvaa matematiikan osaamista. Hänellä teetettiin työhaastattelussa laskutehtäviä ja hän sai palautetta, että osaa enemmän kuin jotkut korkeakouluopiskelijat. Nyt kun hän on pari viikkoa ollut töissä, on jo käynyt ilmi, että tuossa hommassa olisi hyvä osata tilastomatematiikkaa jopa enemmän kuin mitä korkeakoulussa edes opetetaan.
Joku kysyi palkasta. Tällaisille juuri lukiosta päässeille maksetaan kesätöissä 2000€/kk. Tuntuu olevan ihan yleinen lähtötaso, olen useammaltakin kuullut tuollaisesta palkasta. Mitään ylärajaa ei tunnu olevan, mutta todella osaavaksi koodariksi voinee laskea itsensä, jos saa vähintään 8000€/kk.
Tilastomatematiikkaa koodaukseen? Mihin, miksi, häh? Vai onko siis osattava, jotta kykenee tuottamaan tarvitut toiminnallisuudet? Ei siis sen koodauksen itsensä takia.
Ymmärtäkää, että lähes koko maailma käyttää ohjelmia. Toiset koodarit tarvitsee matematiikkaa, toiset ei. Riippuu siitä mitä haluaa tehdä ja kaikille löytyy sopivaa hommaa.
Tilastomatematiikkaa tarvitaan tilastotieteessä, ei koodaamisessa. Tai siis, sen koodarin ei tarvitse osata tai ymmärtää niitä laskutoimituksia, jos joku on ne speksiin jo tuottanut. Esim. FinTechissä on tiimissä usein yksi tai kaksi matemaatikkoa jotka yhdessä koodarien kanssa viilaavat niitä algoritmejä.
Ammattikorkeissa ja alemmalla tasolla keskitytään ihan toisiin asiohin kuin yliopistotasolla eikä ne alemman tason opinnot juuri mitään kovin matemaattista sisällä. Tällaisten peruskoodareitten ei vielä tarvitsekaan matikasta pahemmin ymmärtää kun työ keskittyy hyvin perustasolle. Toisaalta ei sitten palkatkaan ole päätä huimaavia.
Itse olen tohtoriksi väitellyt maallikoiden käsityskyvyssä "koodaushommista" ja väitöskirjani, opintoni ja työni on matematiikkaa. Computer science (jota kannattaa kutsua sillä nimellä koska suomenkieliset käännökset ei ole kovin vakiintuneita) on matemaattinen tieteenala. Toisin kuin teoreettinen matematiikka, se ei tutki ja kehitä matematiikkaa itseään vaan sitä miten voidaan toteuttaa laskentalaitteita (ts. tietokoneita) ja saadaan ne käsittelemään matemaattisessa muodossa olevia asioita. Erilaiset laskennalliset alueet kuten tekoäly vaatii vahvan pohjan myös tilastotieteessä joka on sekin yksi matikan haara. Kaikkien näiden asiat on maallikon näkökulmasta saman näköistä matematiikkaa, vaikka niissä tietyt erot tieteellisessä mielessä onkin, ja kaikissa tietenkin on suuri määrä erilaisia alueita. Niistä eroista keskusteleminen kuuluu kuitenkin akateemiseen maailmaan ja tieteellisiin konferensseihin eikä vauvafoorumille.
Voi olla ehkä makuasia, mutta mielestäni koneäly ja koneoppiminen ei ole ”koodaamista” vaan nimenomaan sitä AI-hommaa. Miellän sen enemmänkin joksikin neuroverkkojen suunnitteluksi ja opettamiseksi, jossa koodaaminen toki voi olla yksi työkalu. Se varsinainen ”koodari” ottaa sitten sen verkon tulokset ja tekee sitä inferenssiä eikä hänen tarvitse välttämättä ymmärtää siitä AI-puolen kehityksestä paljoakaan.
T. Se, jolle vastasit, MSc Computer Science
Vierailija kirjoitti:
Justjust,osaa pelkkä matikkaa niin osaa koodata?,ehkä olen väärässä mutta siinä varmaan pitäisi myös osata koodeja,ilmeisesti ne opitaan sitten matikantunneilla...
Sanoinko, ettei osaa koodata? Tietenkin osaa myös koodata. Mutta tähän hommaan piti osata myös matikkaa ja aika vahvasti.
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Kukaan ei vielä maininnut, että loogisen ajattelun lisäksi koodaaja tarvitsee abstraktia hahmotuskykyä. Kun puhutaan monimutkaisista tietorakenteista, niin täytyy kyetä päässään hahmottamaan, miten vaikka tieto mallinnetaan objekteiksi ja kuinka kannattaa periyttää ja jakaa useammiksi objekteiksi jne. Ainakin itsellä juuri tuo vie myös aikaa. Sitten kun homma on hahmottunut päässä ja kuvina itselle, niin varsinainen koodin kirjoittaminen on sitten se toinen puoli.
Myös debugointi eli vian selvitys on tärkeää. Pitää kyetä päättelemään miksi järjestelmässä tapahtuu virhetilanne ja mistä kohtaa sitä lähtee tutkimaan tarkemmin ja millä työkaluilla.
Niin kaikki ei osaa. Mutta matematiikka, ei ole mitään osuutta.
Matematiikalla ei ole suoraan osuutta koodaamiseen useimmissa tapauksissa. Mutta matematiikan hallitseminen on yhteydessä niihin taitoihin, joita myös koodaamisessa tarvitaan.
Sitten pitää muistaa erilaiset suunnittelumallit (pattern), joita käytetään samalla tavalla eri ohjelmointikielistä riippumatta. Eli pitää usein opetella uusia tapoja tehdä softaa. Tulee uusia frameworkeja, joiden avulla saa tehokkaampaa ja/tai näyttävämpää tulosta aikaan.
Hommaa riittää tällä saralla ja vauhti sen kuin kiihtyy.
Tietokoneet on matemaattisia laitteita ja kaikki ohjelmakoodi on matemaattisen logiikan puolelle menevää silloinkin, kun kyse on jonkin sellaisen yksinkertaisen asian tekemisestä joka ei varsinaisesti edellytä tekijältä matemaattista asiantuntemusta. Sitä aletaan tarvitsemaan kuitenkin hyvin nopeasti. Tässä on mm. peliohjelmoinnista haavaileville 3D-puolen alkeistason alkeita käsitteleviä kirjoja:
http://canvas.projekti.info/ebooks/Mathematics%20for%203D%20Game%20Prog…
https://tfetimes.com/wp-content/uploads/2015/04/F.Dunn-I.Parberry-3D-Ma…
Ennen kuin joku ehtii sanoa, niin ei näitä tarvita jos suunnitelmissa on jonkin pasianssipelin ohjelmointi. Mutta jos ihan vakavissaan suunnittelee uraa niin sitten kyllä. Periaatteessa noiden kirjojen oppien pitäisi aueta viimeistään lukiomatikalla, mutta käytännössä nykyisin nuoremmman sukupolven matikantaidot ovat vähän mitä sattuu.
No ei se nyt ihan noinkaan mene. Perus pelikoodarin kannattaa osata koodata Unityllä, ei koodata uutta Unityä.
Ymmärsit asian. Sitähän tässä on koko ajan yritetty selventää, että "koodari" on suhteellisen yksinkertainen perustason työ jossa ei edellytetä korkeaa koulutusta ja matemaattista osaamista. Tästä syystä tavallisista koodareista ei ole valtavaa pulaa eikä peruskoodareille makseta kovin kaksista palkkaa. Sitten kun on tarvetta kehittää vaikka tässä esimerkissä uusi 3D engine niin homma alkaa menemään ihan toisen tasoisia matemaattisia asiantuntijoita vaativaksi ja näille myös maksetaan sen mukaisesti.
Ne kovasti uutisissa hypetyt 7-15 tonnin työt on tohtoritason töitä eikä mitään peruskoodareitten hommia. Peruskoodaus alkaa olemaan jo nykypäivän vastine entisaikojen tehdasduunarihommille ja kovaa vauhtia sitäkin ollaan (toistaiseksi vaihtelevalla menestyksellä) ulkoistamassa halvempiin maihin. Silloin jää meille ne kovimman pään työt, eli kannattaa panostaa matemaattiseen asiantuntemukseen jos on nuori ja vielä ehtii.
Ei ne ole aina matemaattisia ne kovemman tason koodaushommat. Pitää olla monipuolinen, kuten fullstack-kehittäjä, joka pystyy yksin ratkomaan koko järjestelmän ongelmia. Ja tekemään skaalautuvia reaaliaikaohjelmistoja. Se ei tosiaan ole mitään tehdashommaa ja sitä nykyään tarvitaan paljon. Korkeampi matematiikka ei ole edellytys.
Näköjään näissä keskusteluissa kahden puolen ihmiset puhuvat koko ajan ristiin.
Ammattikorkeatasolla ja jossain datanomiopinnoissa koodaus keskittyy yksinkertaisiin arkipäivän asioihin. Sitten kun mennään yliopistotasolle niin se alkaa olemaan ihan muita asioita kuten erilaisia laskennallisia alueita simuloinnista ja optimoinnista tekoälyyn ja prosessorisuunnitteluun (nämä tapahtuvat tietokoneilla, usein superluokan, ja toteutetaan ohjelmointina, mutta se on kaukana siitä mitä maallikot ajattelevat tietotekniikkana). Olen toiminut pitkään tutkijana ja opetustehtävissä tällä alueella. Voin vahvistaa, että kyllä se vain matematiikkaa on ja tutkintovaatimuksiin kuuluu teoreettinen matikka toisena pääaineena ja yleensä sen rinnalle sivuaineina muita matemaattis-luonnontieteellisiä aineita. Ihan erikseen on sitten muita tietokoneisiin liittyviä opintoaloja ja laitoksia yliopistoissa, jotka on esim. kauppatieteellisesti suuntautuneita. Ne eivät ole luoteeltaan matemaattis-luonnontieteellisiä opintosuuntia vaan niistä sijoitutaan yleensä tietohallinnollisiin ym. tehtäviin. Nämä ovat luonteeltaan täysin eri aloja.
Näiden matemaattisten tietoteknisten asioiden parissa töitä tekevät keskittyvät akateemisen maailman ulkopuolella etenkin erilaisiin näiden alueiden R&D-tutkimushommiin. Kun näitä menetelmiä käytetään erikoistuneissa ohjelmistotuotteissa niin omat asiantuntijansa toteuttavat ne asiat ja perustason ohjelmoijat muun arkisemman ohjelmistokehityksen ympärille. Tietenkin pienemmissä yrityksissä samat asiantuntijat voivat joutua tekemään kaiken itse jos ei apulaisia ole.
Vierailija kirjoitti:
Ne kovasti uutisissa hypetyt 7-15 tonnin työt on tohtoritason töitä eikä mitään peruskoodareitten hommia.
Ehkä sillä erotuksella, että IT-alalla voit olla koulutukseltasi ikiteekkari ja saada silti noita tohtoristason palkkoja. Osaaminen ratkaisee enemmän kuin suoritetut tutkinnot. Ja se osaaminen voi tulla pitkälti työelämän kautta.
pop98 kirjoitti:
Vierailija kirjoitti:
Koodari suunnittelee ja toteuttaa erilaisia ohjelmistoja. Esimerkiksi tämänkin keskustelufoorumin on joku koodari tehnyt.
-Tämän sivun koodin saa näkyville painamalla esim. jossakin noin keskellä sivua hiiren oikeanpuoleista näppäintä ja valitsemalla avautuvasta valikosta "Näytä sivun lähdekoodi".
-Siitä voi sitten opiskella miten toimii ja miten sivu on koodattu...ja kiinnostaako..mua ei kiinnostanut vaikka opiskelin alaa. Täytyy olla tietynlainen [tieto]konemainen ajattelutapa henkilöllä niin voi ehkä onnistua.,.
Ei vaan sivun lähdekoodin katsomalla näet käyttöliittymän toteuttamiseen sillä sivulla käytetyn merkkauskielen osan, josta selain muodostaa käyttöliittymän.
Et näe kaikkea sitä todellista ohjelmiston koodia, joka sen merkkauskielen muodosti, kontrolli- ja toistolauseineen, et näe sitä ohjemakoodia, joka nouti tietokannasta kirjoittajien kommentit, et näe sitä osaa koodista joka valitsee sivulla näytettävät mainokset, et näe sitä osaa koodista joka yhdistää kirjautuneet käyttäjät tilinsä tietoihin, et näe .... eiköhän tullut jo selväksi. Käyttöliittymän toteutuksen sivulla olevat merkkauskoodit on erittäin pieni osa koko ohjelmistosta joka tämän keskustelusivuston osan tästä web sivustosta on.
Mutta siitä olen samaa mieltä, että toimivien ohjelmien tutkiminen kannattaa, ja kannattaa kokeilla itse tehdä ohjelmia, niin yllä olevan kaltaiset asiat selviävät sitten vähä vähältä :)
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Millaista älykkyyttä koodaus vaatii? Matemaattista?
Ei vaadi matematiikka juuri lainkaan. Paitsi korkeimmalla tasolla. Teköäly jne. Logiikkaa vaatii, joka onkin enemmän filosofiaa kuin matematiikkaa.
Mun juuri lukiosta valmistunut lapsi on nyt ensimmäisessä kesätyössään koodaushommissa ja tuohon hommaan tarvittiin melko vahvaa matematiikan osaamista. Hänellä teetettiin työhaastattelussa laskutehtäviä ja hän sai palautetta, että osaa enemmän kuin jotkut korkeakouluopiskelijat. Nyt kun hän on pari viikkoa ollut töissä, on jo käynyt ilmi, että tuossa hommassa olisi hyvä osata tilastomatematiikkaa jopa enemmän kuin mitä korkeakoulussa edes opetetaan.
Joku kysyi palkasta. Tällaisille juuri lukiosta päässeille maksetaan kesätöissä 2000€/kk. Tuntuu olevan ihan yleinen lähtötaso, olen useammaltakin kuullut tuollaisesta palkasta. Mitään ylärajaa ei tunnu olevan, mutta todella osaavaksi koodariksi voinee laskea itsensä, jos saa vähintään 8000€/kk.
Tilastomatematiikkaa koodaukseen? Mihin, miksi, häh? Vai onko siis osattava, jotta kykenee tuottamaan tarvitut toiminnallisuudet? Ei siis sen koodauksen itsensä takia.
Ymmärtäkää, että lähes koko maailma käyttää ohjelmia. Toiset koodarit tarvitsee matematiikkaa, toiset ei. Riippuu siitä mitä haluaa tehdä ja kaikille löytyy sopivaa hommaa.
Tilastomatematiikkaa tarvitaan tilastotieteessä, ei koodaamisessa. Tai siis, sen koodarin ei tarvitse osata tai ymmärtää niitä laskutoimituksia, jos joku on ne speksiin jo tuottanut. Esim. FinTechissä on tiimissä usein yksi tai kaksi matemaatikkoa jotka yhdessä koodarien kanssa viilaavat niitä algoritmejä.
Ammattikorkeissa ja alemmalla tasolla keskitytään ihan toisiin asiohin kuin yliopistotasolla eikä ne alemman tason opinnot juuri mitään kovin matemaattista sisällä. Tällaisten peruskoodareitten ei vielä tarvitsekaan matikasta pahemmin ymmärtää kun työ keskittyy hyvin perustasolle. Toisaalta ei sitten palkatkaan ole päätä huimaavia.
Itse olen tohtoriksi väitellyt maallikoiden käsityskyvyssä "koodaushommista" ja väitöskirjani, opintoni ja työni on matematiikkaa. Computer science (jota kannattaa kutsua sillä nimellä koska suomenkieliset käännökset ei ole kovin vakiintuneita) on matemaattinen tieteenala. Toisin kuin teoreettinen matematiikka, se ei tutki ja kehitä matematiikkaa itseään vaan sitä miten voidaan toteuttaa laskentalaitteita (ts. tietokoneita) ja saadaan ne käsittelemään matemaattisessa muodossa olevia asioita. Erilaiset laskennalliset alueet kuten tekoäly vaatii vahvan pohjan myös tilastotieteessä joka on sekin yksi matikan haara. Kaikkien näiden asiat on maallikon näkökulmasta saman näköistä matematiikkaa, vaikka niissä tietyt erot tieteellisessä mielessä onkin, ja kaikissa tietenkin on suuri määrä erilaisia alueita. Niistä eroista keskusteleminen kuuluu kuitenkin akateemiseen maailmaan ja tieteellisiin konferensseihin eikä vauvafoorumille.
Voi olla ehkä makuasia, mutta mielestäni koneäly ja koneoppiminen ei ole ”koodaamista” vaan nimenomaan sitä AI-hommaa. Miellän sen enemmänkin joksikin neuroverkkojen suunnitteluksi ja opettamiseksi, jossa koodaaminen toki voi olla yksi työkalu. Se varsinainen ”koodari” ottaa sitten sen verkon tulokset ja tekee sitä inferenssiä eikä hänen tarvitse välttämättä ymmärtää siitä AI-puolen kehityksestä paljoakaan.
T. Se, jolle vastasit, MSc Computer Science
Olet ihan oikeassa. Keskustelussahan on koko ajan yritetty tuoda esiin sitä, että koodaus on yksinkertaista perushommaa ja se ei siis ole sitä josta lööpeissä luvataan huippupalkkoja. Ne huippupalkkahommat taas on tohtoritason hommia, joissa pitää toki olla computer science että puhdas matematiikka alla. Ohjelmointikielet on kieliä asioiden toteuttamiseksi kuten itsekin tiedät, mutta itse asiaosaaminen on sitten ihan erikseen hankittavaa matemaattista osaamista. Ei ne ohjelmointikielet ja tietokoneet itsestään synny, ne on matemaattisten alojen työn tulosta.
T. Ph.D. Computer Science, tutkija ja luennoitsija jonka hommiin kuuluu opiskelijoiden ohjaaminen
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Millaista älykkyyttä koodaus vaatii? Matemaattista?
Ei vaadi matematiikka juuri lainkaan. Paitsi korkeimmalla tasolla. Teköäly jne. Logiikkaa vaatii, joka onkin enemmän filosofiaa kuin matematiikkaa.
Mun juuri lukiosta valmistunut lapsi on nyt ensimmäisessä kesätyössään koodaushommissa ja tuohon hommaan tarvittiin melko vahvaa matematiikan osaamista. Hänellä teetettiin työhaastattelussa laskutehtäviä ja hän sai palautetta, että osaa enemmän kuin jotkut korkeakouluopiskelijat. Nyt kun hän on pari viikkoa ollut töissä, on jo käynyt ilmi, että tuossa hommassa olisi hyvä osata tilastomatematiikkaa jopa enemmän kuin mitä korkeakoulussa edes opetetaan.
Joku kysyi palkasta. Tällaisille juuri lukiosta päässeille maksetaan kesätöissä 2000€/kk. Tuntuu olevan ihan yleinen lähtötaso, olen useammaltakin kuullut tuollaisesta palkasta. Mitään ylärajaa ei tunnu olevan, mutta todella osaavaksi koodariksi voinee laskea itsensä, jos saa vähintään 8000€/kk.
Tilastomatematiikkaa koodaukseen? Mihin, miksi, häh? Vai onko siis osattava, jotta kykenee tuottamaan tarvitut toiminnallisuudet? Ei siis sen koodauksen itsensä takia.
Ymmärtäkää, että lähes koko maailma käyttää ohjelmia. Toiset koodarit tarvitsee matematiikkaa, toiset ei. Riippuu siitä mitä haluaa tehdä ja kaikille löytyy sopivaa hommaa.
Tilastomatematiikkaa tarvitaan tilastotieteessä, ei koodaamisessa. Tai siis, sen koodarin ei tarvitse osata tai ymmärtää niitä laskutoimituksia, jos joku on ne speksiin jo tuottanut. Esim. FinTechissä on tiimissä usein yksi tai kaksi matemaatikkoa jotka yhdessä koodarien kanssa viilaavat niitä algoritmejä.
Ammattikorkeissa ja alemmalla tasolla keskitytään ihan toisiin asiohin kuin yliopistotasolla eikä ne alemman tason opinnot juuri mitään kovin matemaattista sisällä. Tällaisten peruskoodareitten ei vielä tarvitsekaan matikasta pahemmin ymmärtää kun työ keskittyy hyvin perustasolle. Toisaalta ei sitten palkatkaan ole päätä huimaavia.
Itse olen tohtoriksi väitellyt maallikoiden käsityskyvyssä "koodaushommista" ja väitöskirjani, opintoni ja työni on matematiikkaa. Computer science (jota kannattaa kutsua sillä nimellä koska suomenkieliset käännökset ei ole kovin vakiintuneita) on matemaattinen tieteenala. Toisin kuin teoreettinen matematiikka, se ei tutki ja kehitä matematiikkaa itseään vaan sitä miten voidaan toteuttaa laskentalaitteita (ts. tietokoneita) ja saadaan ne käsittelemään matemaattisessa muodossa olevia asioita. Erilaiset laskennalliset alueet kuten tekoäly vaatii vahvan pohjan myös tilastotieteessä joka on sekin yksi matikan haara. Kaikkien näiden asiat on maallikon näkökulmasta saman näköistä matematiikkaa, vaikka niissä tietyt erot tieteellisessä mielessä onkin, ja kaikissa tietenkin on suuri määrä erilaisia alueita. Niistä eroista keskusteleminen kuuluu kuitenkin akateemiseen maailmaan ja tieteellisiin konferensseihin eikä vauvafoorumille.
Voi olla ehkä makuasia, mutta mielestäni koneäly ja koneoppiminen ei ole ”koodaamista” vaan nimenomaan sitä AI-hommaa. Miellän sen enemmänkin joksikin neuroverkkojen suunnitteluksi ja opettamiseksi, jossa koodaaminen toki voi olla yksi työkalu. Se varsinainen ”koodari” ottaa sitten sen verkon tulokset ja tekee sitä inferenssiä eikä hänen tarvitse välttämättä ymmärtää siitä AI-puolen kehityksestä paljoakaan.
T. Se, jolle vastasit, MSc Computer Science
Olet ihan oikeassa. Keskustelussahan on koko ajan yritetty tuoda esiin sitä, että koodaus on yksinkertaista perushommaa ja se ei siis ole sitä josta lööpeissä luvataan huippupalkkoja. Ne huippupalkkahommat taas on tohtoritason hommia, joissa pitää toki olla computer science että puhdas matematiikka alla. Ohjelmointikielet on kieliä asioiden toteuttamiseksi kuten itsekin tiedät, mutta itse asiaosaaminen on sitten ihan erikseen hankittavaa matemaattista osaamista. Ei ne ohjelmointikielet ja tietokoneet itsestään synny, ne on matemaattisten alojen työn tulosta.
T. Ph.D. Computer Science, tutkija ja luennoitsija jonka hommiin kuuluu opiskelijoiden ohjaaminen
Esimerkiksi Linux kernelin parissa työskentelee huippupalkattuja koodareita, mutta se työ ei vaadi juuri lainkaan ”puhdasta matematiikkaa”. Sen sijaan se vaatii ohjelmointitaitoja, kokemusta, logiikkaa ja kykyä hahmottaa monimutkaisia kokonaisuuksia ja niiden välisiä suhteita. Siispä kaikki huippupalkatut hommat eivät vaadi matemaattista taustaa.
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Kukaan ei vielä maininnut, että loogisen ajattelun lisäksi koodaaja tarvitsee abstraktia hahmotuskykyä. Kun puhutaan monimutkaisista tietorakenteista, niin täytyy kyetä päässään hahmottamaan, miten vaikka tieto mallinnetaan objekteiksi ja kuinka kannattaa periyttää ja jakaa useammiksi objekteiksi jne. Ainakin itsellä juuri tuo vie myös aikaa. Sitten kun homma on hahmottunut päässä ja kuvina itselle, niin varsinainen koodin kirjoittaminen on sitten se toinen puoli.
Myös debugointi eli vian selvitys on tärkeää. Pitää kyetä päättelemään miksi järjestelmässä tapahtuu virhetilanne ja mistä kohtaa sitä lähtee tutkimaan tarkemmin ja millä työkaluilla.
Niin kaikki ei osaa. Mutta matematiikka, ei ole mitään osuutta.
Matematiikalla ei ole suoraan osuutta koodaamiseen useimmissa tapauksissa. Mutta matematiikan hallitseminen on yhteydessä niihin taitoihin, joita myös koodaamisessa tarvitaan.
Sitten pitää muistaa erilaiset suunnittelumallit (pattern), joita käytetään samalla tavalla eri ohjelmointikielistä riippumatta. Eli pitää usein opetella uusia tapoja tehdä softaa. Tulee uusia frameworkeja, joiden avulla saa tehokkaampaa ja/tai näyttävämpää tulosta aikaan.
Hommaa riittää tällä saralla ja vauhti sen kuin kiihtyy.
Tietokoneet on matemaattisia laitteita ja kaikki ohjelmakoodi on matemaattisen logiikan puolelle menevää silloinkin, kun kyse on jonkin sellaisen yksinkertaisen asian tekemisestä joka ei varsinaisesti edellytä tekijältä matemaattista asiantuntemusta. Sitä aletaan tarvitsemaan kuitenkin hyvin nopeasti. Tässä on mm. peliohjelmoinnista haavaileville 3D-puolen alkeistason alkeita käsitteleviä kirjoja:
http://canvas.projekti.info/ebooks/Mathematics%20for%203D%20Game%20Prog…
https://tfetimes.com/wp-content/uploads/2015/04/F.Dunn-I.Parberry-3D-Ma…
Ennen kuin joku ehtii sanoa, niin ei näitä tarvita jos suunnitelmissa on jonkin pasianssipelin ohjelmointi. Mutta jos ihan vakavissaan suunnittelee uraa niin sitten kyllä. Periaatteessa noiden kirjojen oppien pitäisi aueta viimeistään lukiomatikalla, mutta käytännössä nykyisin nuoremmman sukupolven matikantaidot ovat vähän mitä sattuu.
No ei se nyt ihan noinkaan mene. Perus pelikoodarin kannattaa osata koodata Unityllä, ei koodata uutta Unityä.
Ymmärsit asian. Sitähän tässä on koko ajan yritetty selventää, että "koodari" on suhteellisen yksinkertainen perustason työ jossa ei edellytetä korkeaa koulutusta ja matemaattista osaamista. Tästä syystä tavallisista koodareista ei ole valtavaa pulaa eikä peruskoodareille makseta kovin kaksista palkkaa. Sitten kun on tarvetta kehittää vaikka tässä esimerkissä uusi 3D engine niin homma alkaa menemään ihan toisen tasoisia matemaattisia asiantuntijoita vaativaksi ja näille myös maksetaan sen mukaisesti.
Ne kovasti uutisissa hypetyt 7-15 tonnin työt on tohtoritason töitä eikä mitään peruskoodareitten hommia. Peruskoodaus alkaa olemaan jo nykypäivän vastine entisaikojen tehdasduunarihommille ja kovaa vauhtia sitäkin ollaan (toistaiseksi vaihtelevalla menestyksellä) ulkoistamassa halvempiin maihin. Silloin jää meille ne kovimman pään työt, eli kannattaa panostaa matemaattiseen asiantuntemukseen jos on nuori ja vielä ehtii.
Ei ne ole aina matemaattisia ne kovemman tason koodaushommat. Pitää olla monipuolinen, kuten fullstack-kehittäjä, joka pystyy yksin ratkomaan koko järjestelmän ongelmia. Ja tekemään skaalautuvia reaaliaikaohjelmistoja. Se ei tosiaan ole mitään tehdashommaa ja sitä nykyään tarvitaan paljon. Korkeampi matematiikka ei ole edellytys.
Näköjään näissä keskusteluissa kahden puolen ihmiset puhuvat koko ajan ristiin.
Ammattikorkeatasolla ja jossain datanomiopinnoissa koodaus keskittyy yksinkertaisiin arkipäivän asioihin. Sitten kun mennään yliopistotasolle niin se alkaa olemaan ihan muita asioita kuten erilaisia laskennallisia alueita simuloinnista ja optimoinnista tekoälyyn ja prosessorisuunnitteluun (nämä tapahtuvat tietokoneilla, usein superluokan, ja toteutetaan ohjelmointina, mutta se on kaukana siitä mitä maallikot ajattelevat tietotekniikkana). Olen toiminut pitkään tutkijana ja opetustehtävissä tällä alueella. Voin vahvistaa, että kyllä se vain matematiikkaa on ja tutkintovaatimuksiin kuuluu teoreettinen matikka toisena pääaineena ja yleensä sen rinnalle sivuaineina muita matemaattis-luonnontieteellisiä aineita. Ihan erikseen on sitten muita tietokoneisiin liittyviä opintoaloja ja laitoksia yliopistoissa, jotka on esim. kauppatieteellisesti suuntautuneita. Ne eivät ole luoteeltaan matemaattis-luonnontieteellisiä opintosuuntia vaan niistä sijoitutaan yleensä tietohallinnollisiin ym. tehtäviin. Nämä ovat luonteeltaan täysin eri aloja.
Näiden matemaattisten tietoteknisten asioiden parissa töitä tekevät keskittyvät akateemisen maailman ulkopuolella etenkin erilaisiin näiden alueiden R&D-tutkimushommiin. Kun näitä menetelmiä käytetään erikoistuneissa ohjelmistotuotteissa niin omat asiantuntijansa toteuttavat ne asiat ja perustason ohjelmoijat muun arkisemman ohjelmistokehityksen ympärille. Tietenkin pienemmissä yrityksissä samat asiantuntijat voivat joutua tekemään kaiken itse jos ei apulaisia ole.
En tiedä, mistä ristiinpuhumisesta sinä puhut, mutta asenteestasi huomaa, että mielestäsi on vain kahdenlaista ohjelmointityötä: Tohtoritason matemaattista huippuyksilöiden koodaamista, jota sinäkin teet. Ja sitten on perus apulaiset, joita saa Kauko-Idästä niin paljon kuin haluaa. Minä en ole samaa mieltä. Siihen väliin mahtuu paljon. Ehkä sinulla on vain suppea kokemus ja näkemys.
Tiedättekö muuten, miksi tässä keskustelussa ja täällä yleensäkin on niin paljon koodareita?
- Koska koodarit eivät koskaan tätä lähemmäksi naista pääse!
Vierailija kirjoitti:
En tiedä, mistä ristiinpuhumisesta sinä puhut, mutta asenteestasi huomaa, että mielestäsi on vain kahdenlaista ohjelmointityötä: Tohtoritason matemaattista huippuyksilöiden koodaamista, jota sinäkin teet. Ja sitten on perus apulaiset, joita saa Kauko-Idästä niin paljon kuin haluaa. Minä en ole samaa mieltä. Siihen väliin mahtuu paljon. Ehkä sinulla on vain suppea kokemus ja näkemys.
Ja jostainhan ne tulevat gurutkin aloittavat? Ei huippukoodaajaksi synnytä, vaan kasvetaan. Aluksi tehdään niitä simppelimpiä hommia ja edetään vaikeampiin. Varmaan sitten riippuu suuntauksesta, mikä on opintojen ja mikä työkokemuksen rooli sen oman osaamisen kasvattamisessa. Osa firmoista saattaa pyöriä pitkälti opiskelijavoimin, kun työtehtävät eivät ole niin vaativia, mutta eiköhän ne parhaat sieltä hoksaa että täällä ei pääse tämän pidemmälle ja vaihtavat sitten jonnekin muualle vaativampiin tehtäviin. Mutta on noillakin työpaikoilla oma roolinsa tässä ekosysteemissä, ne on toukkien hautomoita joista voi ponnistaa eteenpäin ja joku heidänkin tuotteitaan ostaa.
Ammattikorkeissa ja alemmalla tasolla keskitytään ihan toisiin asiohin kuin yliopistotasolla eikä ne alemman tason opinnot juuri mitään kovin matemaattista sisällä. Tällaisten peruskoodareitten ei vielä tarvitsekaan matikasta pahemmin ymmärtää kun työ keskittyy hyvin perustasolle. Toisaalta ei sitten palkatkaan ole päätä huimaavia.
Itse olen tohtoriksi väitellyt maallikoiden käsityskyvyssä "koodaushommista" ja väitöskirjani, opintoni ja työni on matematiikkaa. Computer science (jota kannattaa kutsua sillä nimellä koska suomenkieliset käännökset ei ole kovin vakiintuneita) on matemaattinen tieteenala. Toisin kuin teoreettinen matematiikka, se ei tutki ja kehitä matematiikkaa itseään vaan sitä miten voidaan toteuttaa laskentalaitteita (ts. tietokoneita) ja saadaan ne käsittelemään matemaattisessa muodossa olevia asioita. Erilaiset laskennalliset alueet kuten tekoäly vaatii vahvan pohjan myös tilastotieteessä joka on sekin yksi matikan haara. Kaikkien näiden asiat on maallikon näkökulmasta saman näköistä matematiikkaa, vaikka niissä tietyt erot tieteellisessä mielessä onkin, ja kaikissa tietenkin on suuri määrä erilaisia alueita. Niistä eroista keskusteleminen kuuluu kuitenkin akateemiseen maailmaan ja tieteellisiin konferensseihin eikä vauvafoorumille.