10 Ingenieurstunden aus 6 Jahren bei Intercom
Veröffentlicht: 2024-02-03Nach mehr als sechs unglaublichen Jahren in drei Rollen und in drei verschiedenen Produktgruppen verlasse ich Intercom, um mich einer völlig neuen Chance zu widmen.
Wie wir in der Vergangenheit ausführlich geschrieben haben, verfügt Intercom über eine einzigartige Technik- und Produktkultur – hier ist mein Versuch, über die Kultur nachzudenken und die wichtigsten Lehren aus meiner Zeit hier zusammenzufassen. Ich hoffe, dass sich diese Erkenntnisse für andere Ingenieure und technische Manager als wertvoll erweisen.
Und wenn Sie daran interessiert sind, mit großartigen Leuten an schwierigen Problemen zu arbeiten, schauen Sie sich unbedingt die Karriereseite von Intercom an, um zu sehen, ob eine Stelle für Sie dabei ist – Sie werden es nicht bereuen.
1. Nur auf die Zukunft zu wetten ist so, als würde man die Gegenwart leerverkaufen und bringt Opportunitätskosten mit sich
Intercom ist ein äußerst innovatives Unternehmen und unsere Führungsspitze verfügt über hervorragende Einblicke in die Trends, die auf dem Markt für Aufsehen sorgen werden. Aber nur darauf zu wetten, nur für die Zukunft zu bauen, ist so, als würde man die Gegenwart verkürzen und bringt daher Opportunitätskosten mit sich. Bei Intercom hatten wir möglicherweise dieses Problem mit E-Mails und Telefon – wir waren jahrelang davon überzeugt, dass diese Kanäle aussterben würden, nur um Jahr für Jahr festzustellen, dass sie überhaupt nicht kleiner wurden. Ich halte es für ein nützliches mentales Modell, wenn man über zukünftige Trends nachdenkt: Würden Sie die Gegenwart verkürzen und bereit sein, die Prämie zu zahlen, wenn Sie weiterhin falsch liegen?
2. Jeder Entwickler muss KI in seinem Werkzeugkasten haben
Als wir an Fin arbeiteten, war unser KI-Team von entscheidender Bedeutung dafür, dass es funktionierte, als Produktteam wären wir dazu nicht in der Lage gewesen. Im Laufe der Zeit wurden jedoch immer mehr hervorragende Funktionen direkt von unseren Produktteams in dieses System integriert. Der erste Vorstoß erfordert möglicherweise eine Spezialisierung, aber es ist wichtig, KI so schnell wie möglich in Ihrer Organisation verfügbar zu machen. Ein anderer Ingenieur erzählte mir diese Anekdote: Im Jahr 2008 gab es in Unternehmen ganze Teams, die sich mit „Mobile Design“ beschäftigten. Nur wenige Jahre später gehörte es zum Beruf aller.
3. Monolithen lassen sich sehr gut skalieren, bieten eine solide Bereitstellungssicherheit und einen hohen Einfluss auf die Erfahrung und Beobachtbarkeit der Entwickler
Ich bin immer wieder erstaunt, wie gut sich der Intercom Rails-Monolith im Laufe der Jahre entwickelt hat. Außergewöhnliche technische Entscheidungen, die Vereinfachung, die enorme Hebelwirkung unseres einzigen Developer-Experience-Teams und das Festhalten an bewährten Cloud-Technologien haben uns dabei geholfen, das Wachstum wirklich gut zu meistern.
„Monolith ist etwas, das unsere Fähigkeit, sehr oft und sehr schnell zu versenden, aufrechterhält.“
Monolith ist auch etwas, das unsere Fähigkeit, sehr oft sehr schnell zu versenden, aufrechterhält (indem es Dinge wie schnelle Rollbacks oder schnelles CI ins Schwitzen bringt). Im Vergleich dazu empfanden wir die Arbeit mit einigen Diensten, die wir besaßen, als schwierig – Teams mussten durch die Pflege ihrer eigenen Abhängigkeiten, Bereitstellungspipelines oder Infrastrukturaktualisierungen verlangsamt werden. Ich habe noch nie in der professionellen, hochskalierten Microservices-Architektur gearbeitet, kann es aber kaum erwarten, mehr über die dortigen Kompromisse zu erfahren.
4. Wie oft Sie versenden, ist entscheidend. Es ist dein Herzschlag
Möglicherweise versenden Sie es nicht an Kunden, aber es gibt immer eine Möglichkeit, es auf sichere Weise an die Produktion zu liefern. Wenn Sie es nicht finden können, suchen Sie weiter. Es baut Muskeln auf, um bei Bedarf noch mehr zu beschleunigen, und verhindert, dass Sie kulturell die Ungeduld verlieren. Präsentieren Sie den Fortschritt, idealerweise bei einer regelmäßigen unternehmensweiten Demo.
5. Erstellen Sie zahlreiche Systemmodelle und mentale Modelle und wenden Sie verschiedene Abstraktionsebenen an
Wenn Sie dasselbe Problem aus verschiedenen Blickwinkeln betrachten, erweitern Sie Ihren Horizont wirklich und fördern die Ausrichtung. Bei Intercom habe ich gelernt, dass das beste Meeting dann beginnt, wenn jemand den Marker in die Hand nimmt. Systemmodelle, vor Ort erstellt, angepasst, weiterentwickelt, während Sie reden – all das trägt wirklich dazu bei, Ihr Verständnis für das Problem, seine Komplexität und Abhängigkeiten zu schärfen.
„Gemeinsame mentale Modelle sind sehr nützlich, um schnell voranzukommen“
Schreiben Sie sie auf, zeigen Sie sie in Ihrem nächsten Gespräch, fragen Sie nach dem mentalen Modell einer anderen Person. Wenn Sie diese Arbeit gemeinsam mit Ihren Partnern und Stakeholdern durchführen, beschleunigen Sie die Zusammenarbeit und beseitigen Fehlausrichtungen. Gemeinsame mentale Modelle sind sehr nützlich, um schnell voranzukommen.
6. Besitzen und kennen Sie Ihre Daten, ohne Ausreden
Ich hatte in der Vergangenheit viele Ausreden dafür, dass ich Produktdaten ohne die Hilfe eines Datenanalysten bei der Erstellung von Abfragen und Analysetechniken verstand. Seit ChatGPT habe ich keine Gnade mehr mit mir selbst. Die Qualität und das Vertrauen, mit denen ich mich ohne einen speziellen Analysten in meinem Produktbereich zurechtfinden kann, sind dramatisch gestiegen, und ich erwarte, dass es jetzt jeder tun kann, der auch nur ein wenig technisch versiert ist.
7. Das Datenmanagement entwickelt sich weiter, ist mühsam und es ist schwierig, einen Allheilmittel zu finden
Wir verfügten über eine relativ flexible, weit verbreitete Datenplattform. Es war der Produktbereich mit den meisten Rückmeldungen. Aber es war sehr schwierig, in diesem Bereich etwas zu bewirken. Der Markt entwickelt sich schnell mit neuen Ansätzen wie ETL, Reverse-ETLs, Punktintegrationen und CDPs. Ihr Kundenstamm wird sich über mehrere verschiedene „beste Möglichkeiten zur Verwaltung Ihrer Daten“ verteilen.
„Um sinnvolle Veränderungen und Verbesserungen im Datenmanagement zu sehen, kommt es auf Strategie und Konsistenz an.“
Und deshalb gab es nie ein einziges Problem – es waren immer lange Listen von Problemen, die in einigen Formen ähnlich, aber unterschiedlich waren. Um sinnvolle Veränderungen und Verbesserungen im Datenmanagement zu sehen, kommt es auf Strategie und Konsistenz an. Kleine Investitionsschüsse hier und da funktionieren selten.
8. Datenintegrationen werden immer komplexer, je mehr man sich damit beschäftigt
Ich habe gelernt, systemübergreifende Integrationen niemals zu unterschätzen. Aus der Ferne klingen sie immer relativ einfach – wenn dies, dann das, synchronisieren Sie Objekte in System A mit denselben Objekten in System B. Aber je näher Sie dorthin kommen, desto mehr Unterschiede entdecken Sie. Kleine Nuancen, API-Ratenbegrenzungen, Rennbedingungen, Wiederholungsversuche und fehlende Idempotenz und viele weitere Aspekte. Der Teufel steckt immer im Detail, und die Aufgaben, die Ihre Kunden mit diesen Integrationen erreichen möchten, sind oft ähnlich, aber im Grunde einzigartig. Integrationen werden umso komplexer, je tiefer man einsteigt, und unterschätzen Sie sie nicht.
9. Der Aufbau einfach zu übernehmender Integrationen beseitigt Reibungsverluste, reduziert aber den TAM.
Die am einfachsten zu verwendenden Integrationen sind Abstraktionsebenen über Kernfunktionen (wie APIs oder iPaaS-Blöcken). Sie beseitigen viel Reibung und funktionieren normalerweise sofort. Im Laufe der Jahre wurde mir klar, dass es sehr schwierig ist, allgemein anwendbare Integrationen zu entwickeln, da jedes Unternehmen einzigartige Anforderungen, Setups und sein eigenes internes IT-Chaos hat, das es zu bewältigen gilt.
Der Aufbau dieser Abstraktionen erleichtert die Einführung, verringert jedoch den TAM erheblich, was dazu führen kann, dass weniger Kunden sie verwenden als bei einer komplexeren, aber leistungsfähigeren Version.
10. KI wird die Art und Weise, wie wir Integrationen erstellen, grundlegend verändern
Ich glaube jedoch, dass es bei deterministischen, hochvolumigen Integrationen und bei nicht vorhersehbaren, dynamischen Integrationen unterschiedlich ausfallen wird. Co-Pilot-Erlebnisse werden die Benutzer in iPaaS-Tools wie Zapier oder Workato erheblich beschleunigen und gleichzeitig eine wiederholbare, vorhersehbare Prozessautomatisierung mit hohem Volumen schaffen.
„KI-Agenten machen den Aufbau jeglicher Integration in von Menschen ausgelöste Aktivitäten überflüssig.“
Dies wird sie beschleunigen und gleichzeitig die heutige Zuverlässigkeit und letztendlich das deterministische Verhalten dieser Integrationen beibehalten. KI-Agenten, die darüber nachdenken können, welche Tools verwendet werden sollen, und sich an dynamische und unvorhersehbare Eingaben anpassen können, machen den Aufbau von Integrationen (außerhalb der API-Funktionen) in von Menschen ausgelöste Aktivitäten wie Berichterstellung, Datenexploration oder Bitten um Hilfe überflüssig.
Lektionen fürs Leben
Die Erfahrung, die ich bei Intercom gemacht habe, wird für den Rest meiner Karriere immer meine Herangehensweise an Technik und Management prägen. Ich möchte mich ganz herzlich bei allen bedanken, mit denen ich zusammengearbeitet habe und die mir im Laufe der Jahre dabei geholfen haben, diese Lektionen zu gestalten. Intercom ist ein wirklich besonderes Unternehmen.
Wenn Sie mit Kubas Texten auf dem Laufenden bleiben möchten, können Sie hier weitere seiner Überlegungen zum Ingenieurmanagement sehen.