Od nuly po milión používateľov: ako rýchlo rásť úspešný technický tím

Tím Badi na našom ústredí v Barcelone v Španielsku

Badi je rastúci podnik s jednou jasnou úlohou: zlepšiť mestské bývanie spojením ľudí so zdieľanými priestormi. Úspechy našej spoločnosti doteraz viedli k financovaniu VC vo výške 45 miliónov USD a k nominácii WIRED medzi najhorúcejšie začínajúce podniky v Európe po dobu 2 rokov v rade.

Ako hlavný technologický riaditeľ v Badi sa zameriavam hlavne na vytváranie technológií a tím, ktorý ich budoval od základov.

V posledných 2,5 rokoch sme rozšírili naše technické služby z 0 na 1 milión používateľov. Dodali sme stovky miliónov mesačných transakcií s priemerným časom odozvy menej ako 100 ms pri zachovaní konštantnej 99,9% dostupnosti služieb.

Bolo to možné vďaka technologickej stratégii založenej na údajoch a technickej kultúre založenej na dôvere a vlastníctve, čo sa odráža aj v našej miere obratu inžinierov, ktorá sa doteraz vo veľmi konkurenčnom technologickom ekosystéme rovná nule.

Ako technologicky vodca pracujúci v rýchlo sa rozvíjajúcom prostredí, ako úspešne škálovate spoločnosť od základov až po milióny používateľov?

Tu je niekoľko tipov pre vedúcich pracovníkov technológií pracujúcich v prostredí, v ktorom sú hlavnými požiadavkami rast turba, kvalita a rýchlosť vykonávania.

Tech Talent

Nájom, prenájom, nájom!

Pracujte sami, iba ak vytvárate svoj prvý MVP. Potom budete musieť začať zamestnávať. Inak by ste sa mohli ocitnúť v nekonečnej slučke, v ktorej nebudete mať nikdy dosť času na zapožičanie, pretože kódujete.

Váš tím je najlepším prínosom. Hľadanie talentov môže trvať až 50% času (áno, čítate dobre) vo veľmi raných fázach spoločnosti.

Ak vám váš pôvodný rozpočet nedovolí prilákať skúsených inžinierov, získajte pomocných vývojárov. Moje prvé najímanie v Badi bolo juniorské vývojárov čerstvé z kódovacieho bootcampu a nemohol som s nimi byť šťastnejší! Mladí inžinieri sú zvyčajne veľmi motivovaní a nadšení svojimi prvými zamestnaniami. Nevedeli by ste si predstaviť, čo môžu dosiahnuť, so správnym počtom pokynov.

Dôverujte a delegujte

Nebudeš mikromanage. Toto je moje motto. Dohliadnite, ale nesnažte sa všetko ovládať. Je to kontraproduktívne a na to nemáte čas.

Neváhajte a dajte svojmu tímu zodpovednosť a zodpovednosť. Ak zlyhajú, poučia sa zo svojich chýb.

Väčšina inžinierov je prirodzene naklonená novým výzvam a riešeniu zložitých problémov. Budete prekvapení, čo môžu dosiahnuť, keď im úplne dôverujete. Okrem toho tým podporíte aj profesionálny rast svojho tímu, čo je jeden z vašich hlavných cieľov ako technologického lídra. Váš tím to čoskoro zistí a budú vám vďační.

Ostaň hladný

Práca v technike vyžaduje neustále školenie. Váš tím potrebuje prístup k učebným zdrojom, ako aj k vašej podpore a povzbudeniu k účasti na relevantných udalostiach.

Toto nie je voliteľné. Nezabudnite vyčleniť čas a rozpočet na technické školenie. Keď spoločnosť rastie, nastavte rozpočet pre každého z vašich inžinierov na školenie a služobné cesty.

Tech udalosti sú tiež dokonalým miestom na vytváranie sietí a vyhľadávanie nových talentov!

Tech Stack a infraštruktúra

Mysli vopred

Technický vodca plne rozumie obchodnej stratégii a prevádza ju na špičkové technické špecifikácie a požiadavky, ktoré môže tím vykonať. Táto schopnosť si vyžaduje prvotné myslenie, kde je kľúčom škálovateľnosť.

Počas prvých rokov existencie spoločnosti je úplne bežné zmeniť plán niekoľkokrát do roka a vylepšiť ciele. Vášmu tímu sa to nemusí páčiť, ale musíte byť na to pripravení.

Jedným z prístupov k riešeniu tejto výzvy je investovanie času od prvého dňa do vytvorenia solídnej technologickej infraštruktúry, ktorá môže podporiť rast podnikania. To možno dosiahnuť dnes zameraním úsilia na vybudovanie modulárnej architektúry založenej na cloude pomocou poskytovateľov, ako sú AWS a GCP. Od začiatku budete takto:

  • rozvíjajte svoje služby podľa paradigmy distribuovaných systémov, na rozdiel od monolitických softvérových monolitov. Uľahčí to identifikáciu úzkych miest a implementáciu riešení pri rozširovaní;
  • byť schopný dočasne vyhodiť hardvér do problému. Pred pár rokmi sme v Badi viedli našu prvú kampaň s televíznymi reklamami v hodnote niekoľkých miliónov dolárov. Zvýšením počtu prípadov spustenia nášho základného rozhrania API a príchute DB sme sa ubezpečili, že sa môžeme úspešne vysporiadať s vrcholmi používateľov. Z čisto technického hľadiska to zďaleka nebolo ideálne, ale z hľadiska obchodnej stratégie to bolo úplne v poriadku.

Navrhnite svoje systémy s ohľadom na škálovateľnosť.

Monitorujte svoje služby

Rozdiel medzi náhodou a šťastím je rozdiel. Nemôžete ovládať šancu (takže sa nemusíte báť), ale svoje šťastie môžete zmeniť.

Za posledných 2,5 roka sme mali v Badi konštantnú priemernú dostupnosť 99,9%. Na spustenie to nie je zlé! Dôvodom tohto úspechu bola propagovaná stratégia založená na údajoch, ktorá pozostáva z pokročilého monitorovania všetkých služieb a nepretržitej analýzy ich správania v priebehu času.

Použitím produktov ako NewRelic, Dynatrace alebo Datadog môžete zbierať kvantitatívne údaje o výkonnosti vašich systémov. Potom môžete optimalizovať svoje služby a predpovedať potenciálne prekážky. Napríklad pomocou programu NewRelic sme dokázali identifikovať dôležitý únik pamäte, ktorý ovplyvnil naše API a vyriešiť ho skôr, ako sa stal skutočným problémom.

Monitorovanie vašich služieb a infraštruktúry môže byť drahé, je to však investícia s vysokou návratnosťou, ktorá by mala byť súčasťou vašej technologickej stratégie. Koniec koncov, naša práca rieši problémy skôr, ako sa skutočne vyskytnú.

Čím jednoduchšie, tým lepšie

Koľkokrát sme boli v pokušení vyskúšať najnovší programovací jazyk, rámec alebo databázový stroj na dodanie nášho nového produktu? Pred tým, ako technologický vodca, je vašou povinnosťou urobiť krok späť a oddeliť svoje prirodzené vzrušenie od skutočných obchodných požiadaviek.

Nepokúšajte sa stavať vesmírnu loď, ak to, čo skutočne potrebujete, je bicykel!

Zatiaľ čo prvotné myslenie je vyžadovaná zručnosť pre akýkoľvek technický vodca, nedochádza k nadmernému architektonovaniu.

Môj obľúbený výber? Prepravujte najjednoduchšie možné riešenie a neskôr na ňom stavajte.

Kolega sa ma raz opýtal, prečo som si vybral databázu MySQL pre základné služby v Badi namiesto „modernejších“ nerelačných partnerov. Jednoducho som si vybral najoptimálnejšie riešenie, tu je dôvod:

  • naša hlavná obchodná logika zahŕňala používateľov, izby a obrázky. Užívateľ môže mať N izieb a izieb N obrázkov… Nie je nič viac relačné ako to;
  • MySQL existuje už viac ako 20 rokov, je to solídna voľba a má vynikajúci výkon s malou optimalizáciou vyžadovanou až stovkami miliónov záznamov;
  • plus, väčšina analytických nástrojov a nástrojov na vizualizáciu údajov vyžaduje dotazy založené na SQL. Relačná DB uľahčuje život vedcom údajov a jednotkám BI v raných fázach spoločnosti (prípadne im postavíte sklad údajov).

Aj keď by sme mali vždy vyskúšať najnovšie technológie, nesmieme ich prijať na úrovni výroby len preto, že sú fantázie. Uistite sa, že máte skutočný obchodný prípad, ktorý z nich môže skutočne profitovať.

Technický dlh

Prvé pravidlo technického dlhu je ... hovoríte o technickom dlhu.

Budovanie solídnej technológie v spoločnosti vyžaduje správnu rovnováhu medzi kvalitou a rýchlosťou dodávania. To často znamená kompromis a v tom nie je hanba.

Je v poriadku akumulovať technický dlh do určitej miery, pokiaľ si to vy a váš tím plne uvedomujete a máte konkrétny plán na zlepšenie v krátkodobom a strednodobom horizonte.

V niektorých prípadoch môže byť vedomé hromadenie niektorých technologických dlhov súčasťou vašej obchodnej stratégie.

Jednou z prvých technických výziev v Badi bolo napríklad vytvorenie interného chatovacieho systému, ktorý používateľom umožní komunikovať v reálnom čase. To bola jedna z hlavných čŕt nášho produktu, ktorá bola priamo prepojená s najdôležitejšími KPI spoločnosti. Mali sme obmedzený čas (menej ako 1 mesiac!) A zdroje (2 vývojári backendu). Po niekoľkých počiatočných myšlienkach sme sa rozhodli použiť Actioncable, integráciu websocket, ktorá vychádza z krabice s rámcom poháňajúcim naše API (RoR).

Tento prístup by predstavoval určité budúce obmedzenia, pokiaľ ide o súbežnosť a latenciu. Všetci sme si ich boli vedomí, a práve preto sme už mali v pláne vybudovať najmodernejšiu mikroslužbu pre náš chat, pravdepodobne pomocou Node.js alebo Go.

Výberom Actioncable sa nám podarilo dodať náš prvý chatovací systém s webovým konektorom iba za dva týždne. Nebola to najlepšia implementácia chatu, akú sme mohli vytvoriť; v súčasnosti to však bolo rýchle a primerane dobré a priamo prispelo k uzavretiu kola financovania 10 miliónov dolárov série A. Nie zlé!

Technický vodca musí byť schopný vždy nájsť správnu rovnováhu medzi škálovateľnosťou riešení a obchodnou stratégiou.

rozpočet

Požiadajte o ďalšie $$$

Bez ohľadu na to, ako tvrdo pracujete so svojím finančným oddelením pri plánovaní rozpočtu, v počiatočných fázach spoločností (najmä v prvom roku) by ste si mohli v polovici štvrťroku uvedomiť, že váš rozpočet je obmedzený.

Ak presne viete, čo potrebujete k rýchlejšiemu rastu (napr. Nová služba, ďalší talent atď.) A vašou jedinou prekážkou je nedostatok rozpočtu, nemyslite dvakrát a jednoducho požiadajte o ďalšie peniaze.

Nebudú vám vždy poskytnuté ďalšie výdavky, napriek tomu si však budete musieť vytvoriť aspoň budúcu potrebu.

V Badi som si čoskoro uvedomil, že potrebujeme externú službu QA na testovanie beta verzií crowdsource pre naše mobilné aplikácie. Náš tím sedával spolu a skúšal náš produkt každý piatok niekoľko hodín. Toto nebolo efektívne najmä kvôli obmedzenému času, ktorý sme mali, a kvôli malému počtu zariadení, ktoré sme vlastnili.

Prechod na externú službu QA bolo správne, aby ste zvýšili produktivitu tímu a zlepšili celkovú kvalitu produktu. Desiatky skutočných používateľov by cez víkend otestovali naše aplikácie pomocou heterogénnej skupiny zariadení a prostredníctvom nášho softvéru na sledovanie problémov systematicky hlásili chyby.

Pre spoločnosť, ktorá mala v tom čase celkové finančné prostriedky vo výške 1 milión dolárov, bola táto služba QA dosť drahá. Pravdepodobne si dokážete predstaviť výraz nášho finančného riaditeľa , keď som nečakane požiadal o ďalších 50 až 100 tis. Najprv som nedostal peniaze; O pár mesiacov sme ich však mohli zabezpečiť.

Výsledky tejto novej investície sa čoskoro prejavili a odvtedy boli náklady na testovanie a kontrolu kvality jednoducho považované za samozrejmé, bez otázok.

Vaši netechnickí rovesníci vás nečítajú. Ak niečo potrebujete, požiadajte o to.

Požiadajte o zľavy

Niektoré služby tretích strán a spoločnosť SaaS ponúkajú cenové plány pri spustení, zatiaľ čo iné nie. V každom prípade sa vždy obráťte na vedúcich pracovníkov predaja a požiadajte o zľavy.

Vždy, keď sa domnievam, že cena novej služby, ktorú chcem prijať, je príliš vysoká, žiadam o rýchle zavolanie, kde predstavím seba a svoju spoločnosť. Potom vysvetlím, ako veľmi by som rád používal ich produkt a prečo. Potom výslovne žiadam možné zľavy.

Boli by ste prekvapení, koľko poskytovateľov je ochotných ponúknuť zľavu, bezplatné kredity alebo neštandardné / skryté cenové plány, aspoň na nejaký čas. Podľa mojich skúseností bolo 8 z 10 predajcov na požiadanie viac ako ochotných znížiť svoju cenu. V niektorých prípadoch sme ušetrili až 75% z pôvodných nákladov počas prvého roka.

Koniec koncov, je to situácia obojstranne výhodná: ak vaša spoločnosť rastie, budú využívať aj služby, ktoré využívate.

Žiadosť o zľavy alebo voľné kredity sa nehanbí. Vášmu finančnému oddeleniu to preukáže, že skutočne chcete ušetriť peniaze spoločnosti, čím sa v budúcnosti zvýši vaša dôveryhodnosť, keď budete v budúcnosti žiadať vyšší rozpočet.

Profesionálne vzťahy

Buďte empatickí

Empatia a emocionálna inteligencia sú najdôležitejšie zručnosti, ktoré by mal mať každý vodca.

Buďte empatickí so svojím tímom a so svojimi kolegami. Toto je najlepší spôsob, ako zvýšiť jasnosť komunikácie na akejkoľvek úrovni, ako aj presvedčiť ostatných, aby sa riadili vašimi pokynmi a odporúčaniami.

Empatia nemusí byť pre niektorých ľudí na prvý pohľad prirodzená. Ide len o to, aby ste sa obliekli do obuvi niekoho iného a snažili sa pochopiť, čo ten druhý cíti a prečo.

Ovládnite umenie empatie a ako vodca budete mať veľkú kariéru.

Staňte sa súčasťou miestnej technickej komunity

Pravidelne sa zúčastňujte na podujatiach a stretnutiach a buďte aktívny v miestnej technickej komunite.

V každom významnom meste sa každý deň organizuje široká škála podujatí súvisiacich s technológiami, na ktoré často nadväzujú stretnutia v rámci sietí. Stretávate nových ľudí, zdieľate nápady a doháňate nových a starých kolegov. Počas takýchto udalostí môžete objaviť aj nových talentov.

V našom meste organizujeme stretnutie s názvom „CTO & co“. Naša komunita má viac ako 1 000 členov a spája odborníkov v miestnom technologickom ekosystéme, ktorí si navzájom pomáhajú vymieňaním nápadov a tipov. Tam som sa prvýkrát podelil o svoje skúsenosti s budovaním úspešného technického tímu od základov.

závery

Práca je o zábave robiť veci, ktoré vás baví najviac. Úspešné úspechy inšpirujú ľudí a vytvárajú putá. Bez ohľadu na to, aké sú vaše dni hektické, vždy venujte nejaký čas oslave dôležitých míľnikov so svojím tímom.

Tím v Badi oslavuje prvých miliónov používateľov