Millä perusteella teknologia tulisi valita?

Gartnerin malleissa ja menetelmäkäsikirjoissa kaikki menee ihanasti, kun taas käytännön elämässä kehitystiimit ja IT-yksiköt joutuvat tekemään teknologiavalintoja usein puutteellisilla tiedoilla. Erityyppiset hankinnat tulevat eteen niin harvoin, että edellisen kierroksen jälkeen markkina ja sen pelurit ovat ehtineet muuttua täysin. Ostaja on helposti toimittajien mainospuheiden varassa. Vai onko? Ei välttämättä, kun pitää muutaman perusasian valintoja tehdessään mielessä.

 

1 Panosta liiketoimintakriittisyyden mukaan

Ihan ensin hankintaa miettiessä on syytä tunnistaa, minkä verran järjestelmään on perusteltua panostaa. Jos kyseessä on aivan liiketoiminnan keskiössä oleva järjestelmä, jolla etsitään kilpailuetua ja kirkkaampaa tulevaisuutta, sen kehittämiseen voidaan panostaa aivan eri tavalla kuin jos kysymys on toiminnan rutiineista.

Jos tarve kuuluu jälkimmäiseen kategoriaan, hankintaa suunniteltaessa kannattaa saman tien kääntää päälle vaihde, jolla ratkaisut tarpeisiin mietitään vaikka millä ilveellä olemassa olevien valmisratkaisujen ympärille ja kustomointia tehdään minimaalinen määrä.

Seuraavat alaluvut koskevat erityisesti ensimmäisen kategorian teknologioiden valitsemista, niihin kun on todella aihetta keskittyä.

 

2 Varmista käyttäjätarve

Seuraavaksi on ymmärrettävä käyttäjän tarve. Mikä on käyttäjän perusongelma, joka teknologian on syytä ratkaista? Millainen palvelu sen voisi ratkaista, ja miten pystymme varmistamaan että potentiaalisen toimittajan tai meidän itse kehittämämme teknologia oikeasti tekee näin?

Jos mahdollista, ennen investointia on hyvä käyttää viikko-pari sen varmistamiseen, että käyttäjätarve on oikeasti kuultu käyttäjiltä itseltään eikä mielikuviteltu kulmahuoneessa. Ja samalla on hyvä yksinkertaisimmalla mahdollisella prototyypillä myös varmistaa, että löyhästi kaavailemamme ratkaisu oikeasti täyttää tuon käyttäjätarpeen – ennen kuin olemme upottaneet siihen merkittäviä määriä aikaa ja rahaa.

 

3 Analysoi liiketoiminnan tarve

Lähdettäessä toimittamaan käyttäjille sitä mille löytyi toivottavasti huutava tarve, on seuraavaksi selvitettävä liiketoiminnan teknologialle asettamat reunaehdot. Miten asiakkaan toivoma asia aiotaan toimittaa? Onko valintoja, joita on syytä tehdä vaikkapa hinnoittelun tai järjestelmän toimintasyklien suhteen?

 

4 Tutki uudet fiksut työtavat

Käyttäjän ja liiketoiminnan tarpeen lisäksi teknologiaan useimmiten liittyy organisaation työn arkea: teknologialla tehtävää asiakaspalvelutyötä, ylläpitoa tai taustaprosessia. Teknologiaa valitessasi haluat luultavasti varmistaa, että organisaatiosi on hahmottanut työtavan jolla sitä tullaan käyttämään.

Yleensä tässä kohtaa ei haluta menettää sitä mahdollisuutta, että uuden teknologiavalinnan siivin voidaan uudistaa myös työtapa. Kun käytetään hetken aikaa työtavan analysointiin, huomataan, mikä osa tekemisestä oikeastaan tuottaa arvoa asiakkaalle. Arvovirtakartta on tähän hyvä väline. Analyysin jälkeen teknologiavalinnalla voidaan linjata, että työssä saadaan oikeasti keskityttyä asiakkaan saamaan arvoon ja pakolliset rutiinit pystytään hoitamaan mahdollisimman tehokkaasti.

 

5 Kartoita tietojärjestelmäympäristö

Harvoin teknologiaa päästään valitsemaan puhtaalle pöydälle. Yleensä ympärillä on elinkaaren eri vaiheissa olevia tietojärjestelmiä joihin uuden teknologian pitää liittyä, ja palapeli rajoittaa valintoja. Näiden mallintamisen tapaa tärkeämpää on, että ne ja niiden integrointitarpeet tunnistetaan ennen teknologian valintaa. Esimerkiksi: millaisia rajapintatarpeita teknologian pitäisi täyttää?

 

6 Huomaa muut rajoitukset

Edellä mainittujen lisäksi on olemassa yleensä vielä muitakin ulottuvuuksia, jotka rajoittavat teknologiavalintaa. Joskus teknologian käyttöönotolla on aikataulu, joka rajoittaa ratkaisuvaihtoehtoja – kehitykseen panostamiseen ei yksinkertaisesti ole aikaa, vaan pitää rakentaa olemassa olevien ratkaisujen päälle. Joskus toimintaan liittyy lainsäädäntöä, joka asettaa teknologialle rajoituksia, esimerkiksi tietojen sijainnin tai muiden tietoturvatekijöiden muodossa.

 

7 Mieti elinkaaritarpeet

Useimmiten tässä pohdinnan tässä kohtaa vaatimusten yhdistelmä ajaa jo kohti melko harvalukuista joukkoa teknologia- ja toteutustapavaihtoehtoja. Yksi pohdinta on kuitenkin vielä jäljellä: teknologian elinkaari. Useimmiten halutaan välttää joutumista tuoreen teknologian ensimmäisten kokeilijoiden joukkoon.

Kun teknologia on ollut jo jonkin aikaa olemassa, tarjolla on ilmaista etua muiden tekemistä virheistä ja kehittämistä perusasioista eli hienosti sanoen ekosysteemin kypsymisestä. Toisaalta jos kysymys on kriittisestä teknologiasta ja haetaan kilpailuetua, joskus kannattaa myös maksaa oppirahat ja olla eturintamassa.

Joka tapauksessa on hankittava markkinaymmärrystä ja joskus myös meediopalveluita hahmottaakseen myös elinkaaren loppupää: Miten pitkälle tulevaisuuteen teknologialle voi olettaa jatkuvuutta vs. käyttötarpeen mitta? Miltä ekosysteemin kehitys näyttää, vaikuttaako siltä että teknologialle on tarvittaessa löydettävissä ylläpitäjiä myös tulevaisuudessa? Olemmeko investoimassa kisojen voittajahevoseen vai näyttäkö uhkaavasti siltä että kyseessä on häviäjätallin kaakki?

 

Työkaluja:

Tarpeen pikadokumentointiin voit käyttää ohjelmiston visiolakanaa, ks. https://www.codento.fi/lataa-lean-visiolakana-ohjelmistoprojektiisi/

Lisää prosessien analysoinnista ks. https://www.codento.fi/2017/08/hyvaa-halvalla-nopeasti/

 

Lataa opas: Uuden verkkopalvelun teknologiavalinnat

PyCon Ireland 2016: parhaat pointit

Kävin viime syksynä Irlannin PyConissa (lue myös aiempi blogaukseni Suomen PyConista) ja nyt viimein esitysvideotkin on laitettu YouTubeen.

Seminaaripäivä alkoi viiden herätyksellä, jota seurasi välilasku tunnin taaksepäin ajassa, ja sitten toinen tunti taaksepäin Irlantiin. Dublinia en valitettavasti päässyt näkemään kovin paljoa, vaikka päivälle kertyi reilu 22 tuntia valveillaoloa. Illalla kävimme konferenssihotellilla katsomassa ympärillemme ja otimme oluet muiden paikallaolevien konferenssivieraiden kanssa.

Lauantaina virkeänä paikalle, erittäin sikeiden unien jälkeen. Tämä konferenssi oli noin kahdesti Suomen konferenssia isompi, myös kestoltaan ja hektisyydeltään – hyvällä tavalla, totta kai. Sponsoriständit suoraan salien edessä käytävällä rajoittivat kulkua ja nostivat äänenvoimakkuutta kenties turhankin paljon, mutta toisaalta ne sai käytyä läpi tauoilla.

Paikallinen työministeri Mary Mitchell-O’Connor avasi tapahtuman. Enpä tiennyt, että Irlannin viennistä 40 % on teknologiaa, tai että neljä viidestä suurimmasta vientiyrityksestä ovat teknologia-alalla! Valitettavasti hän ei tainnut jäädä paikalle seuraamaan tapahtumaa pidemmäksi aikaa, jonkinlainen jutustelu olisi ollut varmasti antoisaa.

Pythonin käyttö yleistyy Mozilla Firefoxissa

Ensimmäisen keynoten piti Tarek Ziadé Mozillalta, otsikko sopivasti Mozilla & Python. Hän kertoi miten Pythonin käyttö on yleistynyt Mozillalla Firefox-selaimen julkaisuketjussa. Vielä vuonna 2009 Mozillalla oli erittäin sekalainen seurakunta ohjelmointikieliä ja -kehyksiä, mutta nyt suurin osa on Pythonia ja Djangoa.

CertBot: olennainen osa tietoturvaa

Hienoa heijastusta Suomen PyConiin tuli Justin Mayerin Essential Python Security -esityksessä, kun hän mainitsi CertBotin (aiemmin Let’s Encrypt Client) olennaisena osana tietoturvallista infrastruktuuria. Esityksessä käytiin lähinnä läpi paljon hyviä käytäntöjä ja ratkaisuja, eli kalvot kannattaa katsoa – ne ovat niin oleellisia, että kaivoin linkinkin tähän artikkeliin!

Pythonilla helppoa käsitellä suuriakin määriä dataa

Heijastusta Suomen konferenssiin tuli myös tietojenkäsittelyteemasta. Irlannissa sitä oli puolen ohjelman verran. Zalandon Ana Peleteiro Ramallo veti perustason esityksen Introduction to Data Science in Python. Oikein hyvä perustason lähtö, jos ei tunne alaa. Tämä, seuraava Ali Kingin Data Pipeline Evolution ja Breandan Considinen Experimenting in Tensorflow – yhdistetynä Suomen konferenssin puheisiin aiheesta – antoi ymmärtää vain yhden asian: Pythonilla on todella helppoa ja tehokasta päästä käsittelemään suuriakin määrää dataa. Sitten täytyy vain oppia matematiikka ja tilastotiede.

Läheltä liippasi Johannes Ahlmannin How to Merge Noisy Datasets. Joskus, tai pikemminkin yleensä, kerätty tieto on eri tavoin sotkuista. On erilaisia merkistöjä, eri kulttuureissa ihmiset nimetään eri tavoin ja osoitteet ovat eri maissa erilaisia. Puhuja esitteli miten näihin saadaan tolkkua erilaisten Python-kirjastojen avulla. Siellä oli monta kirjastoa, joista olisi ollut hyötyä, jos niitä olisi ollut aikoinaan olemassa.

Python-tulkki

Pythonin sisäisestä toiminnasta on aina kiva kuulla myös. Stephane Wirtel puhui otsikolla CPython Bytecode and VM siitä, miten Python-tulkki (virallisen toteutuksen nimihän on CPython) kääntää ihmisluettavan ohjelmakoodin väliaikaiseen muotoon, jota tulkki itse asiassa tulkitsee. Hän kävi läpi tiedon rakenteen ja miten ihminen voi sitäkin lukea.

Säielukon poistaminen Pythonista

Toinen keynote liippaa läheltä. Se tuli Larry Hastingsilta, joka on Pythonin ydinkehittäjiä. Hänen esityksensä nimi oli GILectomy. (Kyseinen video ei ole juuri tästä seminaarista, mutta puheen sisältö on suunnilleen sama.) Kyseessä on nk. GILin, prosessinlaajuisen säielukon (Global Inerpreter Lock) poistaminen Pythonista. GIL on suorituskykyinen ja elegantti tapa taata säikeelle vapaat kädet koodin suorittamiseen, mutta vastapainona monisäikeiset ohjelmat hidastuvat moniytimisillä koneilla. Pythonin kehittäjä Guido van Rossum toi sen kieleen vuonna 1992, jolloin tietokoneissa ei ollut kuin yksi ydin, ennen kuin Linuxissa oli tukea säikeille.

Ongelma on alkanut muodostua nykyään, kun moniytimiset suorittimet alkavat yleistyä jopa älykelloissa. Tällä hetkellä Hastingsilla on ideoita miten ratkoa tämä tilanne, mutta hän etsii vielä parhaita kompromisseja. Suorituskyky ei ole vielä riittävän hyvä yksisäikeisille ohjelmille ja C-ohjelmointikielellä kirjoitetut moduulit saattavat hajota. Moduulien hajoamisen voisi välttää esimerkiksi toimittamalla kaksi versiota kielestä, mutta päätöksiä ei vielä ole. Odotamme siis innolla mitä tästä tulee!

Oma esitykseni: Plug in with Python

Pääsin itsekin lavalle. Uusin aiemmassa Suomen PyConissa olleen Plug in with Python -esitykseni. Tällä kertaa olin laajentanut kalvosettiä, ettei aika pääsisi loppumaan kesken. Ikävä kyllä videotykin kanssa oli ongelmia, kuten kaikilla muillakin, joten esityksessä tuli hieman kiire. Jouduin karsimaan jonkin verran mielenkiintoista materiaalia pois, mutta toisaalta esitys saattoi pysyä tämän ansiosta paremmin kasassa. Voit itse katsoa tähän upotetusta videosta mitä mieltä olet.

***
Kuva: Flickr Creative Commons, Cazz.

PyCon Finland 2016

Viikon sisään kaksi konferenssia! Sokerina pohjalla molempien aiheena oli Python-ohjelmointikieli. Ensimmäinen oli PyCon Finland ja toinen PyCon Ireland.  Julkaisen PyCon Irelandista kertovan blogauksen myöhemmin.

Suomen konferenssi kesti yhden maanantaipäivän, mutta oli sitäkin paremmin täynnä ohjelmaa. Päivän alussa järjestettiin salamapuheet, nuo korkeintaan viisi minuuttia kestävät esitykset, joiden aihe on vapaa. Yleensä nämä pidetään tapahtuman päätteeksi, mutta tapahtuman lopussa kannettavien ja projektorien kanssa säätämisen välttämiseksi nämä oli siirretty alkuun. Tämä tosin rajoitti kenties osallistumista, koska usein ideoita voi tulla konferenssin aikana aiheista, joista puhua. Ehkä ajatuksena oli, että ei päätetä konferenssia turhautumiseen ja ainakin salamapuheet olivat hyviä. Varsinaisista esityksistä minulle mieleenpainuvimmat olivat tietojenkäsittelyyn ja tekoälyyn liittyviä.

Käsialatunnistustietokanta

Aleksei Tiulpinin esitys Machine Learning with Python havainnollisti MNISTin käsialantunnistustietokannan käyttöä www-palveluna. Hän kävi läpi teoriaa ja esitteli sitten tekemäänsä ohjelmistoa, jossa selaimeen pystyi piirtämään numeron ja palvelun takana pyörivä tekoäly kertoi minkä numeron luulee olevan kyseessä milläkin todennäköisyydellä.

Tekoälyä työpaikkailmoituksiin

Myös Clemens Westrupin Representation Learning and Deep Sequential Modeling for Predicting Topics of Sentences in Job Advertisements oli mainio. Puhuja kävi läpi miten Oikotien englanninkielisiä työpaikkailmoituksia voi luokitella tekoälyn avulla, kunhan ensin saa kerättyä dataa siitä, mitä sisältö yleensä on.

Yksikkötestit data-analyysin maailmassa

Viimeisenä tästä kategoriasta täytyy mainita Unit Testing in the Scientific Python Stack, jonka piti Antti Kaihola. Tässä puhuja näytti, miten data-analyysin maailmassa voidaan suorittaa yksikkötestejä – eri menetelmiä ja havaintoja sekä bugin kirjastossa.

Valtavirran unohtama ZODB

Lisäksi nostaisin Asko Soukan ZODB-esityksen korkealle. ZODB on valtavirran kenties unohtama – tai tiedostamaton – Python-objektitietokanta. Tähän tietokantaan voi tallentaa suoraan Python-ohjelman ajonaikaisia rakenteita. Yleensä ajonaikaiset rakenteet käännetään JSON-muotoon tallennettavaksi, joten oli mielenkiintoista kuulla miten muutoin tämän voi tehdä. Lisäksi ZODB:ssä on suurin osa vakiintuneiden tietokantojen ominaisuuksista.

Älä unohda tietoturvaa

Päällekkäisyyksien takia ainakin Joona Hoikkalan CertBot-aiheinen esitys Closing the gap with TLS adoption täytyy ehdottomasti katsoa Youtubesta. Tietoturva on tärkeä asia, joka laiminlyödään liian usein.

***
Kuva: Flickr Creative Commons, Chris Parker.

PyCon Finland 2015

Yksi Pyconin mielenkiintoisimpia oppeja oli se, miten Pythonin avulla voi taistella haittaohjelmia vastaan.

PyCon Finland 2015 on Python-kielestä kiinnostuneille suunnattu konferenssi, jonka järjestää Python Suomi ry. Tässä blogauksessa esittelen mielenkiintoisimmat huomiot ja oivallukset niin puheista kuin tapahtuman toimivuudestakin.

Kuin rasvattu käärme

Pycon lähti osaltani käyntiin hieman kankeasti, kun bussini jumiutui ruuhkaan ja missasin vaihtoratikan. Puhujana minun olisi syytä olla ajoissa. Pamahdinkin paikalle kirjaimellisesti viime hetkellä.

Nimikylttiä ei näkynyt rekisteröinnissä! Sainkin sen suoraan järjestäjältä, minkä jälkeen konferenssi sujui kuin rasvattu salami, tai käärme. Taukoja oli sopivasti ja tekniikkakin toimi paremmin kuin yleensä tällaisissa tapahtumissa. Hektisen aamun jälkeen oli mukavaa viettää päivä kitkattomasti soljuvassa tapahtumassa.

Nähtävissä netissä

Mainitsemisen arvoista on etenkin se, että PyCon kuvattiin ensimmäistä kertaa ammattilaisten voimin, ja kaikki talkit tulevat myöhemmin nähtäväksi YouTubeen. Konferenssissa oli kaksi erillistä trackiä, joten kaikkia puheita ei ehtinyt näkemään livenä, vaikka olisi miten halunnut. Onneksi ne voi nyt tsekata jälkikäteen netistä. Kaikki näkemäni puheet olivat hyviä, mutta tässä kohokohdat.

Kafka – jonojärjestely täydellisellä logituksella

Keynotesta on tietysti pakko sanoa pari sanaa. Spotifyn Jyrki Pulliainen esitteli puheessaan Solid data structures in Python with logs Kafkaa, joka on LinkedInin kehittämä viestijonojärjestelmä täydellisellä logituksella, jota pystyy myös hajauttamaan. Homman juju on siinä, että viestijonon voi palauttaa aiempaan tilaan ja kelata eteenpäin haluamaansa pisteeseen. Ehkä mielenkiintoisin käyttökohde tälle olisi tietokantamuutos, jossa luodaan uusi tietokanta päivitetyllä schemalla ja ajetaan vanhan tietokannan transaktiot Kafkasta sisään. Se ei tosin sovellu hyvin töihin, joissa täytyy yrittää uudelleen epäonnistunutta tehtävää, koska jokainen tehtävä on uusi transaktio.

Hakukone, johon asianajajat rakastuvat

Priidu Kull on entinen asianajaja, nykyinen koodari. Hän kertoi puheessaan Building a Product for Legal Professional projektistaan, jossa hän pyrkii luomaan hakukoneen lakidokumenteille. Hakukoneen päämääränä on olla sellainen, että juristit käyttävät sitä mielellään. Hakukone rakentuu asianajajien workflow’n ympärille. Tästä talkista teki erityisen mielenkiintoisen se, että puheen lopuksi Kull keskusteli yleisönsä kanssa projektinsa sisällöstä ja kysyi heidän näkemystään sen ongelmakohdista. Keskustelua syntyi etenkin siitä, miten haut olisi parasta toteuttaa – tekstien hakeminen kun ei ole ihan helppoa. On hienoa nähdä koodaaja avoimena ja vielä hienompaa, kun hän on harvinaisesti sekä asianajaja että koodaaja. Tämän lisäksi opin, että virolainen oikeusjärjestelmä ei ole aivan samanlainen kuin suomalainen.

Python vs. haittaohjelma

F-Securen Matteo Cafasso kertoi ja näytti livenä talkissaan Hunting malware with Python kuinka haittaohjelmia ajetaan. Puheen aikana pääsi näkemään myös F-Securen vakavaa suhtautumista tietoturvaan. Cafasso kertoi, että läppäriä, jolla ajetaan malwarea millään tavalla, kutsutaan punaiseksi läppäriksi. Tämä tarkoittaa, että jos koneelle on mitenkään saatettu malwarea, edes virtuaalisesti sillä ajettavaan ympäristöön, ei konetta saa kytkeä mihinkään paitsi videotykkiin – eikä etenkään laittaa siihen muistitikkua. Hän näytti kolme erilaista haittaohjelmaa ja kertoi niiden toiminnasta.

Ohjelmistovirheitä voi ennustaa

Tommi Penttisen puheessa Bug forecasting by visualizing code evolution  käsiteltiin sitä, miten ohjelmistovirheitä voi ennustaa visuaalisin menetelmin. Hän viittasi paljon Adam Thornhillin kirjaan Your Code as a Crime Scene sekä käytti samaisen Code Maat -ohjelmistoa versiohallinnan kuvaamiseen. Sillä voi nähdä paitsi koodimoduulien omistajuutta, myös paljonko muutoksia koodi on vaatinut. Tästä voidaan päätellä riskikkäitä alueita ja mahdollisia puutteita testauksessa. Jos tällaiset haasteet havaitaan ajoissa, voi niihin myös puuttua ennen kuin nk. tekninen velka kasaantuu holtittoman suureksi ja korjaaminen tulee kalliimmaksi kuin heti hyvin tekeminen.

Lightning talkit

Lightning talkeja oli vain muutama. Niiden lisäksi PyConin sponsorit pitivät omat puheenvuoronsa. Suurin osa niistä oli odotesti rekry-puheita, paitsi Local Bitcoinsin, joka keskittyi Bitcoin-maailman tapahtumiin ja Bitcoinia muistuttaviin muihin blockchain –teknologioihin. Oli virkistävää, että kerrankin sponsori ei ollut vain rekrytoimassa, vaan esitteli uusia näkemyksiä.

Pluginit Pythonissa

Oma talkkini oli nimeltään Plug in with Python. Kerroin sen aikana, mitä pluginit ovat ja miten niitä voi koodata sovelluksiin. Itseäni kiehtoo ohjelmien eräänlainen väärinkäyttö, eli toiminnallisuuden muokkaaminen. Kävin läpi hieman erilaisten ohjelmistojen plugin-arkkitehtuureja ja omaa aiempaa koodia. Valmisteluksi olin tehnyt yksinkertaisen tekstinmuokkaajan PyQt5-käyttöliittymäkirjastolla. Lopuksi tein myös hieman livekoodausta, joissa näytin yleisölle, miten hommat hoituvat käytännössä.

Mitäs Dockerille kuuluu?

PyConin lopuksi oli perinteinen illallinen, jossa päästiin jatkamaan tauoilla lupaavasti alkanutta verkostoitumista. Yksi konferenssien parhaita puolia on se, kun pääsee näkemään tuttuja, joita ei niiden ulkopuolella juuri kohtaa. Lisäksi tietenkin pääsee tapaamaan aivan uusia ihmisiä. Jatkoilla juttelimme paljon Dockerista ja siitä, kärsiikö se samoista ongelmista kuin vuosi sitten. Vuosi sitten oli paljon keskustelua esimerkiksi virheviestien logituksen vaikeudesta ja parhaiden käytäntöjen puuttumisesta. Parhaat käytännöt ovat ilmeisesti kehittyneet hyvin viime vuoden aikana, ja logitukseen on jonkinlaista ratkaisua. Pienten terävien kulmien takia minusta ei tullut suoraan Docker-fania; se ratkoo kyllä ongelmia, mutta ongelmiin on muitakin päteviä ratkaisuja. Siitä huolimatta heräsi halu päästä perehtymään siihen tarkemmin. Päivä päättyi rennosti oluttuopilla One Pintissa.

 //Kuva: Tambako the Jaguar, Flickr

Töihin Codentoon?

Olemme Codentossa aina valmiita innokkaasti vastaanottamaan ongelmanratkaisuun intohimoisesti suhtautuvia tyyppejä osaksi porukkaa. Tällä hetkellä meillä on erityisesti etsinnässä seuraavaa:

Kokenut kehittäjä

Haluatko tuoda näkemyksesi ja kokemuksesi projekteihin, joiden tarkoitus on sujuvoittaa ja helpottaa yritysten ja julkishallinnon arkea? Hyvä, sillä se on jokaisen projektimme päämäärä ja yksi niistä asioista, joista me Codentolla motivoidumme.

Etsimme nyt joukkoomme vahvistusta senior-tason front-end ja/tai back-end -kehittäjistä.

Muutos on mahdollisuus

Projektiemme lähtökohta on usein se, että asiakkaamme on paininut jonkin ongelman kanssa kuukausia, joskus jopa vuosia. Me emme pelkää haasteita, ja olemme onnistuneet ratkomaan sellaisiakin pulmia, joihin asiakkaamme ovat uskaltaneet toivoa ratkaisua vain unissaan. Projektiemme kesto vaihtelee parista kuukaudesta pariin vuoteen, ja teemme kaiken ketterästi. Asiakkaamme eivät osta meiltä ainoastaan ohjelmistoja vaan myös kokonaisvaltaista muutosta toimintaansa.

Tällaisia me olemme

Meillä on näkemystä ja mielipiteitä monesta asiasta, ja suhtaudumme analyyttisesti ympäröivään maailmaamme. Meitä yhdistää vahvan ammattiosaamisen lisäksi liberaali maailmankatsomus ja ironinen insinöörihuumori. Teemme töitä joustavasti, mikä mahdollistaa meille hyvän tasapainon työ- ja perhe-elämän välillä. Tiistaisin kokoonnumme toimistolle Kaisaniemeen ja niinä päivinä, kun emme näe toisiamme, kommunikoimme Slackilla. Tykkäämme haastaa toisiamme; toisinaan kisaamme siitä, kuka saa algoritmeilla systeemistä nopeimman, toisinaan käynnissä on leuanveto- tai lankutuskisa.

Sinä

Sinun roolisi on toimia konsulttina asiakkaidemme tiloissa toimivaa koodia luoden. Takanasi on kehittäjäelämää jo sen verran, että tiedät, milloin on paras keskustella eteen tulevista haasteista asiakkaan kanssa, ja milloin on viisainta tehdä itsenäisiä, asiantuntijuuteesi perustuvia päätöksiä.

Olet etsimämme henkilö jos:

  • Seisot sanojesi takana ja teet työsi määrätietoisesti, muttet haise itsekehulle
  • Sinulta sujuu sekä front-end että back-end-kehitys, tai olet jommassakummassa ”the man”
  • Puhut natiivisti vähintään kahta ohjelmointikieltä, jonka lisäksi hallitset mielellään myös JavaScriptin
  • Sytyt enemmän muutoksesta kuin totuttujen toimintatapojen säilyttämisestä

Hakuohjeet ja lisätiedot

Haluamme, että vuoden kuluttua meillä aloittamisesta olet jonkun laajalti käytetyn teknologian osalta yksi Suomen parhaista. Mahdollistamme ammatillisen kehittymisesi uteliaisuutta tukevalla tekemisen hengellä ja sillä, että meillä palkkaasi ei määritä henkilökohtainen laskutusasteesi. Tuemme kollegiaalisuutta, keskinäistä tiedonjakoa ja työssä oppimista, eikä sinua sakoteta työkaverin auttamisesta.

Emme voi vielä varmaksi tietää, mihin projektiin saat kätesi upottaa, mutta voimme taata, että mielenkiintoista tekemistä meillä riittää. Lähetä meille 16.11.2014 mennessä vapaamuotoinen hakemus ja CV:si osoitteeseen rekry(at)codento.com. Lisätietoja meistä ja tehtävästä antaa Kaitsu, p. 040 774 3754, kaj.mustikkamaki(at)codento.com.

#JavaScript #Java #Python #Scala #Scrum #Ketterä