Bagaimana Expensify meretas jalannya ke tumpukan teknologi yang kuat dan dapat diskalakan

Bagaimana Expensify meretas jalannya ke tumpukan teknologi yang kuat dan dapat diskalakan

Expensify EC-1 Bagian 4: Rekayasa dan teknologi

Ambil dekat lihatlah setiap startup yang ambisius dan Anda akan menemukan keangkuhan terletak pada intinya. Keras kepala dan keyakinan yang kuat terhadap nilai dari apa yang ingin dihasilkan oleh perusahaan seringkali menjadi pendorong terbesar kesuksesannya, dan orang-orang di perusahaan tersebut juga cenderung berbagi kualitas ini.

Jadi tidak terlalu berlebihan untuk mengatakan bahwa orang-orang di Expensify adalah orang yang keras kepala — untuk keuntungan utama perusahaan. Kelompok perompak/peretas P2P yang berangkat untuk membangun aplikasi manajemen pengeluaran ini menempel di usus mereka, membuat aturan mereka sendiri. Mereka mengajukan pertanyaan yang tidak banyak orang pikirkan, seperti: Mengapa memiliki banyak karyawan jika Anda dapat menemukan cara untuk menyelesaikan pekerjaan dan mencapai keuntungan yang mengesankan dengan beberapa orang? Mengapa bekerja dari kantor di San Francisco saat internet memungkinkan Anda bekerja dari mana saja, bahkan dari perahu layar di Karibia?

Masuk akal: Jika Anda seorang bajak laut, persetan dengan aturan, bukan? Dan terlebih lagi ketika tidak ada yang bisa menjelaskan aturannya sejak awal.

Dengan mengingat hal itu, orang dapat berasumsi Expensify memutuskan untuk bertanya pada dirinya sendiri: Mengapa tidak membuat tumpukan teknologi khusus kami sendiri? Memang, Expensify telah membuat beberapa keputusan teknologi yang disambut dengan ketidakpercayaan — dari memiliki frontend sumber terbuka dan pengembangan seluler lintas platform hingga mempekerjakan kontraktor untuk melatih AI-nya dan merekrut kontributor sumber terbuka — tetapi keyakinannya pada pilihannya sendiri telah terbayar. off selama bertahun-tahun, dan perusahaan siap untuk IPO kapan saja sekarang.

Berapa banyak keuntungan teknologi yang dinikmati Expensify karena pilihan semacam itu adalah pertanyaan terbuka, tetapi satu hal yang jelas: Pilihan ini adalah kunci untuk memahami Expensify dan peta jalannya. Mari lihat.

Dibangun di atas Batuan Dasar

Saya rasa pertanyaan lain yang juga diputuskan Expensify untuk ditanyakan di masa-masa awalnya adalah seperti: Mengapa tidak memiliki basis data kami di atas teknologi yang dibuat untuk perangkat lunak aplikasi skala kecil?

Ini mungkin terdengar luar biasa, tetapi Expensify benar-benar berjalan pada basis data khusus yang dibangun di atas SQLite. Ini mengejutkan, karena meskipun menjadi salah satu mesin basis data yang paling banyak digunakan, SQLite dikenal berjalan pada sistem tertanam kecil seperti ponsel cerdas dan browser web, bukan mendukung basis data skala perusahaan.

Ini mungkin terdengar luar biasa, tetapi Expensify benar-benar berjalan pada basis data khusus yang dibangun di atas SQLite.

Basis data khusus ini disebut Bedrock, dan arsitekturnya seunik aslinya. Expensify menjelaskannya sebagai “RDBMS yang dioptimalkan untuk replikasi pemulihan mandiri melalui koneksi WAN (internet) yang relatif lambat dan relatif tidak dapat diandalkan, memungkinkan penyebaran multi-pusat data dengan ketersediaan sangat tinggi/kinerja tinggi tanpa satu titik kegagalan pun.” RDBMS berarti sistem manajemen basis data relasional, menjelaskan SQLite dan basis data berbasis baris lainnya di mana entri saling berhubungan satu sama lain.

Tetapi mengapa Expensify membangun ini alih-alih menggunakan sejumlah solusi database perusahaan yang tersedia secara luas?

Untuk menjawab pertanyaan tersebut, kita perlu kembali ke masa-masa awal berdirinya perusahaan, yang awalnya merupakan proyek sampingan dari pendiri dan CEO-nya, David Barrett. Ide awalnya adalah mengembangkan kartu prabayar untuk para tunawisma, tetapi ini membutuhkan penempatan server di jaringan Visa, yang membawa beberapa persyaratan dan tantangan yang ketat. “Saya akan mengatakan salah satu yang paling sulit [parts] adalah bahwa saya membutuhkan kemampuan untuk mereplikasi dan melakukan failover secara otomatis,” kata Barrett kepada TechCrunch saat kami mewawancarainya beberapa bulan lalu.