A Bitrise csapata továbbra is bővül, gőzerővel keressük új kollégáinkat, többek között az Infrastructure csapatunkba. A cégről, az Infra csapatról, az előttük álló feladatokról és kihívásokról Hodicska “Felhő” Gergelyt (VP of Engineering) és Herczeg Artúrt (Engineering Manager) kérdeztük.
(Read the English version here.)
- Először is, mit csinál a Bitrise, milyen terméket fejlesztetek?
HFG: A Bitrise egy mobil Continuous Integration and Continuous Delivery szolgáltatást fejleszt, amiben a fejlesztők tetszőleges workflow-kat tudnak összerakni különböző kis legó elemekből, ezeket hívjuk Stepeknek. Ezek segítségével testreszabhatók és automatizálhatóak a kódolást követő feladatok (build, test, deployment), egészen addig, míg a felhasználó letöltheti az appot.
A következő 1-2 évben a célunk az, hogy a Mobile DevOps ciklus minden elemét lefedjük, már készül egy nagyobb fejlesztésünk, a monitoring.
- Szakmai szempontból miért érdekes a Bitrise-nál dolgozni?
HA: Kihívás. Nagyon-nagyon gyorsan növekszik a cég, ilyen hyper-growth típusú növekedésből pedig nagyon kevés van Magyarországon. 2017 elején hatan dolgoztak a Bitrise-nál, ma közel százan. Ez azt jelenti, hogy a cég folyamatos változásban van.
Ami ma működik, az simán lehet, hogy fél év múlva nem fog.
Folyamatosan növelni kell a hatékonyságunkat, és nagyon izgalmas ennek a skálázódásnak, építkezésnek a részese lenni. Egyszerre kell a ma kihívásaira reagálnunk, és közben saját magunkat is fejleszteni, hogy készek legyünk a holnap kihívásaira.
HFG: Igen, és hozzátenném, hogy itt most mindenki a saját álomcégét tudja építeni, amiben a stock option miatt részben tulajdonos is lehet.
Túl lehet lépni azokon a megoldásokon, amiket a korábbi cégeiknél megtapasztaltak
és nagy az impactje annak, amit a hétköznapokban csinálnak. Nagyon szoros az együttműködés a csapatok között, mindenki komoly hatással lehet a tervezésre és nagyon fontos a termék-fókusz. Érteni kell, hogy itt fejlesztőknek készítünk terméket, és az ügyfélnek mindig szem előtt kell lennie. Ehhez kell egy nyitottság, érettség arra, hogy mindenki pontosan értse, hogy mi az ügyfél problémája, mit kell megoldani. Ebben segít az is, hogy azonnali a feedback loop: a felhasználóktól, akik szintén fejlesztők, rögtön jön a visszacsatolás: Twitteren, Slacken, a saját support-csatornáinkon. (Sőt, időnként a segítség is a felhasználóktól érkezik, hiszen a termék egy része Open Source, bárki küldhet egy pull requestet vagy írhat egy stepet, amit a többi user is használhat.)
- Milyen csapatokba kerestek embereket?
HA: Több helyre is, de most először is az Infrastructure terület két csapatába. Ez nem egy klasszikus infra, hanem Build Infrastructure, tehát ők a Bitrise Build Platform infrastruktúrájáért felelősek. Az ő dolguk nemcsak az infra úgy általában, hanem
annak az infrastruktúrának a létrehozása és skálázása, amin a virtuális gépeink futnak,
amiken a buildek megtörténnek. A Build Infrastructure csapat felelős azért, hogy a virtuális gépek és hálózati konfigurációk működjenek, a Build Services csapat pedig azért, hogy az azokat felskálázó szoftverek dinamikusan működjenek, hogy akár ezer buildet egyszerre tudjunk futtatni.
- Mi a legizgalmasabb kihívás ezekben?
HFG: A build infrastruktúra egyik ága Google Cloudban fut a Linux alapon futtatható buildek számára. És van az ennél izgalmasabb terület, ami az iOS buildekhez kell. Ezek a buildek csak Mac hardware-en futnak, és
per pillanat ilyen elasztikus cloudot nem nyújtanak a tipikus cloud szolgáltatók, kvázi ezt magunknak kell megépíteni.
Jelenleg a Bitrise-nak van az egyik legnagyobb Mac cloudja a világon, és ez folyamatosan, dinamikusan nő. A másik nagy terület az a buildek elosztását végző scheduling szolgáltatás.
HA: Az Infra csapattal igyekszünk teljes konfiguráció menedzsmentet csinálni, tehát kódból menedzseljük az infrastruktúra konfigurációját és minden változtatást. Ehhez a usual suspects eszközöket, mint például a Terraform, és főleg a Go programozási nyelvet használjuk.
Nagyon sok gépet menedzselünk, és a Mac-ek menedzsmentje nagyon speciális terület, sok kihívással. Ehhez adódik még a virtualizáció kezelése, valamint a Tooling által karbantartott stack-ek menedzsmentje is.
HFG: Azt tegyük hozzá, hogy a Tooling csapat mobile build toolinggal foglalkozik és ők felelősök a Workflow Engine-ért és az ehhez kapcsolódó Stepeknek és Integration-öknek a menedzsmentjéért. Utóbbiból 300 darab körül van, így bőven van velük feladat. A Stepek és Integration-ök open source-ban íródnak, sokszor a felhasználóink által létrehozott pull requestek alapján dolgoznak, ami szintén elég speciális eset itthon. Hozzájuk is várjuk a jelentkezőket. (nevet)
HA: De térjünk vissza az Infra csapathoz. A Build Servicesnél hálózatközeli és domain-közeli szoftvert kell menedzselni, ami adott esetben többszáz buildet képes kiszolgálni dinamikusan. Ami összefogja ezt a kettőt, az az, hogy modern eszközöket használunk: Go, Terraform, Ansible, és igyekszünk tiszta DevOps-ban dolgozni és a DevOps helyes implementációjára törekszünk. Az Accelerate metrikák mérését most fogjuk bevezetni, így több lesz a visszacsatolás, ezzel pedig gyorsabban fogunk tudni javítani a folyamatainkon is.
- Felhő korábban azt mondta, hogy a csapatok szorosan együttműködnek egymással. Mesélnél még egy kicsit arról, hogy ez hogyan történik?
HA: Az egyébként különálló csapatokat szorosabban integráljuk, és igyekszünk átvinni meglévő tudást az egyik csapatból a másikba, ha a feladatok indokolják. Így került egy infrás a Tooling csapatba, hogy átadja a gyakorlati DevOps tapasztalatot. Ehhez van egy DevOps-os Guildünk is, szakmai műhellyel. Amint többen leszünk a csapatban, a Guild rendszert fogjuk tovább vinni.
HFG: Egyik másik példa a Tech Lead Sync. Ez egy architect board jellegű platform, ahol a teljes engineeringet érintő kihívásokat, feladatokat, közös célokat vitatjuk meg. Ide minden csapat delegál tagot, és bárki hozhat be témákat, amiket megvitatunk, majd ennek megfelelően haladunk közösen tovább. Vagy egy másik példa, hogy a különböző csapatok vezetőivel is van egy közös heti meetingünk, ahol a teljes engineeringet érintő témákat/fejlesztéseket vitatunk meg, viszünk előre. Mind a két meeting memója bárki részére elérhető, mert a transzparencia egy nagyon fontos érték a számunkra. Így bárki tud ezekhez a témákhoz kontributálni, nem csak a meetingek résztvevői.
- Milyen tudást vártok el a jelentkezőktől és milyen embereket kerestek?
HA: Alapvetően növekedési mindsettel rendelkező embereket keresünk. Az ideális jelölt szeret tanulni, új dolgokat kipróbálni, szeressen azzal a tudattal dolgozni, hogy napról napra jobbá tudja tenni a munkáját és a terméket, amin dolgozik.
Egy ember ritkán ért ennyi dologhoz alapból: tehát minél gyorsabban minél több technológiát meg kell tanulni.
Emellett pedig legyen agilis, ami részben összefügg a DevOps-szal és a növekedési mindsettel, ez azt jelenti, hogy legyen nyitott és kommunikatív és a lehető legtöbbet dolgozzon együtt a csapattársaival és más csapatok tagjaival is.
HFG: Az elmúlt években a Bitrise folyamatosan duplázódott vagy triplázódott. Ez azt jelenti, hogy 2-3 évente egy nagyságrendi növekedés történik mind a cégben, az ügyfélkörünkben, mind a rendszereinkre jutó terhelésben. Ezt nem lehet simán a régi megoldásokkal kiszolgálni, folyamatosan fejlődnünk kell. Ahogy korábban említettem: építjük a ma kihívásait, és magunkat a holnap kihívásaira. Én nagyon hiszek abban a gondolatban, hogy egy céget nem lehet folyamatokkal skálázni, csak emberekkel, akik tudnak skálázódni.
- Mivel támogatjátok ezt a folyamatos fejlődést?
HA: Nagyon fontos, hogy nálunk senki nem állhat le a fejlődéssel, így szinte bármivel. Szakmai könyveket szívesen beszerzünk, alakul már a házi könyvtárunk. Havonta rendezünk önképző előadásokat (Bitrise TechTalks), ahol bárki előadhat a többi kollégának. Mivel az angol nyelv használata alapkövetelmény, kiscsoportokban lehet angolul tanulni. Van személyre szóló képzési keretünk, Pluralsight előfizetést is lehet igényelni és támogatjuk, hogy különböző vizsgákat is lehessen tenni. Persze nem most, de szakmai konferenciákon részt venni. Tavaly a Bitrise 25-nél is több mobil konferenciát támogatott világszerte. Személyesen is részt veszünk rajtuk és ezeken a konferenciákon pozíciótól függetlenül bárki részt vehet, ha akar.
Kiállítóként is beszélünk a fejlesztőkkel, de meg is látogatjuk ügyfeleinket és ők megmutatják, hogyan és mire használják a Bitrise-t. Tavaly kb. 250 céget látogattunk meg világszerte.
Ezekből a beszélgetésekből rengeteget lehet tanulni, a felhasználóktól érkező közvetlen visszacsatolás mindenkinek nagyon sokat ad.
- Mit nyer az, aki itt kezd el dolgozni?
HFG: A már említett technológiákba bele lehet és kell tanulni, de az egész csomag a nyeremény. A technológiák, az agilis munka, a folyamatos fejlődés és a DevOps kultúra. Világszinten kevés cég foglalkozik azzal, amivel mi. De a legfontosabb, hogy nálunk bárkinek óriási impactja tud lenni. Zéró politika van a cégben, csak a saját tehetségünk dönti el, hogy mire leszünk képesek.
HA: A nemzetközi, nagyobb perspektívát. Az Infra csapat egyik fele, a Build Infra teljesen angolul dolgozik, mert a csapat vezetője angol. Rajta kívül van egy szintén külföldi gyakornokunk is, de a Bitrise csapata egyébként is többnemzetiségű, a budapesti irodánkban van japán és holland kollégánk is. Van irodánk Bostonban, San Francisco-ban és Londonban, távmunkában van kanadai és japán kollégánk. Valamint a felhasználóink 99.9%-a is külföldi.
- Milyen a hangulat?
HA: Jó! (nevet) Az emberek barátságosak és legfőképpen segítőkészek.
HFG: Közvetlen és laza, de
nagyon nagy a tenni akarás, az emberek érzik, hogy értelmes terméken dolgoznak és ez egy különleges történet, nem csak Magyarországon, hanem világviszonylatban is.
Nagy a transzparencia, havonta van All Hands Meeting és rendszeresen vannak kis közösségi események és évente Bitreat, ahol az egész cég együtt van pár napig.
Mi továbbra is keresünk kollégákat, a 2019-es, 20 millió dolláros Series B befektetés lehetővé teszi a Bitrise-nak, hogy bővítse csapatát.