10 pelajaran teknik dari 6 tahun di Intercom
Diterbitkan: 2024-02-03Setelah lebih dari enam tahun yang luar biasa, dalam tiga peran, dalam tiga grup produk berbeda, saya meninggalkan Intercom untuk mendapatkan peluang yang benar-benar baru.
Seperti yang telah banyak kami tulis di masa lalu, Intercom memiliki teknik dan budaya produk yang unik – jadi inilah upaya saya untuk merefleksikan budaya tersebut dan merangkum pembelajaran utama dari pengalaman saya di sini. Saya berharap wawasan ini bermanfaat bagi para insinyur dan manajer teknik lainnya.
Dan jika Anda tertarik untuk mengerjakan masalah sulit dengan orang-orang hebat, pastikan untuk memeriksa halaman karier Interkom untuk mengetahui apakah ada peran untuk Anda – Anda tidak akan menyesalinya.
1. Bertaruh hanya pada masa depan adalah seperti menyingkat masa kini dan menimbulkan biaya peluang
Intercom adalah perusahaan yang sangat inovatif dan kepemimpinan senior kami sangat baik dalam memiliki wawasan luas tentang tren apa yang akan membuat gelombang di pasar. Namun bertaruh hanya pada hal tersebut, membangun masa depan saja, adalah seperti mempersingkat masa kini dan dengan demikian menimbulkan biaya peluang. Di Intercom, kami mungkin mempunyai masalah dengan email dan telepon – kami yakin selama bertahun-tahun bahwa saluran-saluran ini mati hanya untuk menyadari dari tahun ke tahun bahwa saluran-saluran tersebut tidak menyusut sama sekali. Saya menganggapnya sebagai model mental yang berguna ketika Anda memikirkan tren masa depan – apakah Anda akan mempersingkat masa kini dan bersedia membayar mahal jika Anda terus melakukan kesalahan?
2. Setiap pengembang harus memiliki AI di kotak peralatannya
Saat kami mengerjakan Fin, tim AI kami sangat penting dalam mewujudkannya, kami tidak akan mampu melakukannya sebagai tim produk. Namun, seiring berjalannya waktu, semakin banyak fitur unggulan yang dibangun langsung ke dalam sistem tersebut oleh tim produk kami. Dorongan awal mungkin memerlukan spesialisasi, namun penting untuk memperkenalkan AI ke organisasi Anda sesegera mungkin. Insinyur lain membagikan anekdot ini kepada saya – pada tahun 2008, perusahaan memiliki seluruh tim yang melakukan “desain seluler”. Hanya beberapa tahun kemudian itu menjadi bagian dari pekerjaan semua orang.
3. Monolit dapat diskalakan dengan sangat baik, memberikan keamanan penerapan yang solid dan pengaruh yang tinggi untuk pengalaman dan kemampuan observasi pengembang
Saya terus takjub dengan seberapa baik skala monolit Intercom Rails selama bertahun-tahun. Keputusan teknis yang luar biasa, menjaganya tetap sederhana, pengaruh besar yang dimiliki oleh satu-satunya tim berpengalaman pengembang kami, dan tetap berpegang pada teknologi cloud yang telah terbukti membantu kami menavigasi pertumbuhan dengan sangat baik.
“Monolit adalah sesuatu yang menjaga kemampuan kami untuk mengirim dengan sangat cepat, sangat sering”
Monolit juga merupakan sesuatu yang menjaga kemampuan kita untuk mengirim dengan sangat cepat, sangat sering (dengan melakukan hal-hal seperti rollback cepat atau CI cepat). Kami menemukan bahwa beberapa layanan yang kami miliki sulit untuk digunakan – tim harus diperlambat dengan mempertahankan ketergantungan mereka sendiri, jalur penerapan, atau pembaruan infrastruktur. Saya tidak pernah bekerja di bidang arsitektur layanan mikro profesional dan berskala tinggi, tetapi saya tidak sabar untuk mempelajari manfaatnya di sana.
4. Seberapa sering Anda mengirim sangatlah penting. Itu detak jantungmu
Anda mungkin tidak mengirimkannya ke pelanggan, namun selalu ada cara untuk mengirimkannya ke produksi dengan cara yang aman. Jika Anda tidak dapat menemukannya, teruslah mencari. Ini membangun otot untuk berakselerasi lebih jauh lagi bila diperlukan, dan mencegah Anda kehilangan ketidaksabaran secara budaya. Pamerkan kemajuannya, idealnya melalui demo reguler di seluruh perusahaan.
5. Buat banyak model sistem dan model mental, dan terapkan lapisan abstraksi yang berbeda
Melihat masalah yang sama dari sudut yang berbeda benar-benar memperluas wawasan Anda dan membangun keselarasan. Di Intercom saya belajar bahwa pertemuan terbaik dimulai ketika seseorang mengambil penandanya. Model sistem, yang dibuat saat itu juga, diadaptasi, dikembangkan seiring Anda berbicara – semua ini sangat membantu mempertajam pemahaman Anda tentang masalah, kompleksitas dan ketergantungannya.
“Model mental bersama sangat berguna untuk bergerak cepat”
Tuliskan, tunjukkan pada percakapan Anda berikutnya, tanyakan model mental orang lain. Melakukan pekerjaan ini bersama dengan mitra dan pemangku kepentingan akan mempercepat kecepatan kolaborasi Anda dan menghilangkan ketidakselarasan. Model mental bersama sangat berguna untuk bergerak cepat.
6. Miliki dan ketahui data Anda, tanpa alasan
Saya punya banyak alasan di masa lalu untuk pemahaman saya tentang data produk tanpa bantuan analis data untuk menyusun pertanyaan dan teknik analisis. Saya tidak punya belas kasihan pada diri saya sendiri sejak ChatGPT. Kualitas dan kepercayaan diri saya dalam menavigasi ruang produk saya tanpa analis khusus telah meningkat secara dramatis dan saya berharap semua orang setidaknya yang sedikit ahli teknis dapat melakukannya sekarang.
7. Manajemen data terus berkembang, sulit, dan sulit menemukan solusi terbaik
Kami memiliki platform data yang relatif fleksibel dan banyak digunakan. Itu adalah area produk dengan jumlah umpan balik terbesar. Namun memberikan dampak di ruang ini sangatlah sulit. Pasar berkembang pesat, dengan pendekatan baru seperti ETL, reverse-ETL, integrasi titik, CDP. Basis pelanggan Anda akan tersebar di berbagai “cara terbaik mengelola data Anda”.
“Untuk melihat perubahan dan peningkatan yang berarti dalam pengelolaan data, yang terpenting adalah strategi dan konsistensi”
Oleh karena itu, tidak pernah ada satu masalah pun – yang ada selalu merupakan daftar masalah yang panjang, serupa dalam beberapa bentuk namun berbeda. Untuk melihat perubahan dan peningkatan yang berarti dalam pengelolaan data, yang terpenting adalah strategi dan konsistensi. Tembakan investasi kecil di sana-sini jarang berhasil.
8. Integrasi data menjadi semakin kompleks jika Anda semakin mendalaminya
Saya belajar untuk tidak pernah meremehkan integrasi lintas sistem. Dari kejauhan, hal tersebut selalu terdengar relatif mudah – jika demikian, sinkronkan objek di sistem A dengan objek yang sama di sistem B. Namun semakin dekat Anda ke sana, semakin banyak perbedaan yang Anda temukan. Nuansa kecil, batas kecepatan API, kondisi balapan, percobaan ulang dan kurangnya idempotensi, dan banyak lagi sudut pandang lainnya. Masalah selalu ada dalam detailnya, dan pekerjaan yang ingin dicapai pelanggan Anda dengan integrasi ini sering kali serupa tetapi pada dasarnya unik. Integrasi menjadi sangat kompleks jika Anda semakin mendalaminya dan jangan meremehkannya.
9. Membangun integrasi yang mudah diadopsi berarti menghilangkan gesekan, namun mengurangi TAM.
Integrasi yang paling mudah digunakan adalah lapisan abstraksi di atas kemampuan inti (seperti blok API atau iPaaS). Mereka menghilangkan banyak gesekan, biasanya bekerja dengan sendirinya. Apa yang saya sadari selama bertahun-tahun adalah bahwa membangun integrasi yang dapat diadopsi secara luas sangatlah sulit karena setiap perusahaan memiliki kebutuhan, pengaturan, dan kekacauan TI internal yang unik untuk ditangani.
Membangun abstraksi ini membuatnya lebih mudah untuk diadopsi, namun secara signifikan mengurangi TAM, yang dapat menyebabkan lebih sedikit pelanggan yang menggunakannya dibandingkan versi yang lebih kompleks namun kuat.
10. AI akan mengubah cara kita membangun integrasi secara mendasar
Namun, saya yakin hal ini akan berdampak berbeda pada integrasi deterministik, bervolume tinggi, dan integrasi dinamis yang tidak dapat diprediksi. Pengalaman co-pilot akan secara dramatis mempercepat pengguna dalam alat iPaaS seperti Zapier atau Workato sekaligus menciptakan otomatisasi proses yang berulang, bervolume tinggi, dan dapat diprediksi.
“Agen AI akan menghilangkan kebutuhan untuk membangun integrasi apa pun dalam aktivitas yang dipicu oleh manusia”
Hal ini akan mempercepatnya, sekaligus menjaga keandalan saat ini dan pada akhirnya perilaku deterministik dari integrasi ini. Agen AI yang dapat mempertimbangkan alat mana yang harus digunakan dan beradaptasi dengan masukan yang dinamis dan tidak dapat diprediksi akan menghilangkan kebutuhan untuk membangun integrasi apa pun (di luar kemampuan API) dalam aktivitas yang dipicu oleh manusia seperti pelaporan, eksplorasi data, atau meminta bantuan.
Pelajaran seumur hidup
Pengalaman bekerja di Intercom akan selalu membentuk cara saya melakukan pendekatan teknik dan manajemen selama sisa karier saya. Saya ingin mengucapkan banyak terima kasih kepada semua orang yang bekerja dengan saya dan membantu saya membentuk pembelajaran ini selama bertahun-tahun. Intercom adalah perusahaan yang benar-benar istimewa.
Jika Anda ingin mengikuti perkembangan tulisan Kuba, Anda dapat melihat lebih banyak refleksinya tentang manajemen teknik di sini.