Intercom での 6 年間のエンジニアリングに関する 10 のレッスン

公開: 2024-02-03

3 つの異なる製品グループで 3 つの役割を担った 6 年以上の信じられないほどの年月を経て、私はまったく新しい機会に向けて Intercom を辞めることになりました。

これまでに詳しく書いてきたように、Intercom には独自のエンジニアリングおよび製品文化があります。そこで、ここではその文化を振り返り、ここでの主な教訓を要約してみたいと思います。 これらの洞察が他のエンジニアやエンジニアリング マネージャーにとって有益であることを願っています。

優秀な人々と一緒に難しい問題に取り組むことに興味がある場合は、必ず Intercom の採用ページをチェックして、自分に合った役割があるかどうかを確認してください。後悔はしないでしょう。

1. 未来だけに賭けるのは現在をショートするようなものであり、機会費用がかかる

Intercom は非常に革新的な企業であり、当社の上級幹部は、どのようなトレンドが市場に波を起こすかについて優れた洞察力を持っています。 しかし、それだけに賭けて、将来だけを見据えて構築することは、現在を短絡するようなものであり、したがって機会費用が発生します。 Intercom では、おそらく電子メールと電話に関してそのような問題を抱えていました。私たちは何年もの間、これらのチャネルが死につつあると確信していましたが、まったく縮小していないことに年々気づきました。 これは、将来のトレンドを考えるときに役立つメンタル モデルだと思います。現在をショートして、今後も間違いが続いたら、喜んでプレミアムを支払いますか?

2. すべての開発者はツールボックスに AI を組み込む必要がある

私たちが Fin に取り組んでいたとき、私たちの AI チームはそれを機能させるための基礎であり、製品チームとしてはそれを行うことはできませんでした。 しかし、時間が経つにつれて、より多くの優れた機能が製品チームによって直接そのシステムに組み込まれるようになりました。 最初のプッシュには専門化が必要な場合がありますが、できるだけ早く AI を組織に公開することが重要です。 別のエンジニアがこの逸話を教えてくれました。2008 年当時、企業には「モバイル デザイン」を行うチーム全体が存在していました。 ほんの数年後には、それは全員の仕事の一部になりました。

3. モノリスは非常に拡張性が高く、確実な展開の安全性と、開発者のエクスペリエンスと可観測性に対する高い活用力を提供します。

私は、Intercom Rails モノリスが長年にわたっていかにうまくスケールしてきたかに驚き続けています。 卓越したエンジニアリング上の意思決定、シンプルさの維持、当社の唯一の開発経験を持つチームが持つ大きな活用、実績のあるクラウド テクノロジーへのこだわりにより、当社は成長をうまく進めることができました。

「モノリスは、非常に迅速かつ頻繁に出荷する能力を維持するものです。」

モノリスは、(高速ロールバックや迅速な CI などの労力を費やすことによって) 非常に高速かつ頻繁に出荷する能力を維持するものでもあります。 それに比べて、私たちが所有していたいくつかのサービスは、作業が困難であることがわかりました。チームは、独自の依存関係、デプロイメント パイプライン、またはインフラストラクチャの更新を維持することで速度を低下させる必要がありました。 私は専門的な大規模なマイクロサービス アーキテクチャで働いたことはありませんが、そこでのトレードオフについて学ぶのが待ちきれません。

4. 発送の頻度は重要です。 それはあなたの鼓動です

顧客には出荷できないかもしれませんが、安全な方法で本番環境に出荷する方法は常にあります。 見つからない場合は、探し続けてください。 必要に応じてさらに加速するための筋肉を鍛え、文化的に焦りを失わないようにしてくれます。 できれば定期的な全社デモで進捗状況を披露してください。

5. 多数のシステム モデルとメンタル モデルを作成し、さまざまな抽象化レイヤーを適用する

同じ問題をさまざまな角度から見ると、本当に視野が広がり、認識が高まります。 Intercom では、最良の会議は誰かがマーカーを拾ったときに始まることを学びました。 システム モデルは、その場で作成され、話しながら適応され、進化します。これらすべては、問題、その複雑さ、依存関係についての理解を深めるのに非常に役立ちます。

「共有メンタルモデルは迅速に行動するために非常に役立ちます。」

それらを書き留めて、次の会話で示し、他の人のメンタルモデルを尋ねてください。 パートナーや関係者と協力してこの作業を行うと、コラボレーションの速度が向上し、不整合が解消されます。 共有メンタル モデルは、迅速に行動するために非常に役立ちます。

6. 言い訳をせずに自分のデータを所有し、把握する

私はこれまで、クエリや分析テクニックを作成するデータ アナリストの助けなしに製品データを理解したことについて、たくさんの言い訳をしていました。 ChatGPT以来、私は自分自身に対して容赦がありません。 専任のアナリストなしで製品分野をナビゲートできる品質と自信は劇的に向上しており、少なくとも多少は技術的な知識がある人なら誰でもそれができるようになったと期待しています。

7. データ管理は進化しており、困難を伴い、特効薬を見つけるのは困難です

私たちは、比較的柔軟で広く使用されているデータ プラットフォームを所有していました。 これは最も多くのフィードバックが寄せられた製品分野でした。 しかし、この分野でインパクトを与えるのは非常に困難でした。 市場は、ETL、リバースETL、ポイント統合、CDPなどの新しいアプローチにより急速に進化しています。 顧客ベースは、複数の異なる「データを管理する最適な方法」に分散されます。

「データ管理において有意義な変化と改善を実現するには、戦略と一貫性がすべてです。」

そのため、問題が 1 つも存在しませんでした。常に問題の長いリストがあり、いくつかの形は似ていますが、異なります。 データ管理において有意義な変化と改善を実現するには、戦略と一貫性がすべてです。 あちこちで少額の投資を行っても、うまくいくことはほとんどありません。

8. データ統合は詳しく調べれば調べるほど複雑になります

私は、システム間の統合を決して過小評価してはいけないことを学びました。 遠くから見ると、システム A のオブジェクトをシステム B の同じオブジェクトと同期するだけなので、比較的簡単に見えます。しかし、そこに近づくほど、より多くの違いが発見されます。 小さなニュアンス、API レート制限、競合状態、再試行と冪等性の欠如など、さまざまな角度から見てみましょう。 悪魔は常に細部に宿っており、顧客がこれらの統合によって達成しようとしている仕事は、多くの場合似ていますが、基本的には独特です。 統合は深くなるほど非常に複雑になるため、過小評価しないでください。

9. 導入しやすい統合を構築すると摩擦はなくなりますが、TAM は減少します。

最も使いやすい統合は、コア機能 (API や iPaaS ブロックなど) の上にある抽象化のレイヤーです。 これらは多くの摩擦を取り除き、通常はそのまま使用できます。 長年にわたって私が気づいたのは、どの企業にも独自のニーズ、設定、そして対処すべき社内の IT 混乱があるため、広く採用可能な統合を構築するのは非常に難しいということです。

これらの抽象化を構築すると、導入が容易になりますが、TAM が大幅に削減されるため、より複雑ではあるが強力なバージョンと比較して、それらを使用する顧客の数が減少する可能性があります。

10. AI は統合の構築方法を根本的に変えるでしょう

ただし、決定論的で大容量の統合と、予測不可能で動的な統合では、展開が異なると私は考えています。 コパイロット エクスペリエンスは、Zapier や Workato などの iPaaS ツールのユーザーを劇的に高速化し、再現可能で大量の予測可能なプロセス自動化を実現します。

「AI エージェントにより、人間が引き起こすアクティビティに統合を構築する必要がなくなります。」

これにより、これらの統合の信頼性と最終的に決定的な動作を維持しながら、統合が高速化されます。 どのツールを使用するかを推論し、動的で予測不可能な入力に適応できる AI エージェントは、レポート、データ探索、助けを求めるなど、人がトリガーするアクティビティにおいて (API 機能以外の) 統合を構築する必要がなくなります。

人生の教訓

Intercom で働いた経験は、私の残りのキャリアにおけるエンジニアリングとマネジメントへのアプローチ方法を常に形作ることになります。 一緒に働き、何年にもわたって私がこれらの教訓を形成するのを助けてくれたすべての人に多大な感謝を言いたいです。 インターコムは本当に特別な会社です。

Kuba の執筆内容を追い続けたい場合は、エンジニアリング管理に関する彼の考察をここでさらに見ることができます。

キャリア CTA - エンジニアリング (横型)