Von null auf eine Million Benutzer: So können Sie schnell ein erfolgreiches Tech-Team aufbauen

Das Badi-Team in unserem Hauptsitz in Barcelona, ​​Spanien

Badi ist ein wachsendes Startup mit einer klaren Mission: Verbesserung des urbanen Lebens durch die Verbindung von Menschen mit gemeinsamen Räumen. Die Erfolge unseres Unternehmens führten bisher zu einer VC-Finanzierung in Höhe von 45 Mio. USD und zur Nominierung von WIRED unter den heißesten Startups in Europa für zwei Jahre in Folge.

Als Chief Technology Officer bei Badi lag mein Hauptaugenmerk auf der Entwicklung der Technologie und des Teams, das sie von Grund auf aufgebaut hat.

In den letzten 2,5 Jahren haben wir unsere technischen Dienstleistungen von 0 auf 1 Million Nutzer erweitert. Wir haben monatlich Hunderte Millionen Transaktionen mit einer durchschnittlichen Antwortzeit von unter 100 ms und einer konstanten Verfügbarkeit von 99,9% ausgeführt.

Möglich wurde dies durch eine datengetriebene Technologiestrategie und eine auf Vertrauen und Eigenverantwortung basierende Ingenieurkultur, die sich auch in unserer Ingenieurfluktuation widerspiegelt, die in einem sehr wettbewerbsorientierten Tech-Ökosystem bisher gleich Null war.

Wie können Sie als Technologieführer in einem schnelllebigen Umfeld ein Unternehmen von Grund auf auf Millionen von Anwendern skalieren?

Hier einige Tipps für Technologieführer, die in einer Umgebung arbeiten, in der Wachstum, Qualität und Ausführungsgeschwindigkeit der Turbolader die Hauptanforderungen sind.

Technisches Talent

Mieten, mieten, mieten!

Arbeiten Sie nur dann alleine, wenn Sie Ihr erstes MVP erstellen. Danach müssen Sie mit der Einstellung beginnen. Auf andere Weise könnten Sie sich in einer Endlosschleife befinden, in der Sie nie genug Zeit haben, um zu mieten, weil Sie programmieren.

Ihr Team ist Ihr bestes Kapital. Talentsuche kann in sehr frühen Phasen eines Unternehmens bis zu 50% Ihrer Zeit in Anspruch nehmen (ja, Sie lesen gut).

Wenn Ihr anfängliches Budget es Ihnen nicht erlaubt, erfahrene Ingenieure zu gewinnen, holen Sie sich Junior-Entwickler. Meine ersten Mitarbeiter bei Badi waren Nachwuchsentwickler, die gerade von einem Coding-Bootcamp gekommen waren, und ich hätte nicht zufriedener damit sein können! Nachwuchsingenieure sind in der Regel sehr motiviert und begeistert von ihren ersten Jobs. Sie können sich nicht vorstellen, was sie mit genau der richtigen Anleitung erreichen können.

Vertrauen & delegieren

Du sollst nicht Mikromanagement betreiben. Das ist mein Motto. Überwachen Sie, aber versuchen Sie nicht, alles zu kontrollieren. Es ist kontraproduktiv und Sie haben keine Zeit dafür.

Zögern Sie nicht, Ihrem Team Verantwortung und Verantwortung zu übertragen. Wenn sie versagen, lernen sie aus ihren Fehlern.

Die meisten Ingenieure sind natürlich geneigt, sich neuen Herausforderungen zu stellen und komplexe Probleme zu lösen. Sie werden überrascht sein, was sie erreichen können, wenn Sie ihnen Ihr volles Vertrauen schenken. Auf diese Weise fördern Sie außerdem das berufliche Wachstum Ihres Teams, was eines Ihrer Hauptziele als Technologieführer ist. Ihr Team wird das bald bemerken und wird Ihnen dankbar sein.

Hungrig bleiben

Die Arbeit in der Technik erfordert eine ständige Weiterbildung. Ihr Team benötigt Zugang zu Lernressourcen sowie Ihre Unterstützung und Ermutigung für die Teilnahme an relevanten Veranstaltungen.

Dies ist nicht optional. Stellen Sie sicher, dass Sie Zeit und Budget für technische Schulungen bereitstellen. Wenn das Unternehmen wächst, legen Sie für jeden Ihrer Ingenieure ein Budget für Schulungen und Geschäftsreisen fest.

Tech-Events sind auch der perfekte Ort, um neue Talente zu vernetzen und ausfindig zu machen!

Tech Stack und Infrastruktur

Denken Sie im Voraus

Ein Technologieführer versteht die Geschäftsstrategie vollständig und setzt sie in technische Spezifikationen und Anforderungen auf hohem Niveau um, die vom Team ausgeführt werden können. Diese Fähigkeit erfordert vorausschauendes Denken, wobei Skalierbarkeit der Schlüssel ist.

In den ersten Jahren eines Unternehmens ist es völlig normal, die Roadmap einige Male im Jahr zu ändern und die Ziele zu optimieren. Ihr Team mag es vielleicht nicht, aber Sie müssen dafür bereit sein.

Ein Ansatz zur Bewältigung dieser Herausforderung besteht darin, seit dem ersten Tag Zeit in die Schaffung einer soliden technischen Infrastruktur zu investieren, die das Unternehmenswachstum unterstützen kann. Dies kann heute erreicht werden, indem die Bemühungen auf den Aufbau einer modularen Cloud-basierten Architektur unter Verwendung von Anbietern wie AWS und GCP konzentriert werden. Auf diese Weise werden Sie von Anfang an:

  • Entwickeln Sie Ihre Services nach einem verteilten Systemparadigma im Gegensatz zu Monoinstanz-Softwaremonolithen. Dies erleichtert das Erkennen von Engpässen und das Implementieren von Lösungen bei der Skalierung.
  • in der Lage sein, vorübergehend Hardware auf das Problem zu werfen. Vor ein paar Jahren hatten wir bei Badi unsere erste millionenschwere TV-Werbekampagne. Durch die Erhöhung der Anzahl der Instanzen, auf denen unsere Kern-API ausgeführt wird, und unseres DB-Flavors haben wir sichergestellt, dass wir mit Spitzenwerten bei hohen Benutzern erfolgreich umgehen können. Dies war alles andere als eine ideale Situation aus rein technischer Sicht, aber in Bezug auf die Geschäftsstrategie völlig in Ordnung.

Entwerfen Sie Ihre Systeme unter Berücksichtigung der Skalierbarkeit.

Überwachen Sie Ihre Dienste

Es gibt einen Unterschied zwischen Zufall und Glück. Sie können den Zufall nicht kontrollieren (machen Sie sich also keine Sorgen), aber Sie können Ihr Glück gestalten.

In den letzten 2,5 Jahren hatten wir bei Badi eine konstante durchschnittliche Verfügbarkeit von 99,9%. Nicht schlecht für ein Startup! Der Grund für diesen Erfolg war die von uns geförderte datenbasierte Strategie, die aus einer fortschrittlichen Überwachung aller Dienste und einer kontinuierlichen Analyse ihres Verhaltens über die Zeit besteht.

Mit Produkten wie NewRelic, Dynatrace oder Datadog können Sie quantitative Daten zur Leistung Ihrer Systeme erfassen. Sie können dann Ihre Services optimieren und mögliche Engpässe vorhersagen. Mithilfe von NewRelic konnten wir zum Beispiel ein wichtiges Speicherverlust identifizieren, das sich auf unsere API auswirkte, und es beheben, bevor es zu einem echten Problem wurde.

Die Überwachung Ihrer Dienste und Infrastruktur kann teuer sein. Eine Investition mit hoher Rendite sollte jedoch Teil Ihrer Technologiestrategie sein. Schließlich ist es unsere Aufgabe, Probleme zu lösen, bevor sie tatsächlich auftreten.

Je einfacher, desto besser

Wie oft waren wir versucht, die neueste Programmiersprache, das neueste Framework oder die neueste Datenbank-Engine zu testen, um unser neues Produkt auszuliefern? Als Technologieführer ist es Ihre Pflicht, einen Schritt zurückzutreten und Ihre natürliche Erregung von den tatsächlichen Geschäftsanforderungen zu trennen.

Versuchen Sie nicht, ein Raumschiff zu bauen, wenn Sie wirklich ein Fahrrad brauchen!

Während Vorausdenken für jeden Technologieführer eine notwendige Fähigkeit ist, vermeidet man Überarchitekturen.

Meine Lieblingswahl? Versenden Sie die einfachste mögliche Lösung und bauen Sie später darauf auf.

Ein Kollege hat mich einmal gefragt, warum ich eine MySQL-Datenbank für die Kerndienste bei Badi anstelle eines „moderneren“ nicht relationalen Gegenstücks gewählt habe. Ich habe mich einfach für die optimale Lösung entschieden.

  • Unsere Hauptgeschäftslogik umfasste Benutzer, Räume und Bilder. Ein Benutzer kann N Räume und ein Raum N Bilder haben ... Es gibt nichts Beziehungsreicheres als das;
  • MySQL gibt es schon seit über 20 Jahren. Es ist eine solide Wahl und bietet eine hervorragende Leistung mit geringen Optimierungsanforderungen von bis zu Hunderten Millionen Datensätzen.
  • Darüber hinaus erfordern die meisten Analyse- und Datenvisualisierungstools SQL-basierte Abfragen. Eine relationale Datenbank erleichtert Data Scientists und BI-Abteilungen in frühen Phasen eines Unternehmens das Leben (schließlich bauen Sie ihnen ein Data Warehouse auf).

Wir sollten immer die neuesten Technologien ausprobieren. Lassen Sie uns diese jedoch nicht auf Produktionsebene anwenden, nur weil sie schick sind. Stellen Sie sicher, dass Sie einen realen Business Case haben, von dem Sie tatsächlich profitieren können.

Technische Schulden

Die erste Regel für die technische Verschuldung lautet… Sie sprechen von der technischen Verschuldung.

Um eine solide Technologie in einem Unternehmen aufzubauen, ist das richtige Gleichgewicht zwischen Qualität und Liefergeschwindigkeit erforderlich. Dies impliziert oft einen Kompromiss, und das ist keine Schande.

Es ist in Ordnung, technische Schulden bis zu einem gewissen Grad zu akkumulieren, solange Sie und Ihr Team sich dessen voll bewusst sind und kurz- und mittelfristig einen konkreten Verbesserungsplan haben.

In einigen Fällen kann die bewusste Ansammlung von technischen Schulden sogar Teil Ihrer Geschäftsstrategie sein.

Eine der ersten technischen Herausforderungen bei Badi war beispielsweise die Schaffung eines internen Chat-Systems, mit dem Benutzer in Echtzeit kommunizieren können. Dies war eines der Kernmerkmale unseres Produkts, das in direktem Zusammenhang mit den wichtigsten Kennzahlen des Unternehmens stand. Wir hatten wenig Zeit (weniger als 1 Monat!) Und Ressourcen (2 Backend-Entwickler). Nach einigen ersten Überlegungen haben wir uns für Actioncable entschieden, die sofort einsatzbereite Websocket-Integration mit dem Framework für unsere API (RoR).

Dieser Ansatz würde einige zukünftige Einschränkungen in Bezug auf Parallelität und Latenz aufweisen. Wir alle waren uns dessen bewusst, und genau deshalb hatten wir bereits den Plan, irgendwann einen hochmodernen Mikroservice für unseren Chat zu entwickeln, möglicherweise mithilfe von Node.js oder Go.

Mit Actioncable konnten wir unser erstes webbasiertes Chat-System in nur zwei Wochen ausliefern. Es war nicht die beste Chat-Implementierung, die wir hätten erstellen können. es war jedoch vorerst schnell und einigermaßen gut und trug direkt zum Abschluss einer 10-Millionen-Dollar-Serie-A-Finanzierungsrunde bei. Nicht schlecht!

Ein Technologieführer muss immer in der Lage sein, die richtige Balance zwischen Skalierbarkeit der Lösungen und Geschäftsstrategie zu finden.

Budget

Bitten Sie um mehr $$$

Unabhängig davon, wie intensiv Sie mit Ihrer Finanzabteilung zusammenarbeiten, um ein Budget zu planen, stellen Sie in Unternehmen in einem frühen Stadium (insbesondere im ersten Jahr) möglicherweise in der Mitte des Quartals fest, dass Ihr Budget knapp ist.

Wenn Sie genau wissen, was Sie brauchen, um schneller zu wachsen (z. B. ein neuer Service, zusätzliches Talent usw.) und Ihr einziges Hindernis der Mangel an Budget ist, überlegen Sie nicht zweimal und fordern Sie einfach mehr Geld an.

Die zusätzlichen Kosten werden Ihnen nicht immer gewährt, aber Sie werden zumindest einen zukünftigen Bedarf schaffen.

Bei Badi wurde mir schnell klar, dass wir einen externen QS-Service benötigen, um Beta-Tests für unsere mobilen Apps zu erstellen. Früher saß unser Team zusammen und testete unser Produkt jeden Freitag für ein paar Stunden. Dies war hauptsächlich aufgrund der begrenzten Zeit und der geringen Anzahl von Geräten, die wir besaßen, nicht effizient.

Der Wechsel zu einem externen QS-Service war das Richtige, um die Produktivität des Teams zu steigern und die Produktqualität insgesamt zu verbessern. Dutzende echte Benutzer testeten unsere Apps an Wochenenden mithilfe eines heterogenen Gerätepools und meldeten Fehler systematisch über unsere Fehlerverfolgungssoftware.

Für ein Unternehmen mit einer Gesamtfinanzierung von 1 Million US-Dollar war dieser QS-Service ziemlich teuer. Sie können sich wahrscheinlich den Ausdruck unseres CFO vorstellen, als ich unerwartet nach zusätzlichen 50 bis 100.000 gefragt habe. Ich habe das Geld zuerst nicht bekommen. Wir konnten sie jedoch einige Monate später sichern.

Die Ergebnisse dieser neuen Investition wurden bald sichtbar und seitdem waren die Kosten für Tests und Qualitätssicherung für alle selbstverständlich, ohne dass Fragen gestellt wurden.

Ihre Nicht-Tech-Kollegen werden Ihre Gedanken nicht lesen. Wenn Sie etwas brauchen, fragen Sie danach.

Fragen Sie nach Rabatten

Einige Dienste von Drittanbietern und SaaS bieten Startup-Preispläne an, andere nicht. Wenden Sie sich in jedem Fall an Vertriebsmitarbeiter und fordern Sie Rabatte an.

Immer wenn ich der Meinung bin, dass die Preise für einen neuen Service, den ich übernehmen möchte, zu hoch sind, fordere ich einen kurzen Anruf an, in dem ich mich und mein Unternehmen vorstelle. Ich erkläre dann, wie gerne ich ihr Produkt verwenden würde und warum. Dann bitte ich ausdrücklich um eventuelle Nachlässe.

Sie wären überrascht, wie viele Anbieter bereit sind, zumindest für einige Zeit einen Rabatt, kostenlose Gutschriften oder nicht standardmäßige / versteckte Preispläne anzubieten. Nach meiner Erfahrung waren 8 von 10 Anbietern mehr als bereit, ihren Preis zu senken, wenn sie gefragt wurden. In einigen Fällen konnten wir im ersten Jahr bis zu 75% der ursprünglichen Kosten einsparen.

Schließlich ist es für beide Seiten eine Win-Win-Situation: Wenn Ihr Unternehmen wächst, werden auch die von Ihnen genutzten Dienste wachsen.

Es ist keine Schande, nach Rabatten oder Gratis-Credits zu fragen. Dies wird auch Ihrer Finanzabteilung beweisen, dass Sie tatsächlich das Geld des Unternehmens sparen möchten, wodurch Ihre Glaubwürdigkeit bei der Anforderung eines höheren Budgets in Zukunft weiter gestärkt wird.

Berufliche Beziehungen

Sei einfühlsam

Einfühlungsvermögen und emotionale Intelligenz sind die wichtigsten Fähigkeiten, die jeder Leiter besitzen sollte.

Seien Sie einfühlsam mit Ihrem Team und Ihren Kollegen. Dies ist der beste Weg, um auf jeder Ebene Klarheit in der Kommunikation zu schaffen und andere davon zu überzeugen, Ihren Anweisungen und Empfehlungen zu folgen.

Empathie mag für manche Menschen zunächst nicht selbstverständlich sein. Es geht nur darum, sich in die Lage eines anderen zu versetzen und zu verstehen, was der andere empfindet und warum.

Meistern Sie die Kunst des Einfühlungsvermögens und Sie werden eine großartige Karriere als Führungskraft haben.

Sei ein Teil der lokalen Tech-Community

Sei in der lokalen Tech-Community aktiv, indem du regelmäßig an Events und Meetups teilnimmst.

In jeder größeren Stadt finden täglich zahlreiche technische Veranstaltungen statt, auf die häufig Networking-Sitzungen folgen. Sie lernen neue Leute kennen, tauschen Ideen aus und treffen neue und alte Kollegen. Bei solchen Veranstaltungen können Sie auch neue Talente entdecken, die Sie einstellen können.

In unserer Stadt organisieren wir ein Treffen mit dem Namen „CTOs & Co“. Unsere Community zählt mehr als 1 Tausend Mitglieder und bringt Fachleute des lokalen Technologie-Ökosystems zusammen, die sich gegenseitig helfen, indem sie Ideen und Tipps austauschen. Dort teilte ich zum ersten Mal unsere Erfahrung mit, ein erfolgreiches Tech-Team von Grund auf aufzubauen.

Schlussfolgerungen

Bei der Arbeit geht es darum, Spaß an den Dingen zu haben, die dir am besten gefallen. Erfolgreiche Erfolge begeistern Menschen und schaffen Bindungen. Egal wie hektisch Ihre Tage sind, nehmen Sie sich immer etwas Zeit, um wichtige Meilensteine ​​mit Ihrem Team zu feiern.

Das Team von Badi feiert die ersten Millionen Nutzer