lauantai 10. lokakuuta 2015

Koodikoulussa Eficodella

Vietimme parituntisen Eficoden koodikoulussa tyttäreni kanssa. Nämä sessiot ovat tosi suosittuja, kaikki koodikoulut ovat aina loppuun buukattuja hyvin pian ilmoittautumisen aukeamisen jälkeen ja meillä kävi tuuri että olin eilen peruutuspaikkailmoituksen saapuessa heti postieni äärellä. 

Vaikka tyttöni ei sitä koodikoulussa ääneen sanonutkaan, tämä oli meille jo kuudes sessio. Niinpä sessioita alkaa vähitellen katsomaan vertailumielessä. Ja minä vedän sessioita itsekin #LearnWithLlew -tyyliin. 

Eficoden koodikoulu

Koodikouluun jokainen saapuu mukanaan oma kone ja oma aikuinen. Vastaanottajia talon puolestakin oli reilusti, jokaisella askeleella ohjaten että löysimme oikeaan paikkaan. Varsinaista kurssia piti (mies)koodarikaksikko, joka jo sai minut toivomaan että olisivat mallintaneet tässä kohden tasaisempaa sukupuolijakaumaa. 

Koodiopet kertoivat alkuun vähän yksinkertaisesti ohjelmoinnista (annetaan käskyjä tietokoneelle) ja avasivat yhden pöytäkoneen sisuskalut lasten tarkasteluun. Ja sitten lähdettiin omien aikuisten avulla valinnaisesti johonkin kolmesta vaihtoehdosta: Turtle Roy, LightBot tai Code.org:n Angry Birds -sokkelo.

Tyttöni jaksoi tehdä kuusi ensimmäistä Angry Birds -sokkeloa, kun kyseinen peli oli jo "tylsä". Koitimme LightBotia, joka ei sitten toiminut koneellamme. Näinpä päädyimme Turtle Roy:n pariin, joka lopulta miellytti kaikkein eniten.
 
Turtle Royssa parasta oli että sai kirjoittaa. Vaikka käskyt ovatkin englannista lyhennettyjä, pienen lunttilapun kanssa ne tarttuivat nopeasti ja oli kivaa kun tuloksena tyhjä kangas täyttyi omilla kuvioilla. Tehtiin ohjeista suoraan toistolla ja sekvensseillä neliö, muunneltiin neliöstä kolmio ja ympyrä. Ja rakennettiin sitten se tehtävänannon mukainen talon kuva komento kerrallaan. Aliohjelmien kanssa ehdittiin vasta aloitella, kun jo aika loppuikin. 

Eficode antoi lopuksi pikkukoodareille diplomit suorituksesta, joka oli ilmeisen tärkeä juttu. 

Vertailua sessioiden välillä

Olemme olleet nyt tosiaan erilaisissa sessioissa niin että tämä oli meille kuudes sessio ohjelmoinnin esittelystä ja ensikokemuksista. 

Kolme sessioista on ollut minun vetämiäni tyttöni esikouluryhmälle. 

Ensimmäisessä setissä teimme code.org:n koodituntia pariohjelmointina. Vaihdoimme neljän minuutin kellolla kumpi oli "ajattelija" ja kumpi "kirjoittaja", ja koneella ajattelu oli tosiaan Strong-style Pairing -periaatteen mukaisesti kiellettyä. Dynamiikka toimi ihan mahtavasti ja 6-vuotiaista oli toisilleen paljon apua, 14 lasta meni hyvin kahden koodiopen voimin ja tuloksena syntyi upeita Frozen Elsa & Anna -lumihiutaleita. 

Toisessa setissä teimme unplugged (tietokoneeton tekeminen) kuppirobotin ohjelmointia, ja hyvin opittiin laskemaan että montako siirtoa mihinkin kuvioon saatiin ja paperille syntyi upeita ohjelmia. Testasimme ohjelmia ryhmästä toiseen, ja aina välillä testatessa selvisi että robotti ei teekään ihan mitä ajatteli, jos askel tai vaikka alkutilanne ei olekaan sitä mitä koodatessa kuvitteli. Sain opetettua hiukan ajatuksia testauksesta ja oletuksista. Tätäkin tehtiin pariohjelmointina.

Kolmannessa setissä teimme oman äänisatukirjan. Suurin osa ajasta kului kuvia piirtäessä, jotka sitten skannattiin ja joiden päälle rakennettiin kerrontaa ja leikattiin yhteen omat äänet. Ohjelmointia sessiossa ei suoranaisesti tehty kun tarina ei ollut haarautuvat.

Kaksi muuta sessiota, joissa olemme olleet ovat olleet Linda Liukkaan järjestämiä. Pääsimme osallistumaan Hello Ruby -materiaalien leikkitestaukseen osallistuen Rubyn synttärijuhliin (ja tästä edelleen muistetaan mitä eroa on RAMilla ja ROMilla, ja kuinka ohjelmointi on sitä että minä päätän mitä tehdään). Ja aikaisemmin osallistuimme Hello Ruby -sessioon, jossa tarkasteltiin että  missä kaikkialla tietokoneita on, mitä tietokone on syönyt Raspberry Pi:n avulla sekä rakennettiin oma tietokone askartelemalla.

Kysäisin tytöltäni että mikäs sessio on ollut paras. Kuulemma se jossa ei tehty vain harjoitusta, vaan luotiin jotain oikeasti omaa. Ja code.org:n juttuja oli vaan kivempi tehdä kun niitä sai tehdä kaverin kanssa. Äiti ei ole yhtä hyvä, vaikka sillä olisi kuinka monta vastausta valmiina.

Session jäljiltä olen yhä enemmän sitä mieltä että tytöille ohjelmoinnin opettamisessa pariohjelmointi on erityisen tärkeää. Tyttöjä oli tässäkin sessiossa vain muutama, joten taidanpa itse vetää muutaman koodikoulun, jossa kiintiöitetään tyttöjä. Ja tytöillekin opetus pitää tehdä parina: mies-nais -parina. Koska koodaus tulevaisuudessa on tasa-arvoisin tehtävistä asioista, ja kiero jakauma nykyisin alalla on historiaa siihen mennessä kun ekaluokkalaiseni pääsee työtehtäviään valitsemaan. Eikös niin?


perjantai 9. lokakuuta 2015

Voisiko työ muokkautua ihmisen mukaan?

Kirjoitin tänään työpäivän kesken paperilapulle twitterin inspiroimana seuraavan lauseen, jonka joku sanoi.
Luo työpaikkoja, jotka sopivat ihmisille; älä etsi ihmisiä, jotka sopivat työpaikkaan. 
Monesti kun etsimme sitä uutta duunikaveria, mielessämme on joukko kriteereitä, joita kaverin tulee täyttää. Ehkä moni ominaisuus on tiivistelmä omista ajattelemistamme hyvistä ominaisuuksistamme. Ehkä etsimme sitä mille oman onnistumisemme kohdistamme.  Ehkä kyseessä on ominaisuus, joka meiltä kaikilta puuttuu. Ja oli kyseessä mikä tahansa ominaisuus, olemme aina jotenkin kovin varmoja että tunnistamme sen ominaisuuden kun sen näemme ihmisessä haastattelutilanteessa. Tai ainakin tiedämme mitä olemme etsimässä.

Testauskentällä hakemuksista voi tosiaan päätellä ettei kukaan etsi minua. Ja silti tiedän hyvinkin tarkkaan että moni tarvitsisi minua, ei vain osaa hakea oikeilla sanoilla. Joillain organisaatioilla on kaltaisiani testaajia, ja ehdotus on että opettelepa pythonia, tai korvaamme sinut jollakulla toisella. Siinäpä mainio esimerkki siitä kuinka ensisijaisesti ihmisen pitää mahtua työpaikkaan eikä haluta / osata rakentaa työpaikkaa, joka sopisi ko. ihmiselle. Sillä mitä elämältään haluaa on väliä. Jos asioita tekee kun käskettiin, sydän ei ole mukana. Ja jos sydän ei ole mukana, kannattaa etsiä jotain missä se on mukana eikä kiduttaa itseään. Maailma kun on mahdollisuuksia täynnä.

Yritän aktiivisesti uskoa siihen, että ohjelmistokehityksen maailmassa ihmiset, joiden kanssa olemme töitä päätyneet tekemään ovat älykkäitä ihmisiä. Ihmisiä, joilla on kyky kasvaa monenlaisiin suuntiin. Suuntaa rajaavat enemmän intressit (mihin haluamme aikaamme käyttää kun se on niin rajallista) kuin taidot. Tahdolla oppii mitä vain, eikä tässä enimmäkseen kuitenkaan ihan rakettitieteen kanssa olla tekemisissä. Ja rakettitiedettäkin tekee ihmiset.

Kannattaisi ehkä katsella vähän että millaisia erilaisia ihmisiä ohjelmistokehitysmaailmassa on tarjolla ennen kuin päättää että tarvitsee taas yhden "superautomatisoijan". Ohjelmoijan profiilin tiimeihin jättämä aukko kun useimmiten ei ole automaation muotoinen, vaan näyttää enemmän kaikelta siltä mitä automaatio-ajattelun väliin jää.

Opin vuosi sitten termin "job crafting". Ideana on että kun meille annetaan työpaikka ja rajattu rooli, muokkaamme työn rajoja erilaisin tavoin itsemme näköisiksi. Mietin vaan että mitä voisikaan saavuttaa jos kevyen venyttämisen sijaan voisimme oikeasti etsiä miten panostaa parhaiten intressiemme puitteissa?




Lukijat

Osallistujat