Ohjelmointialan työ

Liittynyt
17.12.2016
Viestejä
465
Näistä asioistahan on videoita ja artikkeleita netti pullollaan, mutta ajattelin kysellä asiasta nimenomaan suomalaisesta näkökulmasta. Kannattaako nykyaikana suunnata ohjelmointialalle, ja jos kannattaa, mitkä ovat ne keskeiset taidot? Toisaalta sanotaan, että ohjelmoijien tarve kasvaa ja työvoimapula hidastaa yritysten kasvua. Toisaalta monet tuntuvat olevan edelleenkin sitä mieltä, että suurelta osin kaikki peruskoodaus siirtyy halvemman työvoiman maihin ja Suomessa tarvitaan tulevaisuudessa lähinnä järjestelmäarkkitehteja tms. suunnittelijoita, ei niinkään varsinaisia ohjelmoijia.

Jonkin verran tuntuu olevan alueellista vaihteluakin. Pääkaupunkiseudulta löytyy luonnollisesti kysyntää monille erityyppisille osaajille, mutta entäpä muualla Suomessa? Ainakin mitä Varsinais-Suomen alueen työpaikkailmoituksia katselee, niissä erottuvat hyvin vahvasti front end -painotteiden web (Javascript, PHP) ja lisäksi .NET/C#. Mutta onko työllistymistä ajatellen mielekästä opetella jotain vähemmän kysyttyjä kieliä/tekniikoita, vai päätyykö niitä hallitsemalla vain markkoinoille, joilla on jo ennestään ylenmäärin työttömiä osaajia?

Omalta taustaltani olen jonkinlainen järjestelmänhallinan sekatyöläinen, ja se homma on alkanut pidemmän päälle puuduttaa pahasti. Ohjelmointi ei ole täysin vierasta; olen mm. toteuttanut nykyiselle työnantajalleni joitakin web-sovelluksia (Python, perus-JS/HTML/CSS) sekä automatisointityökaluja (Bash, Powershell), mutta nämä eivät ole niin mittavia projekteja, että niillä olisi mitään oleellista painoarvoa työmarkkinoilla. Lisäksi mielenkiinto kohdistuu enemmän muualle kuin webiin tai Microsoftiin. C++ on rakas vanha joskin vähän unholaan jäänyt tuttavuus ja mm. devops ja kaikenlaiset Linux-hommat vaikuttavat kiinnostavilta. Toki web voisi sekin olla ihan varteenotettava alue, vaikka mieluummin sitten siellä backendin puolella. Mutta melko vähän ainakaan täällä lounaisrannikolla tuntuu tuollaisia hommia olevan julkisesti tarjolla, ja jos on, konkarit vievät ne paikat heti kättelyssä. Yleensä jo pelkkää työkokemusta vaaditaan niin paljon, ettei aloittelijalla ole mitään mahdollisuuksia, ja lisäksi pitää tuntea n+1 teknologiaa paremmin kuin omat lapsensa.

Eikä ole sitä tietojenkäsittelytieteiden koulutustakaan. Pitäisiköhän vain keksiä jotain ihan muuta tekemistä?

Ja kyllä, aihe on varmasti erittäin laaja ja siihen on hankalaa vastata mitään yksiselitteistä. Mutta olisin kiinnostunut kuulemaan ihan yleisesti kaikenlaisia asiaa liittyviä ajatuksia alan ammattilaisilta.
 
Ohjelmointialan resurssipula on edelleen aikalailla jatkuva. En tiedä muuttuvatko asiat 15 vuoden kuluessa kun kouluputkesta alkaa putkahtaa lävitse ohjelmointiin jo ala-asteelta asti tutustuneita, mutta jos vain pääsee alan hommiin kiinni sopivassa ympäristössä, että pääsee kehittymään, niin sen jälkeen työpaikkansa pääsee kyllä lopulta jo valitsemaan. Tosin taitaa kyllä olla aika Helsinki-painotteista. Isompi ongelma on löytää se hyvä paikka; olen sen verran erakkotapaus, ettei ole verkostoa jonka kautta tietäisin suositella mitään, mutta kaikki paikat joissa tehdään ketterää / Agilea niin että sitä ei vedetä orjallisen/näennäisen kaavan mukaan ovat todennäköisesti varteenotettavia.

Itselläni on siitä jännä tausta, että hyppäsin 20+ vuoden harrastelijakokemuksella sopivaan paikkaan kehittyä, jopa puolisattumalta ehkä lopulta. Tämä on kuitenkin osoitus siitä, että joissakin paikoissa osataan etsiä ihmisiä myös potentiaalisen osaamisen perusteella, eli uskalletaan ottaa riski ja palkata aloittelija. Toki jonkinlaisia näyttöjä "oikeasta" osaamisesta pitää pystyä näyttämään. Lopulta se on se tapa ajatella asioita ja kyky oppia, jotka (jopa helposti) voittavat vaikkapa koulutuksen antaman näennäisen osaamisen paperin. Kyseenalaistaminen on myös loistava taito: yleensä jos on ongelmia, niin ihminen on joko se joka on väärässä, tai ihminen on aiheuttanut jotakin joka on väärin - kone taas on aina oikeassa :)

Ainakaan et menetä mitään sillä, että yrität löytää sen sopivan paikan.
 
Koodaajia ja hyviä tyyppejä tarvitaan aina, se on ihan selvä ja omaa osaamista tai projekteja mitä on tehnyt on ihan turha vähätellä, kaikki on aina kotiin päin. Oma github pystyyn ja koodit sinne ja hakemusta rohkeasti vetämään niin varmasti natsaa jos halua alalle on. Hommia löytyy ja paljon mm. digitaalisten palveluiden ja automatisoinnin parissa, eikä tätä kehitystä todellakaan (ainakaan Suomessa) tehdä mistään Intiasta.
 
Tässä mielestäni huolestuttavasti paistaa intohimon puute. Teknologia taikka kieli ei ole ongelma ja kaikki isommat firmat kouluttavat kattavasti käyttämiinsä frameworkkeihin ja tehtäviinsä, mutta jos ei ole ohjelmistokehityspaloa sisässä niin tulnee olemaan kivinen ja pitkän pitkä tie.

Tietysti alasta voi oppia tykkäämään mutta muutaman vuoden jälkeen todennäköisesti on karsiutunut kaikki pilvilinnat alan suhteen ja silloin jää kätene ainoastan oma motivaatio. Ohjelmistotyö eroaa suuresti monesta muusta insinöörityöstä ja etenkin perus koneidenkasaamisesta siinä, että ei tätä voi lasketella leipätyönä niilla korteilla mitä on kädessä kun "valmistuu".

Jos uskot kykeneväsi joka päivä motivoitumaan hommaan niin Java ja etenkin enterprisemaailma työllistää hyvin edelleen, pitkin eurooppaa head hunterit soittelee ja mailailee - Suomikoodiapina on arvossaan. Siihen front-end osaaminen päälle niin työllistymisestä ei ole ogelmaa. Jaksaminen, kompleksisuuden hallinta ja sen tuoma stressi ja mielenkiinnon ylläpito sen sijaan vaatii painia jos ei ole tuota ym. paloa asiaan.

Eli jos ei ole luontaista viettiä ohjelmointiin ja ohjelmistosuunnitteluun niin tuo sysops/devops -polku voisi olla ehkä luontevampi. Sen sijaan jos löydät itsesi illalla lukemasta erilaisia design patterneja sekä testailemassa uusia kehitysympäristöjä niin sitten ehdottomasti alalle.

Toivottavasti ei kuulostanut pessimistiseltä ja maahanlyövältä, ala on mitä parahin jos se sattuu sopimaan itselle. En voi tarpeeksi hehkuttaa ohjelmistoalaa työpaikkana. Mutta paljon on helppoheikkiä liikenteessä joka käy AMK:ssa ohjelmoinnin perusteet ja ajattelee että koska IT vetää niin sieltä helppo leipätyö facebookin ääreltä.
 
Näin koulujen jälkeen monet meistä lumihiutaleista tuntuu asettuvan tämäntapaisiin muotteihin

"Luin tietotekniikkaa koulussa mutta koodaus ei oikein nappaa" -> Konsultti
"Käytän vain Linuxia ja Ubuntu on bloattia" -> Sysadmin
"Tuijotan assembleria 6h päivässä ja harrastan reverse engineerausta" -> Infosec
"Koodaan ja käytän vain Applea koska Windowsilla mikään ei vaan toimi" -> Web developer
"Pair programming ja Scrum vois parantaa meidän ryhmän työtehoa 24%!" -> Softafirman manageri jota kaikki hiljaisesti vihaa
"Hmm jos korreloi pizzansyönnin usan vaalituloksen kanssa niin adaboost sanoo että kannattaa investoida Nokiaan" -> Machine learning tutkija
"Yliopisto oli hirveetä vääntöä ja en yhtään tiedä mitä teen tän jälkeen" -> Java rivikoodaaja Tiedolla tai vastaavalla
"Yliopisto oli aika helppoa ja en yhtään tiedä mitä teen tän jälkeen" -> Tutkija
"Yliopisto on ajanhukkaa, jätin kesken ja aloitin yrityksen kavereiden kanssa kolmantena vuonna" -> Yrittäjä
"Grafiikat ja täysin ennennäkemättömät featuret peleissä kiinnostaa" -> Game engine/Shader ohjelmoija
"Tuntuma ja mekaniikat peleissä kiinnostaa" -> Gameplay ohjelmoija
"Haluaisin tehdä oman pelin jossa on tämmöstä ja tämmöstä..." -> Väärä ala
"Halusin tehdä pelejä mutta totuus puri jalkaan koulujen jälkeen" -> Mobiilipeliohjelmoija

Elkää ottako liian vakavasti.
 
Mitenkäs suuressa roolissa joku AMK- tai yliopistokoulutus on ohjelmointialan töitä hakiessa ja lopulta myös niitä töitä tehdessä? Onko se ihan pakollinen että pääsee yhtään minnekkään sisään, vai onko esim aiemmin mainitut omat github tuotokset jopa tärkeämpiä?
 
Näin koulujen jälkeen monet meistä lumihiutaleista tuntuu asettuvan tämäntapaisiin muotteihin

"Luin tietotekniikkaa koulussa mutta koodaus ei oikein nappaa" -> Konsultti

Elkää ottako liian vakavasti.

Konsultit koodaa siinä missä muutkin. Yleensäkin kaikki aloittaa koodareina ja siitä sitten edetään rooleihin, jossa on muitakin tehtäviä koodaamisen ohella.

Nyt jos ei ollenkaan halua koodata yhtään mitään, on väärällä alalla.

Mitenkäs suuressa roolissa joku AMK- tai yliopistokoulutus on ohjelmointialan töitä hakiessa ja lopulta myös niitä töitä tehdessä? Onko se ihan pakollinen että pääsee yhtään minnekkään sisään, vai onko esim aiemmin mainitut omat github tuotokset jopa tärkeämpiä?

Isot firmat (Tieto esim.) joutuvat kilpailuttamaan työnsä, niin koulutus on tärkeää. Siitä saa asiakkaiden tarjouspyynnöissä pisteitä ja voittaa muut kilpailijat.

Pienissä yrityksissä, jossa tehdään mahdollisesti omia tuotteita, ei tuolla koulutuksella ole niin merkitystä. Olenpa nähnyt yrityksen tietohallinnon johdossa tyypin, joka käsittääkseni oli koulutukseltaan teologi.. Aiemmassa yrityksessä oli IT-alan töissä työntekijä, jolla ei ollut mitään suomalaista koulutusta ja ulkomainen tutkinto oli ehkä enemmän lukiotasoinen. Hän oli hyvä työntekijä, ja kaiken lisäksi nainen, joka oli vaan päättänyt, että haluaa IT-alalle töihin. Motivaatio oli ainakin kyseisellä henkilöllä korkea ja se johti hyviin tuloksiin.
 
Näin koulujen jälkeen monet meistä lumihiutaleista tuntuu asettuvan tämäntapaisiin muotteihin

"Luin tietotekniikkaa koulussa mutta koodaus ei oikein nappaa" -> Konsultti
"Käytän vain Linuxia ja Ubuntu on bloattia" -> Sysadmin
"Tuijotan assembleria 6h päivässä ja harrastan reverse engineerausta" -> Infosec
"Koodaan ja käytän vain Applea koska Windowsilla mikään ei vaan toimi" -> Web developer
"Pair programming ja Scrum vois parantaa meidän ryhmän työtehoa 24%!" -> Softafirman manageri jota kaikki hiljaisesti vihaa
"Hmm jos korreloi pizzansyönnin usan vaalituloksen kanssa niin adaboost sanoo että kannattaa investoida Nokiaan" -> Machine learning tutkija
"Yliopisto oli hirveetä vääntöä ja en yhtään tiedä mitä teen tän jälkeen" -> Java rivikoodaaja Tiedolla tai vastaavalla
"Yliopisto oli aika helppoa ja en yhtään tiedä mitä teen tän jälkeen" -> Tutkija
"Yliopisto on ajanhukkaa, jätin kesken ja aloitin yrityksen kavereiden kanssa kolmantena vuonna" -> Yrittäjä
"Grafiikat ja täysin ennennäkemättömät featuret peleissä kiinnostaa" -> Game engine/Shader ohjelmoija
"Tuntuma ja mekaniikat peleissä kiinnostaa" -> Gameplay ohjelmoija
"Haluaisin tehdä oman pelin jossa on tämmöstä ja tämmöstä..." -> Väärä ala
"Halusin tehdä pelejä mutta totuus puri jalkaan koulujen jälkeen" -> Mobiilipeliohjelmoija

Elkää ottako liian vakavasti.

Tämä oli kaunis kiteytys :)
 
Sanoisin että ensitöikseen kannattaa opetella versiohallintajärjestelmät ja CI-systeemit. Niitä taitoja koodari tarvitsee aina. Toinen samaan asiaan liittyvä taito on skriptaaminen ja automatisoiminen. Noi taidot on mielestäni korvaamattomia apuvälineitä perus ohjelmointitaitojen lisäksi. Devops-taidot ylipäätänsä ovat kovassa arvossa tänäpäivänä. Ainakin kun seuraa LinkedIniä, työpaikkailmoituksia jne. Koodaustaitoinen työllistyy vielä tänä päivänä aika helposti, ainakin isoimmissa it-alan työllistäjäkaupungeissa (Oulu, Tampere, Espoo/Helsinki), eteenkin nyt kun Nokia-savut ovat alkaneet hälvetä.
 
Viimeksi muokattu:
Kiitoksia vastauksista. Tulipahan taas hieman ajattelemisen aihetta, joten täytyy pureskella näitä.

Tässä mielestäni huolestuttavasti paistaa intohimon puute.
No, kieltämättä sitä se onkin osittain. Ohjelmointi kiinnostaa, mutta kaikki ohjelmointiin liittyvä ei kiinnosta. Erityisesti siis web-puoli ei tunnu erityisen houkuttelevalta sen vuoksi, että pitäisi kai joka päivä opetella jokin uusi JS-framework. En siis missään tapauksessa vastusta uuden opettelua, siihen kulutan tälläkin hetkellä suuren osan omasta ajasta. Mutta haluaisin kuitenkin, että työ olisi pääsääntöisesti sitä, että pystyy soveltamaan jo sitä olemassa olevaa ammattitaitoa, eikä sitä, että hankittu osaaminen on jo vanhentunutta, ennen kuin sitä on ehtinyt käyttää mihinkään.

Toinen osa siitä intohimon puutteesta on sitten ihan puhdasta realismia. Kun tarkoitus olisi kuitenkin löytää uutta työtä, jolla pystyisi vielä elättämään perheenkin, niin silloin uuden osaamisen hankkimisessa on mietittävä sitäkin, mistä on hyötyä työllistymisen kannalta, vaikka se onkin vähän intohimotonta.

Teknologia taikka kieli ei ole ongelma ja kaikki isommat firmat kouluttavat kattavasti käyttämiinsä frameworkkeihin ja tehtäviinsä
Onko näin? Näin maallikkona tuntuu ainakin työpaikkailmoituksia lukiessa, että hyvin monessa paikassa vaaditaan hyvin vahvaa osaamista jostain tietystä teknologiasta. Eli pitää olla valmis tekijä jollain tietyllä tekniikalla, tai hakija ei kiinnosta.

Tässä muutamia lainauksia eri ilmoituksista:
"Tehtävä edellyttää vahvaa osaamista ja aiempaa kokemusta node.js/angular.js sekä express.js:stä."
"Hakijalta edellytetään tehtävään soveltuvaa koulutusta, Python-, PHP- ja JavaScript-ohjelmointikielien hallintaa sekä kokemusta Linux- ja AWS-palvelinympäristöjen ylläpidosta."
"C# ohjelmointikielen hyvää osaamista ja webteknologioiden tuntemusta"
"Sinulla on pitkä ohjelmointikokemus Pythonilla, Clojurella, C# tai Javalla. Lisäksi sinulla on vahva ymmärrys web-teknologioiden parissa työskentelystä esimerkiksi Djangon kanssa. Myöskään front end ei ole sinulle vieras alue - tunnet hyvin erityisesti Javascriptin tai siihen käännettävän kielen, kuten Clojurescriptin, Elmin, Purescriptin tai Typescriptin ja Reactin."

En sitten tiedä, onko kyse siitä, että täällä päin ei ole niin paljon noita isoja taloja vaan pienempiä yrityksiä, joilla ei ole aikaa kouluttaa tekijöitään.

Ja huom: En väitä, että yllä olevat vaatimukset ovat mitenkään mahdottomia tai järjettömiä. Kuitenkin tuollaisten perusteella tuntuu, että firmat etsivät useimmiten melko tarkkaan määriteltyä osaamista, ja sen vuoksi sen oman suunnan ottaminen tuntuu hieman vaikealta. Kun nyt on kuitenkin jo hieman taustaa Python-puolelta, mutta menee kuitenkin vielä vuosia, että voin hakemuksessa kehua Python-osaamistani vahvaksi. Samaan aikaan pitäisi sitten olla huipputekijä monella muullakin kielellä tai ainakin yleisesti web-teknologiaguru tai jotakin muuta. Eikä aika vain riitä kaikkeen.
 
Työpaikkailmoituksissa nyt aina vaaditaan, että on kaikkien kielien ja frameworkien erikoisosaaja ja tohtorin tutkinto :D
 
Jos vähän stereotyypitetään täällä, niin noin karkeasti ottaen suomalaiset ovat usein hieman turhan itsekriittisiä ja vähätteleviä taidoistaan. Vastaavasti taas esimerkiksi jenkeillä on päinvastainen ongelma, eli siellä on liikaa sitä, että ollaan liiankin ylpeileviä osaamisestaan ja luullaan olevansa parempia kuin ovatkaan. Tämä taas johtaa siihen, että jos suomalaisella on kuitenkin vähänkään kipinää itsensä kehittämiseen paremmaksi ja kiinnostusta ohjelmointiin, niin lopputuloksena suomalaisesta kehittyy herkemmin osaavampi koodari kuin amerikkalaisesta (plus meillä on peruskoulutuksen taso paljon parempi). Toki tässä kannattaa muistaa, että tämä on todella karkea yleistys. Toisaalta kuulemani mukaan maailmalla on havahduttu siihen, että suomalaiset usein ihan oikeasti osaa ja tekee todella hyvää, ja ovat usein käytännössä vieläpä halvempaa työvoimaa. Siksi tänne rantautuu firmoja, jotka toteuttavat palveluita muualle kuin Suomeen :)

Työpaikkahakemusten vaatimukset kannattaa jättää omaan arvoonsa. Varsinkin joissakin niihin vaan kirjoitetaan vähän liian yleispätevästi mitä kaikkea halutaan sen sijaan että keskityttäisiin olennaiseen, eli osaavan ja kehittymiskykyisen tekijän palkkaamiseen. Niiden huonous johtuu ehkä osaltaan siitä, että monet työntekijöitä hakevat eivät osaa kääntää ajatuksia siihen, miten tekijöitä pitäisi hakea (esim. voi olla että koodari on laitettu kirjoittamaan työnhakua, mutta sehän on "tylsää"), tai sitten työnhaku on delegoitu ihmiselle, joka ei tiedä kuinka ohjelmistokehittämiseen tulisi palkata ja koettaa sitten vaan säätää jotakin kasaan vähän ymmärryksensä perusteella, mikä johtaa helposti vaan listaukseen teknologiataitoja. Sitten taas headhuntterit osaavat löytää osaavia tekijöitä vasta kun he ovat jo olleet jossakin töissä pari vuotta. Eli tämä on vähän tätä, että sitten kun jonnekin vaan sen jalan saa väliin ja on LinkedInissä näkyvillä, niin sitten sitä saakin kärsiä jatkuvasta huomiosta.

Mutta noin ylipäätään kai voisin vain antaa neuvon, että heittää sen ylimääräisen epävarmuuden menemään ja lähtee hakemaan töitä sillä asenteella, että on hyvä kehityskelpoinen tekijä. Halu oppia ja kehittyä on paljon tärkeämpää kuin se, että osaa teknologian X jo ennestään. Ja oppiminen on yleensä aika palkitsevaa ja välistä jopa hauskaa :) Plus ohjelmointi ei todellakaan ole sitä, että tekee yksin: ympärillä olevien taitoja ja erikoisosaamista tarvitsee väistämättä, jotta voi itse tehdä paremmin sen mitä osaa. Lopultahan kaikki pohjautuu jotenkin siihen, mitä joku toinen on tehnyt, jotta sinä voisit tehdä sitä mitä teet.
 
"Haluaisin tehdä oman pelin jossa on tämmöstä ja tämmöstä..." -> Väärä ala

Miten tästä tulikin erään toisen foorumin ketju "Etsitkö koodaajaa" tms mieleen, jossa tuntui että paljon on ihmisiä "tekemässä" "omaa" peliä, mutta sitten etsittiin koodaajaa joka sen tekisi ilmaiseksi taikka vähintään jollain 0,01% prosentin provisiolla, joka perusteltiin sillä että tuloihin voi vaikuttaa itse omalla osaamisellaan..

:rofl:
 
Itse aiheesta sen verran, että olen oman urani aikana palkannut varmaan 40-50 koodaajaa eri yrityksiin joissa olen vaikuttanut. Osan olen suoraan itse hakenut ja osan taas ottanut jonkun konsultin kautta osittain, että saa edes jonkinlaisen valmiiksi filtteröidyn listan, ettei tarvitse ihan neulaa heinäsuovasta etsiä. Tämän kautta aika hyvä ymmärrys on myöskin esinnäisten rektytointifirmojen toiminnasta olemassa.

Lähes poikkeuksetta voisin sanoa, että koulutus ei näyttele kovinkaan suurta roolia. Itse en koskaan ole perustanut siitä mitä kouluja ihminen on käynyt, vaan mitä ihminen oikeasti osaa tehdä ja millä asenteella. Tämän takia näytöt osaamisesta ja asenne sekä persoona näyttelevät todella suurta roolia työnhakutilanteessa. Toki muotteja on monenlaisia mihin hakijoita istutetaan, mutta jos osaamisesi on kohdillaan, olet kykeneväinen oppimaan uutta, et ole ihan kauhea ihminen ja osaat ilmaista itseäsi selkeästi niin en usko että ongelmaksi muodostuu töiden löytäminen.

Aikaisemmin joku mainitsi että aloittelija tms ei saisi töitä niin helposti. Tämä on ihan totta ja syystäkin. Suoraan koulusta tulevat kooderit ovat yleensä niin kaukana todellisuudesta odotusten ja työetiikan suhteen, että on ihan hirveää lottoa nähdä miten koulusta tuleva kaveri sopeutuu työelämään. Jos hakija taas puolestaan on koulun jälkeen päässyt töihin ja hakee lyhyen ajan sisään toista paikkaa muualta, niin se taas puolestaan kertoo yleensä että sopeutuminen työelämään ei ole sujunut kovinkaan hyvin jne. Toki nämä on aina tapauskohtaisia eikä mitään selkeää logiikkaa tällaisiin voi ollakaan. Joskus "vanhoina hyvinä aikoina" palkattiin kavereita koulusta ennen kuin ne olivat edes valmistuneet ja ihan hyvin sekin päättyi loppujen lopuksi.

Jos omat harrastukset ovat tietotekniikan suunnalla, niin se on yleensä hyvä asia koska silloin yleensä kiinnostus on laajamittaisempaa ja ymmärretään asioita myös sen käytössä olevan IDE:n ulkopuolelta. Omat harrasteprojektit taas puolestaan vieläkin arvokkaampia, koska ne kertoo siitä että henkilö ylläpitää ja kehittää osaamistaan. Laajemmissa open source projekteissa mukanaolo taas yleensä viestii tiimityöskentelyn osaamisesta ja siitä että koodin hallinta ja kommentointi lienee kunnossa.

Itse arvosta enemmän kokemusta kuin koulutusta. Jos vastakkain on osaamisen puolesta yhtä pätevät kaverit, mutta toisella enemmän kokemusta mutta ei alan koulutusta, ja toisella taas alan tutkinto mutta ei laisinkaan tai vähän kokemusta, niin silloin yleensä kuppi kääntyy ensimmäiseen kaveriin. Toki tämä tilanne on melko harvinainen, koska oikeasti kahta tasaväkistä hakijaa noin eri taustoilla voi olla melko vaikea löytää sen takia että taustahan on se joka määrittää sen osaamisen tason..
 
@Ezzz, ei millään pahalla mutta ainakin omaan korvaani viestistäsi paistaa todella monta ongelmaa lävitse ja suosittelen toista alaa. Ei asiantuntijaksi, töiden johtajaksi, arkkitehdiksi taikka muun "isomman kuvan maalaajaksi" ole mitään asiaa jos ei ymmärrä ruohonjuuritasoa ja sen ympärillä olevaa isompaa kokonaisuutta miten asiat nivoutuvat yhteen.

Kohtasin joskus kauan sitten arkkitehdin joka oli täysin teoriapainotteinen ja vailla riittävää käytännön kokemusta. Aina kun jotain uutta lähdettiin suunnittelemaan, niin hänen piti about lukea kirja tai pari asian tiimoilta ja ehkä vielä käydä joku kaupallinen kurssi siihen päälle. Tämän jälkeen lähdettiin suunnittelemaan ja tietysti haluttiin soveltaa paljon niitä oppeja joita oli opiskeltu, mutta joita ei kuitenkaan täysin ymmärretty ja käytännössä kokeiltu muuten kuin ajamalla jotain exampleja. Lopputulos olikin sitten jotain ihan järkyttävää. Myöhästyneitä projekteja, tyytymättömiä asiakkaita ja ennen kaikkea todella kireä työilmapiiri. Jälkimmäinen johtui siitä että ne jotka käytäntöä ymmärsivät, he tajusivat että homma oli suunniteltu siten ettei lopputulos voinut olla hyvä.

Toki tämä on vain minun mielipiteeni ja tarkoituksenani ei ole lannistaa ketään, mutta nykypäivänä putkinäköisyys johtaa ainoastaan ison firman rivikooderiksi.
 
Näen itseni tulevaisuudessa vahvasti teorian parissa työskentelevänä ja sitä käytäntöön soveltavana kokonaisuuksia pyörittelevänä järjestelmätason asiantuntijana kuin "kädet likaan" työntävänä työläisenä, ja ohjelmointi tosiaan tuntuu enemmän jälkimmäiseltä. Arkkitehdiksi tunnutaan kuitenkin ylentyvän lähinnä käytännön kautta (ja ehkä sille on syynsäkin).
Päästäksesi ikinä tuollaisiin tehtäviin tulee löytyä vahva koodaamistausta ja tekninen ymmärrys asioista. Toki on esimerkkejä isoista puljuista, jotka palkkaavat ihmisiä geneerisillä titteleillä jonnekin middlemanagementtiin tyhjäätoimittamaan, mutta en nyt tiedä onko sekään mielekästä hommaa ja vaikeiden aikojen koittaessa tuollaiset lentävät ensimmäisenä ovesta pihalle. *köh*Nokia*köh*

Jos välttämättä haluat IT-alalle niin viestisi perusteella kannattaa katsella markkinoinnin tai myynnin hommia yrityksissä missä myydään mielellään suht. triviaalia tuotetta. Toisaalta taas IT-ala on muihin teollisuuden aloihin nähden aika poikkeuksellinen ja nopeasti liikkuva-ala missä ihmisten halutaan olevan moniosaajia. Koodaajilta odotetaan hyviä sosiaalisia taitoja, ymmärrystä bisneksestä jne. ja samoiten taas myyjiltä ja muilta odotetaan perusteellista ymmärrystä tuotteesta, kykyä puhua tekniikasta asiakkaiden/oman porukan kanssa jne. että jos kokee koodaamisen jotenkin ikävänä asiana alalla joka on käytännössä 100% rakennettu sen varaan miettisin kahdesti alavalintaa. Mainitsemasi tuotantotalouden linja ei välttämättä olisi ollenkaan huono vaihtoehto.
 
Osaisikohan joku täällä vastata tähän : Onko mitenkään mahdollista löytää Suomesta ohjelmointi-alan työtä ilman työkokemusta ?
Eli siis jos pystyy osoittamaan omaa harrastuneisuutta omilla projekteilla esim. Githubissa.
Itse olen opetellut lähinnä Front-Endiä (HTML, CSS, Javascript, JQuery, AngularJS) seuraavilta sivuilta : codecademy.com, codeschool.com, teamtreehouse.com. Viimeisin on maksullinen.
 
On tietenkin mahdollista. Ilman _mitään_ työkokemusta vähän hankalampi, mutta ainahan on näitä intern paikkoja myös vastavalmistuneille.
 
Minut palkattiin ilman aiempaa ohjelmointialan työkokemusta. Ja juuri palkattiin toinen, mutta on vielä koeajalla niin ei ihan vielä tiedä onko tästä tulossa hyvä tyyppi vaiko ei. Pääasia kuitenkin, että joo, kyllä töihin voi päästä kunhan vain hakee ja onnistuu myös osoittamaan osaamisensa/potentiaalinsa. Hakiessa kannattaa harkita hieman laatikon ulkopuolelle ajattelua, sitä enemmän mitä paremmalta paikka (oman oppimisen kannalta) vaikuttaa. Tarkempia vinkkejä en anna, koska en tahdo potentiaalisesti threadiin päätyvien todellisuudessa taidottomien tahvojen panostavan annettuihin vinkkeihin huijatakseen itsensä töihin - näitä hyviä näyttelijöitä kun valitettavasti myös pyörii kuvioissa onneaan onkimassa :P Ja toisaalta omaperäiset ratkaisut todennäköisesti kuitenkin toimivat paremmin kuin jonkin ohjenuoran tarkka noudattaminen.
 
Minut palkattiin ilman aiempaa ohjelmointialan työkokemusta. Ja juuri palkattiin toinen, mutta on vielä koeajalla niin ei ihan vielä tiedä onko tästä tulossa hyvä tyyppi vaiko ei. Pääasia kuitenkin, että joo, kyllä töihin voi päästä kunhan vain hakee ja onnistuu myös osoittamaan osaamisensa/potentiaalinsa. Hakiessa kannattaa harkita hieman laatikon ulkopuolelle ajattelua, sitä enemmän mitä paremmalta paikka (oman oppimisen kannalta) vaikuttaa. Tarkempia vinkkejä en anna, koska en tahdo potentiaalisesti threadiin päätyvien todellisuudessa taidottomien tahvojen panostavan annettuihin vinkkeihin huijatakseen itsensä töihin - näitä hyviä näyttelijöitä kun valitettavasti myös pyörii kuvioissa onneaan onkimassa :p Ja toisaalta omaperäiset ratkaisut todennäköisesti kuitenkin toimivat paremmin kuin jonkin ohjenuoran tarkka noudattaminen.

Koeaika, ja oikean tyyppinen haastattelu kyllä saa tuommoiset tapaukset esiin. Myös isommassa talossa. Ehkä paras vinkki mitä itse antaisin, on aloittaa ura hieman pienemmässä firmassa ja viettää siellä aikaa noin 1-2 vuotta ja samalla harjaannuttaen omia taitoja. Firman vaihdolla sitten ensimmäiseen "oikeaan" kovemman tason ohjelmointipestiin.

Junior-tason, ja sen alle, devaajan erottaa kyllä tosi nopeasti muutamalla kysymyksellä. Kyllä sama tosin pätee siihen, onko joku seniorimpi vai ei. Tähän ei vaikuta siis mitenkään työvuodet, vaan osaaminen. Ei ole mitään perus-patteristoa, minkä ulkoa opiskelemalla voisi "huijata" itsensä sisään.
 
Osaisikohan joku täällä vastata tähän : Onko mitenkään mahdollista löytää Suomesta ohjelmointi-alan työtä ilman työkokemusta ?
Eli siis jos pystyy osoittamaan omaa harrastuneisuutta omilla projekteilla esim. Githubissa.
Itse olen opetellut lähinnä Front-Endiä (HTML, CSS, Javascript, JQuery, AngularJS) seuraavilta sivuilta : codecademy.com, codeschool.com, teamtreehouse.com. Viimeisin on maksullinen.

Jos pystyy hoitamaan itsensä työhaastatteluun, niin mahdollisuudet on ihan realistisesti olemassa. Mutta se tosiaan edellyttää tätä näyttöä ja että siitä hommasta jotain ymmärtää ihan oikeasti eikä vaan esitä. Jossain langassa sitä selitinkin että useassa it-yrityksessä arvostetaan Tekijämiehiä ja työnäytettä yli tutkinnon monessa kohtaa.

Yksi tekijä/mahdollisuus joka kannattaa pitää mielessä etenkin pienempien ( lue: joustavempien ) yritysten kanssa rekrytekemisissä, on että ei välttämättä onnistu suoraan sernioriksi 7k€/kk eläkeputki. Sen sijaan, koska pienemmillä yrityksillä ei ole HR osastoa kaiken maailman konsulttien stadardiprosessirekrydoktriinien kanssa hengittämässä niskaan, heidän kanssaan on usein(?) mahdollista tehdä vähän erityyppisiä sopimuksia. Toisin kuin AY-liike usein möykkää, niin saat kyllä itse sopia mitä siihen työsopimukseen kirjoitetaan.

Jos otetaan keissiksi tuollainen frot-end ihminen jolla ei ole kokemusta niin voisi mahdollisesti sopia jonkin yhden vuoden junior-trainee position vaikka yrityksen omien kotisivujen parissa vähän keveämmällä palkkauksella ja kirjata työsoppariin kiinteän päivämäärän jolloin positioa ja palkkausta tarkennetaan. Toki HUOM: suoraan ei kannata, kuulu eikä saa ampua koko alaa jalkaan downballaamalla palkkaansa mutta määräaikaisena ratkaisuna että saa mahdollisuuden näyttää oikean arvonsa työnanatajalle ratkaisu voi olla ihan reilu molempia kohtaan.

Jos tuollainen joku muokattu sopimus onnistuu niin kurjin tilanne joka tuossa voi käydä on, että kyseessä on mulkku putiikki joka haluaa vaan vuodeksi matalapalkkatyypin ja saat kenkää sopimuksen loputtua - mutta olet tienannut tänä aikana elannon JA nyt sinulla on sitä työkokemusta seuraavaan paikkaan lyödä tiskiin. Sen sijaan jos olet ollut hyvä työntekijä, ja se firma ei ole aivan täys konkurssiputiikki, niin hyvin suurella todennäköisyydellä saat vakipaikan ja normi työsuhde-edut - hyvistä osaajista halutaan aina pitää kiinni ja sen osoittaminen on sitten omassa kädessä.
 
Osaisikohan joku täällä vastata tähän : Onko mitenkään mahdollista löytää Suomesta ohjelmointi-alan työtä ilman työkokemusta ?
Eli siis jos pystyy osoittamaan omaa harrastuneisuutta omilla projekteilla esim. Githubissa.
Itse olen opetellut lähinnä Front-Endiä (HTML, CSS, Javascript, JQuery, AngularJS) seuraavilta sivuilta : codecademy.com, codeschool.com, teamtreehouse.com. Viimeisin on maksullinen.

Tottakai on mahdollista. Jokainen menee joskus ensimmäiseen työpaikkaansa. Hyvällä asenteella, realistisilla palkkatoiveilla ja urahaaveilla kannattaisi varmaan lähteä liikkeelle. Aika nopeasti oikeat senioritekijät näkee työhaastattelussa mikä on haastateltavan potentiaali. Ja jokainen haastattelu kannattaa ottaa oppimistilanteena, parhaimmillaan haastattelusta jää hyvä mieli kaikille vaikka homma ei mätsäisi.

Hyvä väylä 'oikeisiin' töihin voisi olla joku projekityökurssi tms. koulusta. Sitä kautta saa nimen jäämään mieleen.
 
Osaisikohan joku täällä vastata tähän : Onko mitenkään mahdollista löytää Suomesta ohjelmointi-alan työtä ilman työkokemusta ?
Eli siis jos pystyy osoittamaan omaa harrastuneisuutta omilla projekteilla esim. Githubissa.

Komppaan, että on varmasti. Isommissa lafkoissa on ihan julkisesti trainee-paikkoja asioille x, y ja z. Pienempiin ja joustavampiin putiikkeihin voi ihan hyvin päästä asenteella ja sopivilla odotuksilla. Näissä pienemmissä paikoissa usein juniorien palkkaaminen on enemmän kiinni itse tyypistä ja asenteesta, niissä ei aina ole kvartteripaineita ja uskalletaan panostaa henkilöstön kehittymiseen ihan eri tavalla.
 
Onko muilla kokemuksia noista vuokrafirmojen kautta haettavista Junior-tason koodaushommista? Esim. Academic Work hakee tuollaisiin hommiin. Itse tuossa syksyllä alan hakea töitä niin nuo Junior-tason koodaajan paikat on tähtäimessä, koska tosiaan työkokemusta ei koodaamisesta ole. Harrastuneisuutta kylläkin ja omia projekteja tehnyt.
 
Onko muilla kokemuksia noista vuokrafirmojen kautta haettavista Junior-tason koodaushommista? Esim. Academic Work hakee tuollaisiin hommiin. Itse tuossa syksyllä alan hakea töitä niin nuo Junior-tason koodaajan paikat on tähtäimessä, koska tosiaan työkokemusta ei koodaamisesta ole. Harrastuneisuutta kylläkin ja omia projekteja tehnyt.

Vuokrafirmat yleensä ilmoittaa omakseen samat paikat mitä on muutenkin avoimina, ainakin itse olen tämmöisiin paljon törmännyt. Joskus käynyt mm. haastattelussa kahteen eri paikkaan joka osottautui sitten samaksi kun vuokrafirman kautta kävin myös. :) Jos on harrastuneisuutta ja omia juttuja niin muistathan heittää github/tjms. linkin cv:hen. Uskoisin että nykypäivänä pohjillasi ei ole vaikea työllistyä, edes suoraan skippaamalla Junior tason. Opiskelet äkkiä perusteet ketteristä menetelmistä(sprinttimoodit, kanbanit jne.) jos ei ole tuttua ja versiohallintataidot erityisen tärkeänä. Nämä jos osaa/tietää jo valmiiksi homma helpottuu huomattavasti.
 
Uskoisin että nykypäivänä pohjillasi ei ole vaikea työllistyä, edes suoraan skippaamalla Junior tason.

Oletko siis nähnyt kysyjän koodia, vai mihin tämä perustuu? Kuulostaa oudolta, toisaalta kaipa se on mahdollista, jos siellä Githubissa oikeasti on jotain mullistavaa ja useampi pätevästi kirjoitettu projekti. Vai millaisia harrastusprojekteja jengi on esittänyt ja niiden avulla saanut töitä?
 
Millaisia nuo Junior-tason tehtävien haastattelut on yleensä ollut? Luin englanninkielisistä lähteistä niin niiden mukaan voi olla joku tehtävä ja X aikaa tehdä se, tai voi olla jotain teknisiä kysymyksiä tyyliin annetaan jokin koodi luettavaksi ja kysytään mitä se tulostaa... Toki nämä ovat kokemuksia yleensä jostain USA:sta joten Suomeen ei tietenkään 100% voida sanoa samaa, mutta varmaan kuitenkin täälläkin tuollaisia tehtäviä/teknisiä kysymyksiä voi olla?

Lisäksi tosiaan onko nuo Githubiin tms. ladattavat projektit oltava jotain tosi hienoa tai jossain julkaistuja ohjelmia? Vai kelpaako muutama perus ohjelma millä kuitenkin voisi olla jokin käyttötarkoitus, ja tietysti sellaiset mitkä tuo esille omaa osaamista?
 
Varmaan riippuu ihan paikasta, mutta itse olen melko usein läväyttänyt jonkun API dokumentaation ja esittänyt sen pohjalta kysymyksiä. Yleensä sitten antanut vielä perään pienen tehtävän suunnitella joku fiktiivinen pieni sovellus / prosessi tuon rajapinnan ympärille.
 
Millaisia nuo Junior-tason tehtävien haastattelut on yleensä ollut?

Vaihtelua löytyy aika paljon. Ainakin mitä itse olen havainnut, niin haastattelutilanteessa voidaan kysyä jotakin kohtuullisen yleistä teknistä asiaa ja jos näyttää siltä että haastateltava tietää, niin kysymyspatteristo ottaa haastavamman asteen. Haarukoidaan siis osaamisen tasoa. Toinen tapa haastattelussa on ainakin ollut antaa katseltavaksi lyhyt pätkä koodia ja kysyä mikä siinä on hyvää ja mikä siinä on huonoa tai kokonaan rikki (tarkoituksella sijoitettuja bugeja).

Jotkut myös antavat pienen kotiläksyn tyyliin "tässä on runko, lisää tähän ominaisuus X parhaaksi näkemälläsi tavalla".
 
Millaisia nuo Junior-tason tehtävien haastattelut on yleensä ollut? Luin englanninkielisistä lähteistä niin niiden mukaan voi olla joku tehtävä ja X aikaa tehdä se, tai voi olla jotain teknisiä kysymyksiä tyyliin annetaan jokin koodi luettavaksi ja kysytään mitä se tulostaa... Toki nämä ovat kokemuksia yleensä jostain USA:sta joten Suomeen ei tietenkään 100% voida sanoa samaa, mutta varmaan kuitenkin täälläkin tuollaisia tehtäviä/teknisiä kysymyksiä voi olla?

Lisäksi tosiaan onko nuo Githubiin tms. ladattavat projektit oltava jotain tosi hienoa tai jossain julkaistuja ohjelmia? Vai kelpaako muutama perus ohjelma millä kuitenkin voisi olla jokin käyttötarkoitus, ja tietysti sellaiset mitkä tuo esille omaa osaamista?

Niinkuin edellä jo mainittiin, niin varmaan melkolailla tehtävä/firma -kohtaista, mutta tässä jotain omakohtaisia tai kolleegoiden ja muiden kanssa vastaan tullut:

Entry/Junior -tason "eka koodihomma" -paikoissa tuntuu usein olevan joku simppeli tehtävä jolla varmistetaan että edes perusteet ovat hallussa. Koitetaan varmaan varmistaa että on edes joku perustaso, koska käsittämättömästi kyllä, porukkaa hakee myös ohjelmistoalalle täysin nollaosaamisella tai yliopiston "ohjelmoinnin perusteet" -kurssin taustoilla.

Tällaisia on ollut ainakin yksinkertaiset parsimet "tässä on lähdetiedosto, tee ohjelma joka syö sen ja ulostaa sen kuvaileman daattan." Esim xml->JSON taikka xml->.java jne. Yhdessä putiikissa oli javascriptsovelluksena tehty joku yksinkertainen peli (Tower of Hanoi tms?) jossa koekappaleen piti rakentaa solve() -funktio. Näitä on aika usein tehty kotiläksynä ja sitten käyty läpi seuraavassa haastattelussa niin että täytyy selittää se oma ratkaisu ja järkeily sen takana. En muista kuulleeni että paikanpäällä hirveästi olisi koodia tarvinnut kirjoittaa luukuunottamatta tuota Tower of hanoi -juttua mutta siinäkin tosiaan oli liha jo lautasella ja ihan kourallinen JS -riviä varmaan riitti.

Joitain algoritmitehtäviä on tullut vastaan, joissa siis ei varsinaisesti ohjelmoida vaan maksimissaan pseudokooditasolla hahmotellaan jonkin ongelman ratkaisua. Tällainen on ollut esimerkiksi eräässä logistiikka-alaan (ohjelmistoihin) keskittyvän yrityksen tehtävä jossa piti järjestellä kiinteänkokoiselle lavalla muutaman erikokoisen pakkauksen lajittelualgoritmi ( ~ bin packing problem ). Ja tätä hahmottelua ja järkeilyä sitten puitiin läpi.

Mitä tulee githubin jne "omiin projekteihin" niin itse ainakin olen lähinnä katsonut niiden osoittavan harrastuneisuutta ja kiinnostusta alaan enemmän kuin mitään varsinaista teknistä suoritusta. Tietty jos nyt sattuu olemaan "portfoliossa" justiinsa
sen haetun position scopea vastaavia juttuja niin toki se on vielä erityisplussaa.
 
Itse ole huomannut että käytännössä ei sellaista olekaan kuin ammattikoodari. On ihan sama mitä on tehnyt viisi vuotta sitten kun varsinkin web puolella tekniikat ehtivät vanhentua siinä ajassa. Yhtään projektia ei toistaiseksi ole ollut missä ei jotakin hommaa tai tekniikkaa olisi joutunut opettelemaan nollista. Mitä lähemmäksi rautaa ja kauemmaksi kuluttajatuotteista mennään niin sitä laaja-alaisempaa osaamista pitää kyetä omaksumaan töiden ohessa.
Nykyiset rekryprosessit on syvältä ja varsinkin ohjelmointipuolella jonkinlainen vanha kisällijärjestelmä olisi paljon parempi. Otetaan kaveri tekemään ja jos ei puolessa vuodessa pärjää niin sitten vaihdetaan. Täytyy kyllä tunnustaa etten olisi kyllä itseäni pälkannut junnuvuosina, mutta jonkin sortin säkä kait on haastatteluissa aina käynyt, tosin kertaakaan en ole joutunut nykyiseen ulkoistettuun konsulttihidasteiseen hullunmyllyyn, vaan henkilökohtaisen haastattelun kautta. Vuokrafirmassa aloitin noin 20 vuotta sitten. Nyt jonkin sortin pääsuunnittelijan postilla istutaan.

Ainiin ja haastatteluissa tehtävät on olleet mm JTAG protokollan selvittäminen lennosta, bucket sortin koodaaminen kynällä ja paperilla ja viimeisin oli aika vinkeä, kun käsiteltiin MRI pohjaista kosteudenmittausta hiilivetymassasta.
 
Ohjelmointialan resurssipula on edelleen aikalailla jatkuva. En tiedä muuttuvatko asiat 15 vuoden kuluessa kun kouluputkesta alkaa putkahtaa lävitse ohjelmointiin jo ala-asteelta asti tutustuneita,

Ei tule muuttamaan asioita sen enempää kuin ala-asteella vesiväreihin tutustuneiden vaikutus graafiseen alaan. On niinku ne jotka on että siis daa ja ne jotka on että jee. Ja sitten ne jotka on ihan evvk.

Lisäksi mä voin taata että luokan opettajien osaaminen näissä ATK-hommissa on paljon heikompaa kuin sen vesivärin oranssiksi sekoittamisen osaaminen. Kaivelkaapa muistilokeroita että miten itse kersana suhtauduitte oppiaineeseen minkä opettajasta aisti ettei se mitään tajua.
 
Toivotaan että päteviä koodareita alkaisi ilmestymään markkinoille lisää. Tuntuu että tarjonta on aika heikkoa. Oli joskus aikoja kun pelkkä EJB mainitsiminen antoi työpaikan, mutta silloinkin mielestäni kaverit sai asioita aikaan yllättävän hyvin.
 
Toivotaan että päteviä koodareita alkaisi ilmestymään markkinoille lisää. Tuntuu että tarjonta on aika heikkoa. Oli joskus aikoja kun pelkkä EJB mainitsiminen antoi työpaikan, mutta silloinkin mielestäni kaverit sai asioita aikaan yllättävän hyvin.

Kun en tuolla IT-alan työpaikat ketjussa threadissä saanut kauheasti vastakaikua kysymykseeni, niin kysyn sitten näin päin että mitä pätevän koodarin tulisi tänä päivänä osata?
 
Pätevä koodari on henkilö, joka osaa hahmottaa että mitä himskattia, korjaa ongelmat, kuuntelee muita ja opettelee asioita, valistaa ja opettaa muita ja tekee tämän niin, että kaikilla on kivaa.

On todella hankala määrittää sitä, mitä tarkalleen ottaen pitäisi osata. Oikeastaan kunhan vaan tekee edes jotain koodaamista riittävän pitkään ja hieman varioi eri asioiden välillä ja tekee eri kulmista, niin se riittää pätevyyteen. Tilanne kun on se, että ei ole olemassa mitään yhtä yksittäistä roolia, vaan on todella monenlaisia rooleja tarjolla ja joskus riittää ihan vaan se, että on tietylle firmalle sopivalla tavalla ajatteleva henkilö. Sitten työt mukautuu sen mukaan, mitä osaa ja mitä pystyy oppimaan. Erilaisia työpaikkoja on todella paljon ja kirsikkana kakun päällä osaajista on pulaa. Periaatteessa voi opetella mitä lystää, mutta se pitää opetella kunnolla, ja bonuksena kannattaa opetella olemaan hyvä ihminen - son hyväksi sekä ittelle että muille.

Yleisesti helpottavana mantrana voisin todeta, että kannattaa opetella olemaan väärässä. Koska jos jotain ohjelmoidessa oppii, niin sen että ihminen on huomattavasti useammin väärässä kuin tietokone. Kukaan ei ole niin kova, että olisi kokoajan oikeassa tai parhaan ratkaisun äärellä. Pitää vaan sietää jatkuvaa kyseenalaistamista, niin on mahdollisuus löytää se käytännössä toimivin ratkaisu kuhunkin hetkeen. Tähän kun kykenee päivästä toiseen, niin on kyllä jo aikamoisen pätevä koodari.
 
  • Tykkää
Reactions: mxb
Itse ole huomannut että käytännössä ei sellaista olekaan kuin ammattikoodari. On ihan sama mitä on tehnyt viisi vuotta sitten kun varsinkin web puolella tekniikat ehtivät vanhentua siinä ajassa. Yhtään projektia ei toistaiseksi ole ollut missä ei jotakin hommaa tai tekniikkaa olisi joutunut opettelemaan nollista.

Olen koodannut vuodesta 1985 ja ammatikseni vuodesta 1989. Hallitsen tänä päivänä tekniikoita kuin SQL:t, MongoDB, Java, C, C++, Cobol, Pascal ja Object Pascal ja Kotlin, Ada, React Angular, Vaadin jne. jne. Kun sitä hommaa oikeasti tekee tälla lailla ammatikseen ja pyrkii pysymään mukana skenessa niin on vain ammattitaitoinen.

Minä olen ammattikoodari, sille ei voi mitään. Siitähän mulle maksetaan ;)
 
Kun en tuolla IT-alan työpaikat ketjussa threadissä saanut kauheasti vastakaikua kysymykseeni, niin kysyn sitten näin päin että mitä pätevän koodarin tulisi tänä päivänä osata?

@Merri vastasi ansiokkaasti yllä: pitää osata kaikenlaista vähän pestistä riippuen. Ja jos buzzwordejä haluaa, niin selaamalla työpaikkailmoituksia, näkee aika kivasti, millaista substanssiosaamista firmat haluavat. Ja vielä enemmän selviää, kun ottaa rohkeasti yhteyttä firmoihin ja kysyy asiaa.

Jos webihommat kiinnostavat, niin haittaa ei ole esim. Javascriptin, HTML:n, CSS3:n, SCSS:n, Noden/Expressin/Javan, Reactin/Angularin, Webpackin/Gulpin, SQL-johdannaisten osaamisesta. Lisäksi Ansiblea, Dockeria, AWS:ää, RESTin ymmärtämistä, tietoturvaa ja tietenkin järkevä Git:n käyttö. Ja koska tämä lista on täysin puutteellinen/vanhanaikainen/"väärä", niin lopputulema on, että kaikkea ei tarvitse hallita, mutta kyky ja halu omaksua uutta ja jokin käsitys näistä helpottaa kummasti.

Mutta aivan yhtä tärkeää ovat taidot, jotka eivät liity suoraan koodin tuottamiseen ja ajamiseen. Hyvillä sosiaalisilla taidoilla on myös suuri merkitys ja niistä ollaan kiinnostuneita heti ensimmäisestä yhteydenotosta lähtien.
 
@Merri
Mutta aivan yhtä tärkeää ovat taidot, jotka eivät liity suoraan koodin tuottamiseen ja ajamiseen. Hyvillä sosiaalisilla taidoilla on myös suuri merkitys ja niistä ollaan kiinnostuneita heti ensimmäisestä yhteydenotosta lähtien.

Juurikin näin. Ja se on monille koodareille vaikeaa (ei ehkä edes useimmille, mutta monille). Koodariksi usein päätyy kun on tyyppi joka viihtyy oman päänsä sisällä pohtimassa vaikeita loogisia ongelmia, mutta ei niinkään tykkää hengailla ympäriinsä.

Mutta meitä on moneksi. Auttavat sosiaaliset taidot kuitenkin pitäisi olla.
 
Sen olen kyllä huomannut että sosiaalisia taitoja painotetaan tai on painotettu aivan liian vähän teknisen osaamisen kustannuksella ainakin parissa paikassa missä olen ollut töissä. Yksi asia miksi olen miettinyt olenko aivan väärällä alalla. Jos ei ala vaihdu niin maa vaihtuu.

Työkokemusta parikymmentä vuotta alalta ja varsinkin nuoremmilla on monesti sosiaaliset taidot ihan hukassa. Onneksi on poikkeuksia, mutta valitettavasti on pakko yleistää. Tai sitten en vaan itse sovellu joukkoon, koska erotun siitä epäsosiaalisesta koodarimassasta. Kertoo paljon että kun toin vaimon käymään työpaikalla niin ainoa joka tervehti ja esitteli itsensä oli konsultti. Oma vahvuus taas on juuri niissä taidoissa mitä tarvitaan pelkän koodamisen lisäksi.
 
Viimeksi muokattu:
Sen olen kyllä huomannut että sosiaalisia taitoja painotetaan tai on painotettu aivan liian vähän teknisen osaamisen kustannuksella ainakin parissa paikassa missä olen ollut töissä. Yksi asia miksi olen miettinyt olenko aivan väärällä alalla. Jos ei ala vaihdu niin maa vaihtuu.

Työkokemusta parikymmentä vuotta alalta ja varsinkin nuoremmilla on monesti sosiaaliset taidot ihan hukassa. Onneksi on poikkeuksia, mutta valitettavasti on pakko yleistää. Tai sitten en vaan itse sovellu joukkoon, koska erotun siitä epäsosiaalisesta koodarimassasta. Kertoo paljon että kun toin vaimon käymään työpaikalla niin ainoa joka tervehti ja esitteli itsensä oli konsultti. Oma vahvuus taas on juuri niissä taidoissa mitä tarvitaan pelkän koodamisen lisäksi.

Konsulttihommissa sosiaalisia taitoja varmasti korostetaan enemmän kuin muualla. Kun tiimi tekee itsenäisesti hommia asiakkaan tiloissa ja sen projektin lisäksi samalla käytännössä markkinoi yritystä, on aika tärkeää että tulee hyvin toimeen muiden kanssa ja osaa käyttäytyä kohteliaasti. Ja jos devaajat ovat keskimäärin normaalia introvertimpää porukkaa, voi ulospäinsuuntautunut erottua mukavasti edukseen työnhaussa.

Et tainnut vielä kertoa: millaisia hommia olet tehnyt ja millaisia hommia haluaisit mahdollisessa uudessa työpaikassa tehdä?
 
Sen olen kyllä huomannut että sosiaalisia taitoja painotetaan tai on painotettu aivan liian vähän teknisen osaamisen kustannuksella ainakin parissa paikassa missä olen ollut töissä. Yksi asia miksi olen miettinyt olenko aivan väärällä alalla. Jos ei ala vaihdu niin maa vaihtuu.
No mikä se konkreettinen haitta on? Ei sanota päivää toimistolla? Silloin minäkin kuulun näihin epäsosiaalisiin eli ilmeisesti epäpäteviin koodaripoikiin.

Asiaa sivuten, minulle on itse asiassa jäänyt mieleen se, kuinka yläasteella tet-jaksolla K-kaupan esimies veti herneen nenään, kun en vastannut hänen huomenien toivotukseen välittömästi vaan odotin rouvan tulevan lähemmäs, jotten minun tarvitsisi huutaa kymmenen metrin päähän.

Jos minun pitäisi alkaa esitellä itseäni jonkun randomin vaimon tullessa piipahtamaan työpaikalla, niin firma olisi minullakin vaihtunut. Tai maa.

Jos webihommat kiinnostavat, niin haittaa ei ole esim. Javascriptin, HTML:n, CSS3:n, SCSS:n, Noden/Expressin/Javan, Reactin/Angularin, Webpackin/Gulpin, SQL-johdannaisten osaamisesta. Lisäksi Ansiblea, Dockeria, AWS:ää, RESTin ymmärtämistä, tietoturvaa ja tietenkin järkevä Git:n käyttö. Ja koska tämä lista on täysin puutteellinen/vanhanaikainen/"väärä", niin lopputulema on, että kaikkea ei tarvitse hallita, mutta kyky ja halu omaksua uutta ja jokin käsitys näistä helpottaa kummasti.
Kaikki yritykset yleistää tarvittavaa osaamista johtavat väärään lopputulokseen. Erityisesti noiden webbiteknologioiden kirjo on niin mahdoton, että millä tahansa osaamisella löytää kyllä työtä. Naiivisti ajattelen jopa niin, että tekniikoita voi poimia oman mielenkiinnon mukaan ja pärjätä sillä työnhaussa. (vs. kiinnostus oppia jotain, mihin joku muu käskee perehtymään illan pimeydessä.)
 
No mikä se konkreettinen haitta on? Ei sanota päivää toimistolla? Silloin minäkin kuulun näihin epäsosiaalisiin eli ilmeisesti epäpäteviin koodaripoikiin.

Asiaa sivuten, minulle on itse asiassa jäänyt mieleen se, kuinka yläasteella tet-jaksolla K-kaupan esimies veti herneen nenään, kun en vastannut hänen huomenien toivotukseen välittömästi vaan odotin rouvan tulevan lähemmäs, jotten minun tarvitsisi huutaa kymmenen metrin päähän.

Jos minun pitäisi alkaa esitellä itseäni jonkun randomin vaimon tullessa piipahtamaan työpaikalla, niin firma olisi minullakin vaihtunut. Tai maa.

Tervehtiminen kuuluu hyviin käytöstapoihin. Jos haluaa antaa itsestään tylyn ja epäsosiaalisen kuvan niin mikäs siinä, ihan oma valinta. Valitettavasti myös usein tällaisten ihmisten kanssa työskentely on hankalampaa työyhteisössä ja ei ole tiimin toimivuudelle hyväksi, kun ei osata avata suuta ja sosiaaliset taidot on heikot. Eikä sitä aina oikein pysty paikkaamaan pelkillä hyvillä teknisillä taidoillakaan. Homma voi toimia jos ei tarvitse esim. olla missään kanssakäymisessä asiakkaan kanssa tai muun tiimin kanssa, mutta nykyään monesti tarvitsee. Epäsosiaalisuus ei tee teknisesti epäpätevää (vai väittikö joku muka edes sellaista), mutta työmarkkinoilla varmasti parempaa valuuttaa jos kummatkin osa-alueet ovat hallussa.

Itse pidän omituisena jos oman tiimin työntekijät ei osaa tervehtiä aamulla tai sanoa jotain kun lähtevät kotiin. Suomessa en odota small talkia, mutta jotkut käytöstavat sentään ovat jo pelkästään työilmapiirin kannalta suotavia. Pidän myös hieman omituisena jos lähimmät tiimit jäsenet istuvat tuppisuuna silloin, jos tuo jonkun käymään työpaikallaan ja tervehtii.

Mutta onnea vaan sen työpaikan etsimiseen maailmalta. Sen verran on ulkomailta kokemusta että jos jo pelkkä tervehtiminen on vaikeaa, niin työnhaku voi olla vielä vaikeampaa; Suomi on niitä harvoja maita jossa jotenkin menee vielä läpi jos ei osata tai viitsitä tervehtiä, saati sitten keskustella toisten ihmisten kanssa. Sosiaalisia taitoja voi ja pystyy harjoittelemaan ihan samalla tavalla kuin teknisiä. En kyllä vastaavasti aivan ymmärrä miksi olisi päinvastoin ajatellen jotenkin hienoa olla teknisesti epäpätevä yrittämättä harjoittaa niitä skillsejä, vaikka olisi miten sosiaalisen ja kiva persoona muuten. Tällaisiakin ihmisiä alalla on, paljon.

Konsulttihommissa sosiaalisia taitoja varmasti korostetaan enemmän kuin muualla. Kun tiimi tekee itsenäisesti hommia asiakkaan tiloissa ja sen projektin lisäksi samalla käytännössä markkinoi yritystä, on aika tärkeää että tulee hyvin toimeen muiden kanssa ja osaa käyttäytyä kohteliaasti. Ja jos devaajat ovat keskimäärin normaalia introvertimpää porukkaa, voi ulospäinsuuntautunut erottua mukavasti edukseen työnhaussa.

Et tainnut vielä kertoa: millaisia hommia olet tehnyt ja millaisia hommia haluaisit mahdollisessa uudessa työpaikassa tehdä?

Kyllähän tuo pitää paikkansa. Itse en ainakaan palkkaisi konsulttia jonka ulosanti on vajaa. Tai ainakaan jatkaisi sopparia jos selviää myöhemmin millainen persoona on kyseessä, vaikka olisi miten tahansa pätevä teknisesti. Tähän vaikuttaa myös se millaisissa yrityksissä olen ollut töissä, mutta sama olisi pätenyt joka paikassa. Tai ehkä valtion hommissa ei olisi niin nuukaa. Sieltähän löytyy paljon näitä menestystarinoita onnistuneista projekteista ja järjestelmistä.

Full stack devausta on tullut tehtyä koko työura ja siihen on mahtunut vuosien varrella laajalti kaikkea laidasta laitaan. Varmasti jatkossakin työtehtävien toivoisi olevan sellaisia että on ainakin puolittainen kosketuspinta tekniseen puoleen ja koodaamiseen. Oma alkuperäinen kysymys oli ehkä vähän huonosti muotoiltu. Paremminkin pitäisi varmaan kysyä mitä teknisiä taitoja yritykset hakevat esim. 5 vuoden päästä tai mille on kysyntää. Se tekee kysymyksestä hieman haastellisemman, muttei kuitenkaan aivan mahdotonta.

edit: ja siitä olen samaa mieltä että luettelemasi stackin osaamisesta ei varmasti ole haittaa tulevaisuudessakaan ja kys. taitoja varmasti arvostetaan jollain tasolla varmasti muutamankin vuoden päästä. Itsellä kokemusta löytyy siltä osin ja mietinkin mistä suunnalta lähtisi hakemaan uutta osaamista tulevaisuutta varten. Esim. tyyliin jos olisi 5-10 vuotta sitten lähtenyt panostamaan koneoppimiseen tai data sciencen suuntaan. Ja kuten tuossa on jo asiaa sivuttu, niin jatkuvaa oppimista alalla vaaditaan ja sitten kun ikärasismi alkaa iskemään, niin asia vielä korostuu. Pitää erottua paremmin joukosta.
 
Viimeksi muokattu:
Kaikki yritykset yleistää tarvittavaa osaamista johtavat väärään lopputulokseen. Erityisesti noiden webbiteknologioiden kirjo on niin mahdoton, että millä tahansa osaamisella löytää kyllä työtä.

Kuten sanoin: ei noiden teknologioiden osaamisesta ole haittaa. Jos luet tarkkaan, en ollut yleistämässä tarvittavaa osaamista. Tämänkin kyllä ilmaisin ihan selkeästi.
 
Hallitsen tänä päivänä tekniikoita kuin SQL:t, MongoDB, Java, C, C++, Cobol, Pascal ja Object Pascal ja Kotlin, Ada, React Angular, Vaadin jne. jne.
Johan siinä on jo jonkinmoinen läjä tekniikoita joita on pitänyt opetella töiden ohessa, vai meinaatko että kaikista oli koulun penkiltä lähtiessä riittävästi evästä? No toisaalta tuossa on listassa aika paljon tekniikoita tältä vuosituhannelta, joten pitäydyn kannassani siitä että uutta joutuu/saa opetella koko ajan.
 
Konsulttihommissa sosiaalisia taitoja varmasti korostetaan enemmän kuin muualla.
Mä olen konsulttifirmassa töissä ja jonkun verran rekrytoinnissa mukana. Meillä sosiaalisia taitoja ja sitä kuuluisaa "hyvää tyyppiä" kyllä korostetaan. Jos on sosiaalisesti lahjakas kaveri, jolla on selkeästi oppimiskyvykkyyttä ja asenne kohdallaan niin sellainen voidaan ottaa, vaikka kaikkia hienoja teknologioita ei olisikaan CV:ssä. Kyllä se ne oppii. Sen sijaan sosiaalisesti epälahjakkaita töksäyttelijöitä ei haluta, vaikka olisi millainen teknologiapino CV:ssä. Ei toki tarvitse olla mikään super-ekstrovertti tai supersosiaalinen vaan suhteellisen normaalit kommunikointi- ja sosiaaliset taidot riittää. Haastiksessa on oikeasti käynyt tyyppejä, jotka ei ole uskaltaneet koko haastattelun aikana katsoa kunnolla silmiin enkä mielestäni nyt niin pelottava tyyppi ole.

Softakehitys on nykyään tiimityötä eikä kukaan halua katsella omassa tiimissään kyräilevää kyrpänaamaa, joka ei kunnolla huomenta sano.


Mutta näin vinkkinä että esim. jos jonkun uuden kielen haluaa opetella niin Clojure ei välttämättä ole paskempi vaihtoehto työllistymisen kannalta. Joutuu vähän niksauttelemaan aivojaankin eri asentoon ja miettimään asioita eri kantilta.
 
Viimeksi muokattu:

Statistiikka

Viestiketjuista
259 451
Viestejä
4 512 628
Jäsenet
74 371
Uusin jäsen
garlicbun

Hinta.fi

Back
Ylös Bottom