fi en

Millaista on devaajan työskentely Huutokaupat.com:illa?

28 syys 2020 by Maria Kotaniemi

Järjestämme Talentedin devaaja-yhteisön Slackissä aika ajoin Q&A -sessioita, joissa yhteisömme jäsenet saavat kysyä kysymyksiä kulloinkin vuorossa olevan ohjelmistoalan työnantajan omilta kehittäjiltä. 

Syyskuussa vuorossa oli Mezzoforte, tutummin Huutokaupat.com. Kysymyksiin oli vastaamassa Huutokaupat.com:in Teknologia- ja kehitysjohtaja Ilari Mäkelä. Ilari vetää Huutokaupat.com:in tekkitiimiä ja vastaa myös muun muassa uusien tekijöiden rekrytoinnista. Ilari on taustaltaan devaaja ja DevOps-tyyppi, mutta tällä hetkellä aika menee isomman kuvan perään katsomiseen ja muiden koutsaamiseen.

Huutokaupat.com:sta yleisesti

“Mistä idea Huutokaupat.comille lähti ja minkälainen tarina siinä on taustalla?”

Huutokaupat.com on lähtenyt aikoinaan vuonna 2005 liikkeelle erään lappeenrantalaisen yrittäjän haluna saada julkisen sektorin huutokaupat isomman yleisön saataville. Silloin kaikki julkisen sektorin huutokaupat ilmoitettiin ilmoitustauluilla tai korkeintaan paikallisessa lehdessä. Ensimmäinen versio Huutokaupat.com:sta olikin siis virtuaalinen ilmoitustaulu. Ensimmäinen varsinainen nettihuutokauppa järjestettiin siten, että huutokauppaan pystyi osallistumaan sähköpostin välityksellä. Sitten itse huutokauppa tilaisuudessa yksi henkilö oli läppärin kanssa huutamassa sähköpostin välityksellä tulleita tarjouksia. Nykyinen vähän isompi silmässä oleva vaihde on alkanut vuonna 2013, kun nykyiset omistajat ostivat tämän liiketoiminnan ja alkoivat kehittämään palvelua vauhdilla eteenpäin, seitsemässä vuodessa on tultu tähän pisteeseen.

“Missä toimistonne sijaitsee?”

Meillä on juuri valmistunut uusi toimisto Ruoholahdessa, Helsingissä. Tilat alkoivat käymään liian ahtaiksi vanhalla toimistolla, joten hankimme noin kolme kertaa isomman toimiston kasvua varten. Etätyöhommat onnistuvat myös vallan mainiosti ja palkkasimme juuri elokuussa ensimmäisen remote-first tyypin. 

“Paljonko teillä on numeroissa trafiikkia esim. viikkotasolla?”

Kuukaudessa meillä on yli viisi miljoonaa käyntiä, joista tällä hetkellä reilu 1,1 miljoonaa uniikkia kävijää. Requestien määrässä meillä on isoimmat piikit olleet noin 50-60 tuhatta rpm Relicistä katsottuna.

Muita mielenkiintoisia lukemia on, että kauttamme kulkee reilut 300 miljoonaa euroa vuodessa, autoja myydään palvelussamme 800-900 viikossa ja tästä syystä meidät luetaankin keskisuureksi autokaupaksi. Lisäksi olemme kasvaneet täysin orgaanisella tulorahoituksella ja liiketoiminta on erittäin hyvällä pohjalla, siksi meillä on myös mahdollisuus etsiä ja kehittää uusia palveluita laajentamaan liiketoimintamme tukijalkaa. Tällä hetkellä on yksi uusi palvelu kehitteillä ja se saadaan varmaankin vielä tämän vuoden puolella julkaistua. Tämän lisäksi etsimme koko ajan aktiivisesti uusia mahdollisuuksia. 

Työskentelystä

“Sivullanne oli devaajan maininta siitä, ettei tiennyt DevOpsista mitään, ennen kun tuli teille töihin – onko sen puolen ymmärrys miten vitaalia, kun mietitte uusien henkilöiden palkkaamista? Ja onko sillä puolella paljon tekemistä?”

Ei ole mikään vaatimus, että pitäisi olla haka sillä puolen. Toki se helpottaa tekemistä, jos sen puolen asioita on hallussa, mutta tekemisen ohessa sitten niitäkin pääsee/joutuu opettelemaan. DevOps puolella on aika paljon tekemistä, esimerkiksi meneillään olevat isot AWS-jumpat. Pyrimme myös automatisoimaan mahdollisimman paljon asioita niiden osalta, missä siitä on selkeä hyöty. Näitä on muun muassa testaus, CI/CD pipelinet ja työkalut, joilla varmistetaan työn laatua. Työmäärällisesti näissä riittää kyllä tekemistä pitkäksi aikaa. 

“Millainen kokoonpano teillä on kehityspuolella?

Devitiimissä meillä on tällä hetkellä seitsemän full-stack devaajaa, yksi uusi aloittaa ensi kuussa sekä yksi frontti tyyppi toimii leadinä sillä puolen. DevOps/cloud puolella kaksi tyyppiä, kaksi designeriä, yksi testaaja ja minä. Tämän lisäksi meillä on kolme PO:ta, jotka vastaavat eri osa-alueista palvelussamme.

“KV-hommista: Onnistuuko työskentely teillä englanniksi? Jos ei, niin miksi? Onko suunnitelmia puskea tuotetta maailmanmarkkinoille?”

Tällä hetkellä meillä ei ole yhtään henkilöä töissä, joka ei osaisi suomea. Syynä tähän on se, että koko työntekomme putki on ollut vain ja ainoastaan suomeksi, pois lukien tietenkin koodi ja sen dokumentaatio. Tähän ollaan tekemässä muutosta, jota korona valitettavasti hidasti. Avoin cloud engineerin positio on luultavimmin ihan ensimmäinen positio mihin katsellaan myös englanninkielisiä tekijöitä. Tämä on siis ihan tiedostettu haaste, jota ollaan muuttamassa. Tuotteen maailmanvalloituksesta on jotain suunnitelmia, mutta niistä en valitettavasti voi tällä hetkellä kertoa enempää. Kysyntää on kyllä myös ulkomailta. 

“Miten olet itse päätynyt Mezzofortelle hommiin, mikä siinä hommassa ja firmassa vetosi sinuun ja mikä on ollut parasta?”

Päädyin Mezzofortelle itseasiassa juurikin Talentedin kautta. Keskustelujen jälkeen mulle jäi sellainen fiilis, että siellä on sopivasti uutta ja vanhaa. Lisäksi porukka tuntui tosi mukavalta. Keskustelin siis rekryävien tyyppien lisäksi myös useamman työntekijän kanssa ja kuulustelin, että onko mulle myyty vai “myyty” :D. Parasta on ollut se, että asioita pyritään ja usein pystytäänkin tekemään fiksusti ja hyvin. Erilaisia asioita pystytään kehittämään eikä ole vain paineita, että nyt pitää puskea niska limassa uutta ominaisuutta ulos. Tämä oli itselle vähän piilossa oleva löytö työpaikkarintamalla ja yksi tehtävistäni onkin ollut saada meitä tunnetummaksi erityisesti devaajien keskuudessa. 

Koska tätä ei kukaan kysynyt, niin kerron tämän erityisesti sen takia. Meillä on virallinen lippiksenheiton maailmanliiga ja lisäksi joka perjantai järjestämme viikottaisen El Clasicon toimistollamme. Tämä laji otetaan meillä vakavasti ja tosissaan. Lisäksi tämä on ehdoton herrashenkilölaji, eli avoin sukupuolesta riippumatta!

Teknologioista

“Käytättekö TypeScriptiä esim frontissa ja/tai bäkkärissä? Ja mikä stack niissä on?”

Pari pienempää kokonaisuutta on toteutettu microservicenä TypeScriptillä. Monoliittiosuudessa on käytetty PHP:ta ja Reactia. 

“Onko tarkoitus mennä TypeScriptiä kohti pois JavaScriptistä? Paljonko keskimäärin prosenteissa JavaScript vs TypeScript teillä on nyt käytössä?”

Meillä ei ole mitään tietoista valintaa tehty tämän osalta. Teemme hommia sillä periaatteella, että käytämme sellaisia kieliä/tekniikoita, mitkä ovat parhaita kulloiseenkin kyseessä olevaan hommaan. Tietenkin niin, että siinä pitää olla myös liiketoiminnallisesti järkeä. Frontin sekä bäkkärin puolella pyritään käyttämään tyypittämistä “kaikkialla”, koska siinä on ison skaalan tekemisessä selkeät edut. 

“Onko Huutokaupat.comista tulossa mobiiliappia?” 

Ainakaan tällä hetkellä ei ole suunnitelmissa toteuttaa mobiiliappia, mutta aika ajoin keskustellaan tuosta aiheesta ja tsekataan, olisiko hyvä aika toteuttaa sellainen. Tällä hetkellä panostetaan siihen, että meillä on responsiivinen toteutus nettisivusta ja että se toimii mahdollisimman jouhevasti. 

“Oletteko suuntaamassa kohti Kubernetesta?”

Ehkä, ei olla sen suhteen tehty vielä mitään lopullista päätöstä. Tällä hetkellä käytämme AWS:n ECS:ää ja se palvelee meitä ihan hyvin. Sen lisäksi meillä on menossa isompi jumppa AWS:n puolella IaaC:n ja muiden asioiden suhteen, joten halutaan saattaa ne loppuun ennen kuin ruvetaan miettimään mitä seuraavaksi. 

“Onko developereilla pääsy tuotantoympäristöön? Jos on, niin miten pääsyoikeuksia hallitaan?”

Developereilla on pääsy tuotantoon ja tällä hetkellä vähän liiankin laajalti. Tämä on yksi asia mitä ollaan korjaamassa tuossa isossa AWS-jumpassa. Tarkoitus on antaa pääsy vain sinne, mihin oikeasti tarvitaan ja muuten hoitaa asiat automaation, pipelinejen ja hyvien työkalujen kautta.

“Jonkin mystisen ongelman ilmetessä, miten applikaatiota debugataan tuotantoympäristössä? Voiko developer mennä suoraan tutkimaan? Ja jos pääsyä myöhemmin rajoitetaan, niin miten se onnistuu?”

Meillä tähän käytetään ainakin seuraavia keinoja/työkaluja: New Relic, Logit ja asioiden suoraan tutkiminen kontista. Tulevaisuudessa kun suoraa pääsyä tullaan rajoittamaan, meidän täytyy tietenkin toteuttaa tarvittavat työkalut näiden asioiden tekemiseen toisella, turvallisemmalla tavalla. 

“PHP ohjelmointikielenä vuonna 2020, plussat ja miinukset?”

Plussat:

  • Edelleen aktiivisesti kehittyvä ohjelmointikieli
  • Useampia hyviä frameworkkeja, kuten Laravel ja Symfony
  • PHP:ssa tullaan korjaamaan paljon sellaisia haasteita, jotka on harmittaneet (uudistuksesta voit lukea täältä)
  • Oikeasti paljon mainettaan parempi kieli
  • Edelleen paljon softaa pyörii PHP:lla, joten työpaikkoja on kanssa osaajille hyvin tarjolla

Miinukset:

  • Uutta versiota odotellessa
  • Omasta näkökulmasta rekrytoinnin hankaluus
  • Suhteellisen helppo tehdä asioita “huonosti” jos ei noudata koodikonventioita. Ja tämä on varmaan yksi syy, miksi ihmiset pitää PHP:ta huonona.

Samaan kysymykseen vastaukset vielä meidän devaajilta:

Devaaja 1

”Skriptikieli plussaa (voi toki mieltää plussana tai miinuksena) koska suhteellisen helppoa ja nopeaa debuggailla ongelmia, tyypitys on parantunut huomattavasti siitä mitä se on joskus ollut PHP 5:n aikaan. Antaa toki mahdollisuuden tyypittää tai olla tyypittämättä. Kun itse aloitin tekemään hommia niin odotin, että asiat olisivat paljon huonommin. Symfony on tuntunut pätevältä frameworkilta, eikä mitään valittamista sen suhteen. Itselle ehkä PHP syntaksi on ainut hieman ärsyttävä asia. Symfonyn kanssa tämä on kyllä ihan jees, jos vertaa vaikka JS, niin on kyllä paljon helpompi hahmottaa mitä tapahtuu, jos lähtee nollasta opettelemaan.”

Devaaja 2

”Tuo syntaksi on semmoinen mikä aluksi vähän ärsyttää, kun vaihtaa kielestä toiseen, mutta sitten siihen kyllä tottuu. Voisin sanoa, että webbidevaukseen ihan ok kieli ja noiden symfonyn ja muiden freimisten kanssa painii kyllä samassa sarjassa. Jos joku miinus pitää heittää niin ei ilmeisesti hirveän performantti kieli, mutta tämä on tuskin tullut koskaan ongelmana vastaan. Plussana se, että se on helppo kieli.” 

“Voiko sivustoa skaalata laittamalla useita kopioita palvelusta yhtä aikaa päälle? Miten palvelulle saadaan lisää kapasiteettia linjoille, jos esimerkiksi kampanjan seurauksena tulee paljon liikennettä ja sivusto hidastuu merkittävästi?”

Voi skaalata ja meillä onkin käytössä automaattinen skaalaus kuorman mukaan. Se skaalaa instanssien määrää tiettyjen raja-arvojen sisällä ylös-alas. Meillä on viikossa pari selkeästi aktiivisempaa päivää, jolloin liikennettä on selkeästi enemmän kuin muulloin, pikahuutoperjantai ja sunnuntai. 

“Viikonloppuisin kun on eniten trafiikkia, millainen systeemi teillä on jos systeemit kaatuu? Päivystääkö joku?”

Tällä hetkellä meillä on tietty ryhmä, joille menee hälytys, jos jotain fataalia tapahtuu. Tässä mielessä meillä on kuitenkin hyvä tilanne, koska meillä on käytössä monen vuoden ajan taistelutestattu legacy, joka toimii erittäin varmasti! Tästä syystä oikeita häiriötilanteita tulee todella harvoin.

“Testataanko kuormittumisen raja-arvoja etukäteen ja onko rajat tiedossa?”

Tämäkin on yksi meneillään olevan AWS-jumpan myötä tulevia parannuksia. Tällä hetkellä saamme joitain raja-arvoja esille, mutta ei sellaisella tasolla, että voisin laittaa pääni pantiksi niiden osalta. Meillä on yksi tyyppi, joka keskittyy pelkästään testaukseen ja hänen yhtenä prioriteettinaan on juuri kuormitustestauksen parantaminen. AWS:n puolelta ollaan tekemässä sellaisia muutoksia, että saadaan skaalattua staging-ympäristö nopeasti tuotantoa vastaavaksi, kun halutaan ajaa näistä testejä.

 

Lue myös:
Millaista on devaajan työskentely Starshipilla?
Millaista on devaajan työskentely Goforella?
Millaista on devaajan työskentely SOK:lla?

 


Talented pyrkii ravistelemaan yleistä tapaa rekrytoida ohjelmistoalan ammattilaisia Suomessa ja maailmalla. Autamme senior-tason IT- ja digiosaajia löytämään paremmin istuvia työpaikkoja ja projekteja. Lisäksi autamme yrityksiä digitaalisen kompetenssin kehittämisessä ja devaajamarkkinassa erottautumisessa.

Pysy ajantasalla Suomen ohjelmistoalan kuulumisista ja kuumimmista työmahdollisuuksista – Liity Talented-yhteisön Slackiin!

Pysy kärryillä, tilaa Talented Insights!

Talented Insights on kuukausittainen katsaus Pohjoismaiden IT-konsultointi­bisneksen markkina­tilanteeseen. Tilaa uutiskirje niin tiedät, miten alan yrityksillä menee.

Jättämällä sähköpostiosoitteesi hyväksyt vastaanottavasi kuukausittaisen uutiskirjeemme tietosuojaselosteemme mukaisesti.