De la zero la un milion de utilizatori: cum să crești rapid o echipă tehnologică de succes

Echipa Badi de la sediul nostru din Barcelona, ​​Spania

Badi este o pornire în creștere, cu o singură misiune: îmbunătățirea traiului urban prin conectarea oamenilor cu spații comune. Realizările companiei noastre au dus la finanțare VC de 45 milioane USD până acum și la nominalizarea WIRED printre cele mai tari startup-uri din Europa timp de 2 ani la rând.

În calitate de șef tehnologie la Badi, principalul meu obiectiv a fost crearea tehnologiei și a echipei care a construit-o de la sol.

În ultimii 2,5 ani, am extins serviciile noastre tehnologice de la 0 la 1 milion de utilizatori. Am livrat sute de milioane de tranzacții lunare cu un timp mediu de răspuns sub 100ms, menținând în același timp o durată de serviciu constantă de 99,9%.

Acest lucru a fost posibil datorită unei strategii tehnologice bazate pe date și a unei culturi inginerești bazate pe încredere și proprietate, care se reflectă și în rata noastră de cifre de afaceri, care până acum a fost egală cu zero într-un ecosistem tehnologic foarte competitiv.

În calitate de lider tehnologic care lucrează într-un mediu cu ritm rapid, cum faceți cu succes o scară a companiei de la sol la milioane de utilizatori?

Iată câteva sfaturi pentru liderii tehnologici care lucrează într-un mediu în care creșterea turbo, calitatea și viteza de execuție sunt principalele cerințe.

Talent tehnic

Închirieri, închiriere, închiriere!

Lucrați singur doar dacă construiți primul dvs. MVP. După aceea, va trebui să începeți angajarea. În orice alt mod, s-ar putea să vă găsiți blocat într-o buclă infinită în care nu veți avea niciodată suficient timp pentru a vă angaja, deoarece codificați.

Echipa ta este cel mai bun atu al tău. Căutarea talentelor poate dura până la 50% din timp (da, ai citit bine) în fazele foarte timpurii ale unei companii.

Dacă bugetul inițial nu vă permite să atrageți ingineri experimentați, obțineți dezvoltatori mai tineri. Primele mele angajări la Badi au fost dezvoltatori tineri proaspătă dintr-un bootcamp de codare și nu puteam fi mai fericit cu ei! Inginerii tineri sunt de obicei foarte motivați și încântați de primele lor locuri de muncă. Nu vă imaginați ce pot realiza cu doar o orientare potrivită.

Încredere și delegare

Nu micromaniați. Acesta este deviza mea. Supravegheați, dar nu încercați să controlați totul. Este contraproductiv și nu ai timp pentru asta.

Nu ezitați să acordați proprietatea și responsabilitățile echipei voastre. Dacă nu reușesc, vor învăța din erorile lor.

Majoritatea inginerilor sunt înclinați în mod natural să asume noi provocări și să rezolve probleme complexe. Vei fi surprins de ceea ce pot realiza atunci când le vei oferi încredere deplină. În plus, făcând acest lucru, veți favoriza și creșterea profesională a echipei dvs., care este unul dintre obiectivele dvs. principale ca lider de tehnologie. Echipa ta va realiza în curând acest lucru și îți vor fi recunoscători.

Stai flămând

Lucrul în tehnologie necesită o pregătire constantă. Echipa dvs. are nevoie de acces la resursele de învățare, precum și de sprijinul și încurajarea dvs. pentru participarea la evenimente relevante.

Aceasta nu este opțională. Asigurați-vă că alocați timp și buget pentru pregătirea tehnică. Când compania crește, stabiliți un buget pentru fiecare dintre inginerii dvs. pentru instruire și călătorii de afaceri.

Evenimentele tehnice sunt, de asemenea, locații perfecte pentru rețea și cercetare de noi talente!

Tehnică de stivă și infrastructură

Gândiți-vă în avans

Un lider tehnologic înțelege pe deplin strategia de afaceri și o transformă în specificații și cerințe tehnologice la nivel înalt care pot fi executate de echipă. Această abilitate necesită o gândire în prealabil unde este cheia scalabilitatea.

În primii ani ai unei companii, este complet normal să schimbăm foaia de parcurs de câteva ori pe an și să modificăm obiectivele. E posibil ca echipa ta să nu-i placă, dar trebuie să fii pregătit pentru asta.

O abordare pentru a face față acestei provocări este investiția de timp încă din prima zi în crearea unei infrastructuri tehnologice solide care poate susține creșterea afacerilor. Acest lucru poate fi realizat astăzi prin concentrarea eforturilor pe construirea unei arhitecturi modulare bazate pe cloud folosind furnizori precum AWS și GCP. Procedând astfel de la început, veți face:

  • dezvoltați-vă serviciile în funcție de o paradigmă sisteme distribuite, spre deosebire de monolitele software mono-instanță. Acest lucru va face mai ușor să identificați blocaje și să implementați soluții la extindere;
  • să poată arunca temporar hardware-ul la problemă. Acum câțiva ani, la Badi, am avut prima noastră campanie de reclame TV de mai multe milioane de dolari. Prin creșterea numărului de instanțe care utilizează API-ul principal și aroma DB, ne-am asigurat că putem trata cu succes vârfurile cu utilizatori mari. Acest lucru a fost departe de a fi o situație ideală dintr-o perspectivă pur inginerească, dar a fost perfect bine în ceea ce privește strategia de afaceri.

Proiectați-vă sistemele având în vedere scalabilitatea.

Monitorizați-vă serviciile

Există o diferență între șansă și noroc. Nu puteți controla șansa (deci nu vă faceți griji), dar vă puteți modela norocul.

În ultimii 2,5 ani la Badi, am avut o medie de utilizare constantă de 99,9%. Nu este rău pentru o pornire! Motivul acestei realizări a fost strategia bazată pe date pe care am promovat-o, care constă în monitorizarea avansată a tuturor serviciilor și analiza continuă a comportamentului acestora în timp.

Folosind produse precum NewRelic, Dynatrace sau Datadog, puteți aduna date cantitative despre performanțele sistemelor dvs. Puteți apoi să vă optimizați serviciile și să prezice potențialele blocaje. Folosind NewRelic, de exemplu, am fost capabili să identificăm o scurgere de memorie importantă care a afectat API-ul nostru și să o rezolvăm înainte de a deveni o problemă reală.

Monitorizarea serviciilor și a infrastructurii dvs. poate fi costisitoare, însă este o investiție cu un randament ridicat care ar trebui să facă parte din strategia dvs. tehnologică. Până la urmă, treaba noastră este rezolvarea problemelor înainte ca acestea să apară efectiv.

Cu cât este mai simplu, cu atât mai bine

De câte ori am fost tentați să încercăm cel mai recent limbaj de programare, cadru sau motor de bază de date pentru a livra noul nostru produs? Înainte de a face acest lucru, în calitate de lider tehnic, este de datoria dvs. să faceți un pas înapoi și să vă separați emoția naturală de cerințele reale ale afacerii.

Nu încercați să construiți o navă spațială dacă ceea ce aveți nevoie cu adevărat este o bicicletă!

În timp ce gândirea în avans este o abilitate necesară pentru orice tehnologie, la fel se evită arhitectura excesivă.

Alegerea mea preferată? Expediați cea mai simplă soluție posibilă și apoi construiți-o deasupra.

O colegă m-a întrebat odată de ce am ales o bază de date MySQL pentru serviciile de bază de la Badi, în locul unei omologe non-relaționale „mai moderne”. Pur și simplu am ales cea mai optimă soluție, iată de ce:

  • Principala noastră logică de afaceri include utilizatori, camere și imagini. Un utilizator poate avea N camere și o cameră N imagini ... Nu există nimic mai relațional decât asta;
  • MySQL are în jur de peste 20 de ani, este o alegere solidă și are o performanță excelentă, cu puține optimizări necesare până la sute de milioane de înregistrări;
  • ca un plus, majoritatea instrumentelor de analiză și vizualizare a datelor necesită interogări bazate pe SQL. Un DB relațional face viața mai ușoară pentru oamenii de știință de date și pentru unitățile de BI în etapele incipiente ale unei companii (în cele din urmă le vei construi un depozit de date).

Deși ar trebui să încercăm mereu cele mai noi tehnologii, să nu le adoptăm la nivel de producție doar pentru că sunt fantezie. Asigurați-vă că aveți un caz de afaceri din lumea reală care poate beneficia de fapt de ele.

Datorii tehnice

Prima regulă a datoriei tehnice este… vorbești despre datoria tehnică.

Construirea unei tehnologii solide într-o companie necesită un echilibru corect între calitate și viteza de livrare. Acest lucru implică adesea un compromis și nu există nicio rușine în asta.

Este bine să acumulați datorii tehnice până la un anumit grad, atât timp cât dvs. și echipa dvs. sunteți pe deplin conștienți de acest lucru și aveți un plan concret de îmbunătățire pe termen scurt și mediu.

În unele cazuri, acumularea conștientă a unor datorii tehnologice poate fi chiar o parte a strategiei dvs. de afaceri.

Una dintre provocările tehnologice de la Badi, de exemplu, a fost crearea unui sistem de chat intern care să permită utilizatorilor să comunice în timp real. Aceasta a fost una dintre caracteristicile de bază ale produsului nostru, care a fost direct conectat la cele mai importante KPI-uri ale companiei. Am avut timp limitat (mai puțin de 1 lună!) Și resurse (2 dezvoltatori backend). După câteva gânduri inițiale, am decis să folosim Actioncable, integrarea websocket-ului care iese din cutie cu cadrul care alimentează API-ul nostru (RoR).

Această abordare ar prezenta unele limitări viitoare în ceea ce privește concordanța și latența. Cu toții eram conștienți de acestea și tocmai de aceea aveam deja un plan de a construi un microserviciu de ultimă generație pentru chat-ul nostru, eventual folosind Node.js sau Go.

Alegând Actioncable, am putut livra primul nostru sistem de chat bazat pe websocket în doar două săptămâni. Nu a fost cea mai bună implementare de chat pe care am fi putut-o construi; cu toate acestea, deocamdată a fost rapid și rezonabil și a contribuit direct la închiderea unei runde de finanțare din seria A de 10 milioane de dolari. Nu-i rău!

Un lider tehnic trebuie să fie capabil să găsească întotdeauna echilibrul corect între scalabilitatea soluțiilor și strategia de afaceri.

Buget

Cere mai mult $$$

Oricât de greu lucrați cu departamentul dvs. financiar pentru a planifica un buget, în companiile din stadiul incipient (în special în primul an), puteți realiza la jumătatea trimestrului că bugetul dvs. este restrâns.

Dacă știți exact ce aveți nevoie pentru a crește mai rapid (de exemplu, un nou serviciu, talent suplimentar etc.) și singurul dvs. obstacol este lipsa bugetului, nu vă gândiți de două ori și pur și simplu cereți mai mulți bani.

Nu veți primi întotdeauna cheltuielile suplimentare, dar veți crea cel puțin o nevoie viitoare.

La Badi, mi-am dat seama curând că avem nevoie de un serviciu de control extern extern pentru testarea beta-sursa pentru aplicațiile noastre mobile. Echipa noastră obișnuia să stea împreună și să testeze produsul nostru în fiecare vineri pentru câteva ore. Acest lucru nu a fost eficient, în principal din cauza timpului limitat pe care l-am avut și al numărului mic de dispozitive pe care le dețineam.

Trecerea la un serviciu QA extern a fost ceea ce trebuie făcut pentru a spori productivitatea echipei și pentru a îmbunătăți calitatea generală a produsului. Zeci de utilizatori reali vor testa aplicațiile noastre în weekend folosind un grup eterogen de dispozitive și vor raporta sistematic bug-uri prin intermediul software-ului nostru de urmărire a problemelor.

Pentru o companie care avea o finanțare totală de 1 milion USD la vremea respectivă, acest serviciu de QA a fost destul de scump. Probabil vă puteți imagina expresia CFO-ului nostru atunci când, în mod neașteptat, am cerut 50 - 100k în plus pentru asta. Nu am primit banii la început; cu toate acestea, am putut să le asigurăm câteva luni mai târziu.

Rezultatele acestei noi investiții au devenit curând evidente și, de atunci, cheltuielile pentru testare și QA au fost pur și simplu asumate de toată lumea, fără a pune întrebări.

Colegii dvs. non-tech nu vă vor citi mintea. Când ai nevoie de ceva, cere-l.

Cereți reduceri

Unele servicii terțe și SaaS oferă planuri de prețuri de pornire, în timp ce altele nu. În orice caz, adresați-vă întotdeauna directorilor de vânzări și cereți reduceri.

Ori de câte ori cred că prețul unui nou serviciu pe care vreau să-l adopt este prea mare, solicit un apel rapid unde mă prezint eu și compania mea. Îi explic apoi cât de mult mi-ar plăcea să le folosesc produsul și de ce. Apoi, solicit în mod explicit eventuale reduceri.

Ați fi surprins de câți furnizori sunt dispuși să ofere o reducere, credite gratuite sau planuri de prețuri standard sau ascunse, cel puțin pentru o perioadă de timp. În experiența mea, 8 din 10 vânzători au fost mai mult decât dispuși să își reducă prețul atunci când au fost solicitați. În unele cazuri, am economisit până la 75% din costul inițial în primul an.

La urma urmei, este o situație câștig-câștig pentru ambele părți: dacă compania dvs. crește, serviciile pe care le utilizați.

Nu este nicio rușine în a solicita reduceri sau credite gratuite. Acest lucru va demonstra, de asemenea, departamentului dvs. financiar că doriți de fapt să economisiți banii companiei, consolidând astfel și mai mult credibilitatea dvs. atunci când veți solicita un buget mai mare în viitor.

Relații profesionale

Fii empatic

Empatia și inteligența emoțională sunt cele mai importante abilități pe care trebuie să le dețină fiecare lider.

Fii empatic cu echipa ta și cu colegii tăi. Acesta este cel mai bun mod de a favoriza claritatea comunicării la orice nivel, precum și de a-i convinge pe ceilalți să vă urmeze îndrumările și recomandările.

Empatia s-ar putea să nu fie naturală pentru unii oameni la început. Este doar o chestiune de a vă pune în pantofii altcuiva și de a încerca să înțelegeți ce simte cealaltă persoană și de ce.

Stăpânește arta empatiei și vei avea o carieră minunată ca lider.

Fii parte a comunității tehnologice locale

Fii activ în comunitatea tehnologică locală participând în mod regulat la evenimente și întâlniri.

Fiecare oraș important găzduiește zilnic o gamă largă de evenimente legate de tehnologie, care sunt adesea urmate de sesiuni de networking. Întâlnești oameni noi, împărtășești idei și iei pas cu colegi noi și bătrâni. În timpul unor astfel de evenimente, s-ar putea să descoperi și noi talente de angajat.

În orașul nostru, organizăm o întâlnire numită „CTOs & co”. Comunitatea noastră numără mai mult de o mie de membri și reunește profesioniști în ecosistemul tehnologic local care se ajută reciproc schimbând idei și sfaturi. Acolo am împărtășit pentru prima dată experiența noastră în construirea unei echipe de succes de la început.

concluzii

Munca înseamnă să te distrezi făcând lucrurile de care te bucuri cel mai mult. Realizările de succes inspiră oamenii și creează obligațiuni. Oricât de agitate sunt zilele voastre, luați întotdeauna ceva timp pentru a sărbători repere importante cu echipa dvs.

Echipa de la Badi sărbătorește primul milion de utilizatori