在 Intercom 工作 6 年的 10 堂工程課程

已發表: 2024-02-03

經過令人難以置信的六年多,在三個不同的產品組中擔任過三個角色,我將離開 Intercom,尋找一個全新的機會。

正如我們過去廣泛報導的那樣,Intercom 擁有獨特的工程和產品文化 - 因此,我試圖反思這種文化並總結我在這裡的主要經驗教訓。 我希望這些見解對其他工程師和工程經理有價值。

如果您有興趣與優秀的人一起解決難題,請務必查看 Intercom 職業頁面,看看是否有適合您的職位 - 您不會後悔的。

1. 只押注未來就像做空現在一樣,會帶來機會成本

Intercom 是一家極具創新精神的公司,我們的高階領導層非常善於洞察哪些趨勢將在市場上掀起波瀾。 但只押注於這一點,只為未來而建設,就像做空現在一樣,因此會帶來機會成本。 在Intercom,我們可能在電子郵件和電話方面遇到了這個問題——多年來我們一直堅信這些管道正在消亡,只是年復一年地意識到它們根本沒有萎縮。 當你思考未來趨勢時,我發現這是一個有用的心理模型——如果你繼續錯誤,你會做空現在並願意支付溢價嗎?

2. 每個開發者的工具箱中都需要有人工智慧

當我們開發 Fin 時,我們的人工智慧團隊是使其發揮作用的基礎,我們作為一個產品團隊無法做到這一點。 然而,隨著時間的推移,我們的產品團隊直接將越來越多的優秀功能內建到該系統中。 最初的推動可能需要專業化,但盡快向您的組織公開人工智慧非常重要。 另一位工程師與我分享了這個軼事——早在 2008 年,公司就有整個團隊進行「行動設計」。 僅僅幾年後,它就成為每個人工作的一部分。

3. 單體架構可以很好地擴展,提供可靠的部署安全性以及對開發人員體驗和可觀察性的高槓桿作用

多年來,Intercom Rails 整體的擴展效果一直讓我感到驚訝。 出色的工程決策、保持簡單、我們唯一的開發人員經驗團隊擁有的巨大影響力以及堅持經過驗證的雲端技術幫助我們很好地實現了成長。

“Monolith 讓我們能夠快速、頻繁地交付產品”

Monolith 還使我們能夠非常快速、頻繁地交付(透過諸如快速回滾或快速 CI 之類的事情)。 相較之下,我們發現我們擁有的一些服務使用起來很痛苦——團隊必須透過維護自己的依賴項、部署管道或基礎設施更新來放慢速度。 我從未在專業的、大規模的微服務架構中工作過,但我迫不及待地想了解那裡的權衡。

4. 發貨頻率至關重要。 這是你的心跳

您可能不會將其運送給客戶,但總有一種方法可以安全地運送到生產環境。 如果找不到,請繼續尋找。 它可以鍛鍊肌肉,以便在必要時進一步加速,並防止你在文化上失去耐心。 展示進展情況,最好是在全公司範圍內定期進行演示。

5. 創造大量的系統模型和心智模型,並應用不同的抽象層

從不同角度看待相同問題確實可以擴展您的視野並建立一致性。 在 Intercom,我了解到最好的會議是在有人拿起記號筆時開始的。 系統模型,當場創建,在你說話時進行調整和演變——所有這些都確實有助於加深你對問題、其複雜性和依賴性的理解。

“共享心智模型對於快速行動非常有用”

把它們寫下來,在下次談話中展示它們,詢問別人的心智模型。 與您的合作夥伴和利害關係人一起完成這項工作可以加快您的協作速度並消除不一致。 共享心智模式對於快速行動非常有用。

6. 毫無藉口地擁有並了解您的數據

過去,我有很多藉口來理解產品數據,而沒有數據分析師的幫助來制定查詢和分析技術。 自從 ChatGPT 以來,我對自己就沒有憐憫之心。 在沒有專門分析師的情況下,我可以駕馭我的產品空間的品質和信心顯著提高,我希望每個人至少現在都可以做到這一點。

7. 資料管理不斷發展、痛苦,而且很難找到靈丹妙藥

我們擁有一個相對靈活、應用廣泛的數據平台。 這是反饋量最多的產品領域。 但要在這個領域產生影響是非常困難的。 市場正在快速發展,出現了 ETL、反向 ETL、點整合、CDP 等新方法。 您的客戶群將分佈在多種不同的「管理資料的最佳方式」中。

“要看到數據管理方面發生有意義的變化和改進,關鍵在於策略和一致性”

正因為如此,從來沒有一個問題──它總是一長串問題,在某些方面相似但又不同。 要看到資料管理方面發生有意義的變化和改進,關鍵在於策略和一致性。 到處進行小額投資很少能奏效。

8. 資料整合越深入,就會變得越複雜

我學會了永遠不要低估跨系統整合。 從遠處看,它們總是聽起來相對容易 - 如果這樣的話,將系統 A 中的物件與系統 B 中的相同物件同步。但是你越接近那裡,你發現的差異就越多。 細微差別、API 速率限制、競爭條件、重試和缺乏冪等性,以及更多角度。 細節決定成敗,您的客戶試圖透過這些整合實現的工作通常相似,但從根本上來說是獨一無二的。 整合越深入,就越複雜,不要低估它。

9. 建構易於採用的整合可以消除摩擦,但會減少 TAM。

最易於使用的整合是核心功能之上的抽象層(例如 API 或 iPaaS 區塊)。 它們消除了很多摩擦,通常開箱即用。 多年來我意識到,建立廣泛採用的整合非常困難,因為每家公司都有獨特的需求、設定和需要應對的內部 IT 混亂。

建立這些抽象使其更容易採用,但顯著減少了 TAM,與更複雜但更強大的版本相比,最終使用它們的客戶數量會減少。

10.人工智慧將從根本上改變我們建構整合的方式

然而,我相信對於確定性的大批量整合和不可預測的動態整合來說,它的表現會有所不同。 副駕駛體驗將大大加速使用者使用 Zapier 或 Workato 等 iPaaS 工具的速度,同時創建可重複、大容量、可預測的流程自動化。

“人工智慧代理將消除在人類觸發的活動中構建任何整合的需要”

這將加速它們的發展,同時保持這些整合當今的可靠性和最終的確定性行為。 人工智慧代理可以推理使用哪些工具並適應動態和不可預測的輸入,這將消除在人類觸發的活動(例如報告、資料探索或尋求幫助)中建立任何整合(API 功能之外)的需要。

終生的教訓

在 Intercom 的工作經驗將始終影響我在餘下的職業生涯中處理工程和管理的方式。 我想對所有與我一起工作的人表示衷心的感謝,多年來他們幫助我形成了這些教訓。 Intercom 是一家真正特別的公司。

如果您想跟上庫巴的寫作,您可以在這裡看到更多他對工程管理的思考。

職業 CTA - 工程(水平)