Töökuulutus

Taxify võtab kohe praegu Eestis tööle 100 arendajat: korralik palk, suured väljakutsed ja 750 eurone koolituseelarve

Taxify arendusmeeskonna juht Rain Johanson tahab oma tiimi kahekordistada, mistõttu otsitakse Taxify’sse juurde ligi sadat arendajat, kes hakkaksid tegelema nii masinõppe kui ka Taxify äpi endaga.

Otsite enda meeskonda 100 arendajat. Mis tiimid teil enim töötajaid vajavad?

Täna on meie arendustiim natuke üle 100-liikmeline, seega tahame tiimi kahekordistada. Nii suure laienemise põhjuseks on fakt, et kõik meie süsteemid on väga palju suurenenud. Suur osa uute töötajate tööst läheb lihtsalt kasvuga kaasas käimiseks. Lisaks peavad kõik meie süsteemid täpsemaks minema ning selle saavutamiseks kasvab ka kõigi lahenduste keerukus.

Ehk saad tuua paar näidet, mis keerulisemaks läheb?

Üheks lihtsamini arusaadavaks näiteks on auto saabumisaja arvestuse teenus. Täna koosneb see kümnetest alamsüsteemidest, sellega on seotud väga keerulised masinõppe algoritmid, mis tuvastavad ja ennustavad linnaliiklust, mille põhjal me saame võimalikult täpse saabumisaja öelda. Täna teeme seda juba nii kaartide põhjal kui ka oma masinõppe algoritmide ning reaalajas liiklust analüüsivate süsteemide abil.

Näiteks kasutavad Taxify juhid üle maailma nii autosid kui ka mootorrattaid. Juba siin tuleb mängu suur erinevus. Me peame arvestama erinevate sõiduvahenditega ja neid ka erinevalt analüüsima. Sellega on väga lähedalt seotud ka kaardisüsteemid. Täna ehitame ja parandame oma kaarte ise. Kui rääkida näiteks Aafrikast, kus on suur osa meie turust, siis seal sõidab palju mootorrattaid. Nad leiutavad selliseid teid mida kaardil ei ole, mis tähendab, et me peame oma kaardile selle tee ise tekitama. Samuti kasvavad ja muutuvad suured linnad väga kiiresti ning meie kaardid peavad sellega kohanema.

Seega on inimesed, kel masinõppe ja algoritmide loomise huvi ning taust, teile oodatud?

Kindlasti. Masinõppe professionaale otsime me väga taga. Umbes 10-15% arendusmeeskonnast on masinõppe ja andmeteaduse osaga seotud. Nemad tegelevadki andmetest mustrite leidmise ja nende põhjal mudelite treenimisega, et me saaksime kõiki oma teenuseid palju täpsemalt luua ning arendada. Meil on ju pilt kogu linnast, sellest, kui palju on seal inimesi ja tellimusi, kus need tellimused asuvad ning samal ajal on arusaam ka autodest, kus nemad asuvad.

Samas on ka kõik ajaloolised andmed aastate lõikes olemas. Seega näeme me väga paljusid trende. Näiteks hommikuti ja õhtuti on suurem nõudlus, jälgime seda, mis toimub näiteks reede õhtuti või öösiti teatud kellaaegadel. Eriti huvitavad on aastavahetused, kus süsteemi koormus on nii suur, et sellega testime praktiliselt kogu järgnevaks aastaks vajaliku süsteemi võimekuse koormust taluda.

Lisaks on iga linn ju erinev ning andmete hulk väga suur.

Kõik need andmed peab läbi töötama ja leidma võimalikult täpsed mustrid: milline on linna dünaamika ja mis seal juhtumas on. Peame suutma seda kõike ette ennustada ja selle põhjal tegema etteulatuvaid otsuseid. Näiteks ilmateate andmed on üheks sisendiks, vihma- või lumesadu mõjutab kohe nõudlust. Kokkuvõttes tahaksime ju et kõik inimesed saaksid võimalikult kiiresti auto ja et sel ajal oleks piisav hulk juhte saadaval.

Kas arendustiimi sees on veel valdkondi, mille vahel valida saab?

Kui rääkida inseneridest, siis on meil näiteks backend-teenuste rollid ehk teenuste arendamine ja kirjutamine, mis otseselt inimestele nähtav ei ole. Sinna alla kuulub palju erinevaid asju, üks neist on see sama, eelnevalt mainitud kaartide loomine. On ka full-stack arendajad, kes lisaks backendile loovad ka nähtavat ehk frontend osa. Nemad loovad portaale, mida erinevad osapooled kasutavad.

Näiteks on meil juhtide portaal partners.taxify.eu. Kui keegi tahab hakata tegutsema juhina, siis saab ta end juhiks registreerida, leiab endale ka koolitused, osades kohtades on ka automaatsed koolitused olemas. Samuti saab oma dokumendid otse portaali üles laadida.

Sama on ka meil äritoode. Kui sul on firma, kus on vaja tööga seotud sõite teha, siis saab end registreerida, oma töötajad sisestada, neid hallata ja saad kuu lõpus ühe arve või krediitkaardiga maksta. See on üks koht, kuhu on palju full-stack arendajaid vaja.

Lisaks on ka muidugi mobiilirakendused. Täna on meil neli äppi. Androidi ja iOS-i rakendus nii juhtidele kui ka klientidele. Samuti on tõukekate laadijatele rakendused. Täna saavad inimesed läbi Taxify rentida Pariisis endale tõukeratta, jättes selle oma sihtpunktis sobivasse kohta. Keegi peab need aga päeva lõpus kokku korjama, teadma, kust neid leida ja laadima viima. Selleks on eraldi äpp, mis nende leidmise lihtsamaks muudab.

Lisaks eksisteerib meil site reliability osakond. Seal on inimesed, kes vaatavad, et meie süsteemid pilveserverites töötaksid. Sinna alla käib ka kogu süsteemi halduse planeerimine, monitoorimine ja automatiseerimine. See tiim on meil suhteliselt väike, aga nad on hästi suure automatiseerimise võimega. Täna jooksevad meie teenused ikkagi mitmetes sadades serverites tuhandete mikroteenustega. Kõik see, kuidas teenuseid skaleeritakse ja majandatakse on automatiseeritud. Ka see on väga oluline tiim, kuhu me mitmeid uusi inimesi otsime.

Kui suur võimalus on arendusmeeskonna liikmel liikuda erinevate alammeeskondade vahel?

Reaalsus näitab seda, et meie süsteemidega tuttavaks saamine võtab paar kuud aega. Pigem on see liikumine võimalik kuue kuu pärast –  siis, kui inimene on meie arendusprotsessi ja süsteemidega juba tuttavaks saanud. Eeldus on loomulikult ka see, et mõnda teise tiimi on inimesi vaja. Aga igal juhul toetame inimeste liikumist sinna, kuhu nad tahavad jõuda. On ka juhtunud, et inimene on palju sobilikum mõnes teises rollis, ka siis oleme tal aidanud meeskonda vahetada.

Millised on need minimaalsed oskused, mida see inimene teile tööle kandideerides valdama peab?

Kindlasti on vajalik arenduskogemus. Meil ei ole ranget ülikooli diplomi nõuet, seda võib asendada ka aastaid kestnud töökogemus. Kui keegi on tehnikumi lõpetanud ja näiteks viis aastat töötanud, siis on see täiesti okei. See huvitab meid tegelikult vähem. Meie kasutavad tehnoloogiad ja keeled on peamiselt node.js ja Typescript, masinõppes Python ja mobiiliäppides ka Objective C, Swift, Java, Kotlin. 90% inseneridest, kes meile tööle pääsevad, ei oma kogemust Typescriptis ja seda me ka ei eelda – me hindame üldist programmeerimisoskust, algoritme, andmestruktuure ja tootepõhist mõtlemist. Statistiliselt on kõige rohkem liitujaid hoopis C++ taustaga olnud.

Meie palkamise protsess on piisavalt raske ja koosneb mitmest intervjuust. Me pigem palkame vähem inimesi kui rohkem, aga leiame täpselt sellised inimesed, kes meie süsteemidega hakkama saavad.

Millised on need testid ja intervjuud, mille kandidaat läbima peab?

Meil on üks online-test, mida saab vabalt valitud ajal teha ja seejärel on kolm kuni neli intervjuud. Vahel me teeme muidugi ka erandeid, kutsume kandidaadid näiteks kontorisse, kus nad peavad koos töötama.

Intervjuud ise on suhteliselt tehnilised ja keskenduvad ka arhitektuurile ehk sellele, kuidas süsteemselt läheneda mingi asja ehitamisele. See ei ole kindlasti mitte inimeste kiusamiseks mõeldud. Pigem on põhjus selles, et me töötame reaalajasüsteemidega, suurte andmemahtudega ja teenus peab töötama kogu aeg. See tähendab seda, et andmete õige väärtus on ajaliselt piiratud ning meil ei ole kunagi võimalust süsteeme uuenduste tegemiseks seisma panna, see tähendab, et see kõik peab toimuma jooksvalt.

Näiteks kui praegu autot tellides on saabumise aeg kolm minutit, aga lisaandmed saabuvad kahe minuti pärast, pole nad enam väärtuslikud. Meil on küsimus millisekundites ja sekundites. Kui me autot otsime, siis inimene tahab sekundite jooksul teada, kas talle leitakse sobiv auto või mitte. Süsteemid töötavad korraga tuhandete juhtide ja klientidega ning omavahel on seotud kümneid süsteeme, juhul kui keegi teeb vea keerukuse hindamisel, siis sel on negatiivsed mõjud paljudele inimestele.

Kuidas teil kaugtöö tegemisega lood on? Või välistab suurte andmehulkadega töötamine selle?

Pigem eeldame, et suurem osa tööst tehakse ikkagi kontoris. See ei ole loomulikult kohustus ja täielikus ulatuses seda tegema ei pea, tavaliselt sõltub see kokkuleppest otsese ülemusega.

Alati saab ka eemalt töötada, kui eelnevalt kokku leppida.

Põhjus kontoris töötamiseks on selles, et informatsiooni levik oleks parem. Meie tiimid on pigem suhteliselt väikesed, kuni seitse inimest. Sinna kuuluvad tooteomanik, insenerid, andmeteadlased, mobiilitiimides ka näiteks tootekvaliteediga tegelevad insenerid. Erinevad funktsioonid on koos ja nad püüavad omavahel lähestikku hoida, et nad saaksid kergelt suhelda ja rääkida. Aga on ka olukordi, kus inimene, kes on kuu aega eemalt töötanud, on pannud enda videokõne kõrvale jooksma, nii et ta nagu oleks kontoris.

Mida kontoris töötav inimene siis teha saab, kui ta ära väsib või hetkeline tüdimus tekib?

Ping-pongi saab mängida, samuti on meil päris suur köögiala, kus saab erinevaid snäkke ja puuvilju süüa, istuda niisama, või teha sealt lõuna ajal tööd. Samuti on palju väiksemaid nurkasid, kuhu saab istuma minna ja seal tööd teha. Me ehitame ka uut kontorit, mis selle aasta jooksul peaks valmis saama, seal oleme rohkem mõelnud kogu puhkuse, meelelahutuse ja keskkonna peale.

Aga kas teie töötaja Taxify autodega saab tasuta sõita?

Meil on päris mitmeid hüvesid. Meie kompensatsioon moodustub palgast ning firma aktsiaoptsioonidest. See tähendab, et sul on võimalik osta teatud fikseeritud hinna eest osalus Taxify’s ehk kõik töötajad saavad enda panusega mõjutada ka ettevõtte kasvu ja sellest osa saada. Palka seega ei saaks üks-ühele võrrelda ka mõne teise ettevõttega, kuna palk on vaid üks osa kompensatsioonist.

Aga hüvesid on veelgi, tõesti, kõik töötajad saavad ka Taxify krediiti, mis tähendab, et nad saavad 75 euro eest kuus sõita. Lisaks töötaja hüvele on selle mõte on see, et kuna meil on mitukümmend kontorit üle maailma, siis saame teha jooksvat kvaliteedikontrolli. Meie oma inimesed testivad meie tehnoloogiat ja kogu sõidukogemust, kas autod on korras või kas juht käitub viisakalt.

Lisaks on ka sporditoetuseid ning suve- ja talvepäevad. Kui suvepäevad on olnud pigem Eestis, siis talvepäevad on kusagil mujal. Viimati olime Lõuna-Aafrikas. Lendame kohale ja oleme umbes nädal aega, toimuvad seminarid ja meeskonnaüritused.

Me paneme ka suurt rõhku arendajate enesearengule. Kõigil peab olema arenguplaan ja kui sul on enese kohta arenguplaan, saad ka isikliku eelarve, mida saad kulutada nii nagu ise soovid: koolitusteks, konverentsideks või millekski muuks. See on meil praegu 750 eurot aastas.

Inimene võib minna näiteks konverentsile, või ostab endale raamatuid, võtab mõne online-kursuse, teeb sertifikaadi eksami. Tehnoloogiad vahetuvad iga kolme kuni viie aasta järel, seega on oluline, et inimesed saaksid õppida ja me püüame seda palju ka toetada, siis on insenerid rõõmsad ning ka meie kollektiivselt viimaste tehnoloogiatega kursis.

Telli Geeniuse uudiskiri

Saadame sulle igal argipäeval ülevaate tehnoloogia-, auto- ja rahaportaali olulisematest lugudest.