Intercom에서 6년간 10번의 엔지니어링 수업
게시 됨: 2024-02-036년이 넘는 세월 동안 세 가지 역할, 세 가지 다른 제품 그룹에서 저는 완전히 새로운 기회를 찾기 위해 Intercom을 떠났습니다.
과거에 광범위하게 글을 썼듯이 Intercom은 독특한 엔지니어링 및 제품 문화를 가지고 있습니다. 따라서 여기에 문화를 반영하고 제가 이곳에서 보낸 주요 교훈을 요약하려는 시도가 있습니다. 이러한 통찰력이 다른 엔지니어와 엔지니어링 관리자에게 귀중한 정보가 되기를 바랍니다.
그리고 훌륭한 사람들과 함께 어려운 문제를 해결하는 데 관심이 있다면 Intercom 채용 페이지를 확인하여 자신에게 맞는 역할이 있는지 확인하세요. 후회하지 않을 것입니다.
1. 미래에만 베팅하는 것은 현재를 매도하는 것과 같으며 기회비용이 발생합니다.
Intercom은 매우 혁신적인 회사이며, 우리의 고위 경영진은 어떤 트렌드가 시장에 파장을 가져올 것인지에 대한 뛰어난 통찰력을 갖고 있습니다. 그러나 오직 미래만을 위해 투자하는 것은 현재를 단축시키는 것과 같아서 기회비용을 수반합니다. Intercom에서 우리는 아마도 이메일과 전화에 그런 문제가 있었을 것입니다. 우리는 수년 동안 이러한 채널이 전혀 줄어들지 않는다는 것을 해마다 깨닫게 되면서 이러한 채널이 죽어가고 있다고 확신했습니다. 나는 이것이 미래의 추세에 대해 생각할 때 유용한 정신 모델이라고 생각합니다. 현재를 단축하고 계속해서 틀릴 경우 기꺼이 프리미엄을 지불할 의향이 있습니까?
2. 모든 개발자는 도구 상자에 AI가 있어야 합니다.
우리가 Fin 작업을 할 때 AI 팀은 이를 작동시키는 데 기본이 되었지만 제품 팀으로서는 이를 수행할 수 없었습니다. 그러나 시간이 지남에 따라 당사 제품 팀이 직접 해당 시스템에 점점 더 뛰어난 기능을 내장했습니다. 초기 추진에는 전문화가 필요할 수 있지만 가능한 한 빨리 AI를 조직에 노출시키는 것이 중요합니다. 또 다른 엔지니어는 이 일화를 저에게 공유했습니다. 2008년에 회사에는 "모바일 디자인"을 수행하는 전체 팀이 있었습니다. 불과 몇 년 만에 그것은 모두의 일이 되었습니다.
3. 모놀리스는 매우 잘 확장할 수 있으며 견고한 배포 안전성과 개발자 경험 및 관찰 가능성에 대한 높은 활용도를 제공합니다.
저는 Intercom Rails 모놀리스가 수년에 걸쳐 얼마나 잘 확장되었는지 계속해서 놀랐습니다. 탁월한 엔지니어링 결정, 단순함 유지, 우리의 유일한 개발자 경험 팀이 가지고 있는 엄청난 영향력, 입증된 클라우드 기술을 고수하는 것은 우리가 정말 잘 성장하는 데 도움이 되었습니다.
"모놀리스는 매우 빠르게, 자주 배송할 수 있는 능력을 유지하는 것입니다."
모놀리스는 또한 빠른 롤백이나 빠른 CI와 같은 노력을 기울여 매우 빠르게, 매우 자주 출시할 수 있는 능력을 유지하는 것이기도 합니다. 우리는 우리가 소유한 몇 가지 서비스에 비해 작업하기가 어렵다는 것을 발견했습니다. 팀은 자체 종속성, 배포 파이프라인 또는 인프라 업데이트를 유지 관리하여 속도를 늦춰야 했습니다. 저는 전문적인 대규모 마이크로서비스 아키텍처 분야에서 일한 적이 없지만 그곳의 장단점에 대해 배우고 싶습니다.
4. 배송 빈도가 중요합니다. 그것은 당신의 심장 박동입니다
고객에게 배송하지 못할 수도 있지만 안전한 방법으로 생산 현장으로 배송할 수 있는 방법은 항상 있습니다. 찾을 수 없다면 계속 찾아보세요. 필요할 때 더욱 가속할 수 있는 근육을 키우고 문화적으로 조바심을 잃지 않도록 해줍니다. 이상적으로는 정기적인 전사적 데모를 통해 진행 상황을 보여주세요.
5. 수많은 시스템 모델과 정신 모델을 생성하고 다양한 추상화 계층을 적용합니다.
같은 문제를 다른 각도에서 보면 시야가 넓어지고 정렬이 형성됩니다. 인터콤에서 나는 누군가가 마커를 집어들 때 최고의 회의가 시작된다는 것을 배웠습니다. 현장에서 구성되고 조정되고 진화된 시스템 모델은 사용자가 이야기하면서 문제, 복잡성 및 종속성에 대한 이해를 높이는 데 실제로 도움이 됩니다.
“공유 정신 모델은 빠르게 움직이는 데 매우 유용합니다.”
그것을 적어서 다음 대화에 보여주고, 다른 사람의 정신 모델을 요청하세요. 파트너 및 이해관계자와 함께 이 작업을 수행하면 협업 속도가 빨라지고 불일치가 제거됩니다. 공유 정신 모델은 빠르게 움직이는 데 매우 유용합니다.
6. 변명 없이 데이터를 소유하고 파악하세요.
과거에는 쿼리와 분석 기법을 작성하기 위한 데이터 분석가의 도움 없이 제품 데이터를 이해했다는 핑계가 많았습니다. 나는 ChatGPT 이후로 나 자신에게 자비를 베풀지 않았습니다. 전담 분석가 없이도 제품 공간을 탐색할 수 있는 품질과 자신감이 극적으로 높아졌으며 이제는 모든 사람이 최소한 약간의 기술적인 부분이라도 이를 수행할 수 있을 것으로 기대합니다.
7. 데이터 관리는 진화하고 있으며 고통스럽고 만병통치약을 찾기가 어렵습니다.
우리는 상대적으로 유연하고 널리 사용되는 데이터 플랫폼을 소유했습니다. 가장 많은 피드백을 받은 제품 분야였습니다. 하지만 이 공간에 영향을 미치는 것은 매우 어려웠습니다. 시장은 ETL, 역 ETL, 포인트 통합, CDP와 같은 새로운 접근 방식으로 빠르게 발전하고 있습니다. 귀하의 고객 기반은 다양한 "데이터를 관리하는 최선의 방법"으로 분산됩니다.
“데이터 관리에서 의미 있는 변화와 개선을 보려면 전략과 일관성이 중요합니다.”
그 때문에 단 하나의 문제도 없었습니다. 항상 어떤 형태는 유사하지만 다른 문제의 긴 목록이었습니다. 데이터 관리에서 의미 있는 변화와 개선을 보려면 전략과 일관성이 중요합니다. 여기저기서 작은 투자 샷이 거의 작동하지 않습니다.
8. 데이터 통합은 더 자세히 알아볼수록 더욱 복잡해지고 있습니다.
저는 시스템 간 통합을 결코 과소평가하지 않는 법을 배웠습니다. 멀리서 보면 항상 상대적으로 쉽게 들립니다. 그렇다면 시스템 A의 개체를 시스템 B의 동일한 개체와 동기화하는 것입니다. 그러나 가까이 다가갈수록 더 많은 차이점을 발견할 수 있습니다. 작은 뉘앙스, API 비율 제한, 경쟁 조건, 재시도 및 멱등성 부족 등 다양한 측면이 있습니다. 악마는 항상 세부 사항에 있으며 고객이 이러한 통합을 통해 달성하려는 작업은 유사하지만 근본적으로 독특합니다. 통합은 더 깊이 들어갈수록 매우 복잡하며 과소평가해서는 안 됩니다.
9. 채택하기 쉬운 통합을 구축하면 마찰이 제거되지만 TAM이 줄어듭니다.
가장 사용하기 쉬운 통합은 핵심 기능(예: API 또는 iPaaS 블록) 위에 추상화 계층을 추가하는 것입니다. 일반적으로 즉시 사용 가능한 방식으로 많은 마찰을 제거합니다. 수년에 걸쳐 제가 깨달은 것은 모든 회사가 고유한 요구 사항, 설정 및 탐색해야 할 내부 IT 혼란이 있기 때문에 광범위하게 채택 가능한 통합을 구축하는 것이 매우 어렵다는 것입니다.
이러한 추상화를 구축하면 채택이 더 쉬워지지만 TAM이 크게 줄어들어 더 복잡하지만 강력한 버전에 비해 이를 사용하는 고객 수가 줄어들 수 있습니다.
10. AI는 통합 구축 방식을 근본적으로 변화시킬 것입니다.
그러나 결정론적인 대용량 통합과 예측 불가능한 동적 통합의 경우에는 다르게 작용할 것이라고 생각합니다. Co-pilot 경험은 Zapier 또는 Workato와 같은 iPaaS 도구의 사용자를 대폭 가속화하는 동시에 반복 가능하고 예측 가능한 대용량 프로세스 자동화를 생성합니다.
"AI 에이전트는 인간이 유발하는 활동에서 통합을 구축할 필요성을 제거할 것입니다."
이는 오늘날의 신뢰성과 궁극적으로 이러한 통합의 결정론적 동작을 유지하면서 이를 가속화할 것입니다. 동적이며 예측할 수 없는 입력에 어떤 도구를 사용해야 할지 추론할 수 있는 AI 에이전트는 보고, 데이터 탐색 또는 도움 요청과 같이 인간이 유발하는 활동에서 통합(API 기능 외부)을 구축할 필요성을 제거합니다.
인생의 교훈
Intercom에서 일한 경험은 제가 남은 경력 동안 엔지니어링 및 관리에 접근하는 방식을 결정하는 데 항상 큰 영향을 미칠 것입니다. 저는 함께 일했고 수년 동안 이 레슨을 형성하는 데 도움을 준 모든 사람에게 큰 감사를 전하고 싶습니다. 인터콤은 정말 특별한 회사입니다.
Kuba의 글을 계속해서 읽고 싶다면 여기에서 엔지니어링 관리에 대한 그의 생각을 더 많이 볼 수 있습니다.