Kapan Startup Harus Menulis Ulang Aplikasinya dan Cara Merekrut Engineer yang Cocok dengan Tim
26 November 2020
Ditulis dari #StartupLokal Meetup v.108 — Indigo x #StartupLokal Meetup: Let's Talk About Tech Organization & Co-Founders

Sebuah startup harus menulis ulang perangkat lunak intinya saat kegagalan berulang mulai menghalanginya merilis fitur minggu demi minggu, bukan pada tahap seed. Ajey Gore, mantan Group CTO di Gojek dan Operating Partner di Sequoia, memaparkan aturan praktis untuk mengembangkan tim engineering, merekrut kreator, dan mengevolusi peran CTO.
Kapan startup harus mulai memikirkan scalability
Apa Titik Pemicu untuk Menulis Ulang Sistem
Gore menetapkan satu sinyal jelas kapan founder harus beralih dari membangun fitur ke membangun ulang infrastruktur.
if you start going down or you can't roll out features week on week, that's when you start thinking about scalability.
Ia menjelaskan bahwa di Gojek pada 2015, aplikasi mati setiap hari jam tiga karena beban. Tim tidak merencanakan scalability di tahap seed; mereka mengamati kerusakan dan memperbaikinya satu per satu. Urutan prioritas berdasarkan dampak pelanggan. Booking harus berfungsi lebih dulu. Jika driver muncul lima hingga tujuh menit setelah booking, pelanggan masih mentolerir layar yang tidak responsif. Namun bila booking sendiri gagal, janji inti putus.
you start solving those small issues: what is most important for customer, that's when you need to relook.
Triase selangkah demi selangkah ini menghindari penulisan ulang semua bagian sekaligus, yang membuang effort pada bagian yang tidak menghalang revenue. Tim sebaiknya membuat daftar user flow, tandai yang membuat rugi bila rusak, dan perbaiki itu sebelum menyentuh layar sekunder.
Mengapa menulis ulang lebih baik daripada menambal
Begitu sistem rusak berturut-turut selama satu atau dua minggu, Gore menyarankan rewrite total而非 menambal perbaikan.
if you are making a race car, you can't put four normal cars together and make a race car; you have to discard everything and put a racing car to go faster.
Ia memperluas analogi: kapal roket tidak bisa terdiri dari sepuluh mobil balap yang dibaut bersama. Sunk cost fallacy—"saya sudah buat software ini, mari fix"—menjebak tim dalam kode lambat. Memperbaiki sesuatu butuh waktu jauh lebih lama daripada menulis dari nol. Ia menggunakan metafora gaming. Di Mario Bros, setelah mempelajari trik, pemain menyelesaikan level satu dalam kurang dari 60 menit di save baru karena kesalahan sudah diketahui. Software identik: sebuah rewrite mengkodekan pelajaran yang susah didapat.
if you rewrite software you write better software. You already know tricks, mistakes to avoid.
Di Gojek, app ditulis ulang empat kali dalam empat tahun: dari Objective-C ke Swift 1.0 ke Swift 2.0, Android Java ke Kotlin. Logika lokasi backend ditulis ulang enam kali dalam empat bulan. Pindah dari logika geo kecil, ke Redis Geo, lalu ke Geo, lalu ke Postgres Geo, lalu ke library S2, dan akhirnya ke Golang plus library S2 demi alasan performa. Tiap perpindahan menjawab batas skala spesifik bukan ketakutan masa depan yang samar.
Cara merekrut software engineer yang merupakan kreator
Mengapa kode adalah satu-satunya bukti nyata keahlian
Gore memandang engineer sebagai kreator seperti chef atau pelukis. Diberi satu masalah, empat engineer menghasilkan empat kode berbeda.
How know good software engineer? Looking at their code.
Ia menolak pengecekan kredensial. Minta commit GitHub atau repo publik. Jika tidak ada, undang mereka menyelesaikan masalah kecil secara live. Metode ini memperlihatkan proses berpikir, bukan hafalan sintaks. Chef dinilai dengan mencicipi masakan, musisi dengan mendengar musik, pelukis dengan melihat lukisan. Engineer dinilai dengan membaca program yang mereka tulis.
I want to see you solve it. Not because I don't trust you know language, but want to know how you solve it.
Tiga kriteria merekrut engineer
Keputusan rekrutmen bertumpu pada tiga lapisan, bukan sekadar skor teknis.
- Kemampuan teknis dari contoh kode – ini hanya 30 hingga 40 persen dari verdict.
- Kapasitas belajar – bila diwawancarai untuk domain yang tidak ia kuasai, nilai apakah ia bisa menangkapnya.
- Kenyamanan rekan – apakah panel bisa duduk di sebelah orang ini setahun dan merasa nyaman?
if interview somebody and three or four people, one says I don't feel comfortable, we shouldn't hire.
Lapisan pertama membuktikan mereka bisa menulis. Lapisan kedua melindungi startup dari ketidakcocokan domain. Lapisan ketiga menjaga tim tetap sehat saat jumlah karyawan lewat dua puluh atau tiga puluh.
Mengapa wawancara harus bertujuan merekrut, bukan menyaring
Mayoritas panel memburu kesalahan. Gore membalik niatnya.
Go with intent to hire: find ways whether I can hire you, focus on good things, what you don't know we will teach.
Ini menampilkan potensi bukan menghukum kekurangan. Kandidat yang menjawab buruk di wawancara lisan bisa jadi coder berbakat; tugas live menunjukkan kebenaran. Panel sebaiknya mencatat kekuatan kandidat dan bertanya "bagaimana kita jembatani sisanya?" alih-alih "di mana mereka gagal?".
Cara menjalankan probation tanpa kehilangan martabat
Apa yang harus diuji dalam probation
Probation adalah untuk skill personal, bukan tes coding. Beberapa engineer tidak bisa menjual diri di wawancara namun bisa coding baik. Gore pakai tiga bulan untuk observasi. Garis merahnya adalah penolakan untuk unlearn. Ia memberi contoh engineer yang bersikeras pakai Fedora saat tim pakai Ubuntu.
we comfortably say: you are amazing, but not fitting in, find next job comfortably and leave.
Ujiannya adalah apakah orang tersebut bisa mengadopsi gaya kerja tim. Kecerdasan saja tidak menyelamatkan misfit yang menghalang ritme kolektif.
Cara memecat seseorang dengan hormat
Bila probation gagal, Gojek memberi orang tersebut gaji tiga bulan tambahan dan izin mengatakan masih bekerja di sana.
when somebody comes in they come with hope, trusted you; when go away must go with same respect.
Hanya sekitar lima dari setiap seratus orang gagal probation. Sisanya lulus karena proses rekrutmen sudah menyaring soal fit. Tambahan bayar membiarkan mereka pergi tanpa guncangan finansial dan menjaga cerita karier mereka. Kebanyakan mengerti dan lanjut.
Cara meningkatkan skill engineer yang ada
Pembelajaran antarsejawat dan sesi Kamis
Engineer lemah membaik dengan berpasangan dengan yang kuat. Gore merotasi ahli Android ke tugas backend.
Surprised how fast people learn from each other.
Sesi makan siang Kamis mingguan membuat satu engineer mengajar tim lain. DevOps menjelaskan deployment ke tim food; tim food mengajar DevOps soal penyalahgunaan Kafka. Ia juga menjalankan AMA bulanan di mana siapa saja bisa tanya apa saja. Workshop eksternal gagal bila orang pulang dan tidak terapkan skill, sehingga transfer internal lebih disukai.
Thursday learning sessions most important, learn over lunch popular.
Anggaran untuk kursus dan buku
Perusahaan mengganti biaya kursus Udemy setelah sertifikat. Anggaran buku membiarkan tiap orang hingga 2 juta rupiah setahun, atau hingga 1 juta rupiah di beberapa kasus, untuk membeli buku teknis yang ditinggal di kantor.
you must have intent, go get certificate you pass, here is money, no issues.
Engineer dari data engineering ambil kursus data science dan dibayar balik hanya setelah lulus. Buku dibeli dari Bangalore atau online dan diletakkan di area umum untuk dibaca siapa saja.
Cara menemukan co-founder CTO di Indonesia
Cari hustle, bukan sekadar tahun pengalaman
Gore mencatat gelombang software Indonesia mulai sekitar 2010, lebih lambat dari India 1980-an, tapi bank menghasilkan engineer Java kuat. Gojek Indonesia punya sekitar 400 software engineer versus 300 di India, membuktikan talenta lokal ada dalam skala besar.
You can find them too; they are there, just don't come out, very good engineers, need a little help.
Founder muda harus mencari partner dengan pengalaman lima atau bahkan tiga tahun, bahasa apa pun, asal menunjukkan rasa ingin tahu dan hustle.
People with hustle are the ones you want to hire; he doesn't have to have 15 years experience.
Grup WhatsApp CTO.id menghubungkan talenta tersebut dengan founder.
Pulangkan orang Indonesia di luar negeri
Gore merekrut orang Indonesia yang tinggal di Los Angeles dengan mengundang mereka ke acara Gojek.
please come back to Indonesia, we are Gojek, we do nice things, please come back.
Eksposur membangun ekosistem lokal. Founder sebaiknya hadir di meetup komunitas Indonesia di luar negeri dan tawarkan misi, bukan sekadar gaji.
Bagaimana peran CTO berubah seiring pertumbuhan perusahaan
Empat tahap CTO
Gore memetakan empat kepribadian lintas tahap pendanaan.
- Founder CTO – menulis kode cepat, membuat produk jalan.
- Execution CTO (Series A) – mengelola delivery, masih coding.
- Management CTO (Series B–D) – memimpin pemimpin, butuh ekstroversi dan empati.
- Strategic CTO (Series F+) – melengkapi CEO, mengeksekusi visi.
Early stage you need a hustler. Second you need a builder. Third stage you need a caretaker. Fourth stage you need an owner.
Tahap management butuh ekstrovert karena tugasnya menghubungkan ke luar tim. Introvert yang tetap di dalam jadi bottleneck. Tahap strategic butuh orang yang memperlakukan perusahaan seperti pemilik rumah yang memeriksa tiap sudut.
Mengapa melepas jabatan itu sehat
Gore meninggalkan Gojek karena tak bisa seimbangkan keluarga dan kesehatan di skala seribu orang.
The title is always ephemeral, it's gonna go away.
Ia menyarankan mengoptimalkan rasa hormat sebagai pribadi, bukan peran. Founder bisa tetap jadi co-founder yang mengenable orang lain. Jika Anda CTO perusahaan sepuluh orang tapi tak mampu jadi CTO perusahaan seribu orang, bawa CTO lebih baik dan tetap jadi enabler. Memegang title terlalu lama membuat Anda optimasi untuk label dan melakukan hal bodoh.
Cara menjembatani bisnis dan engineering
Mengapa bisnis merasa engineering lambat
Kecepatan berpikir beda dari kecepatan implementasi. Membayangkan perjalanan ke bandara instan; perjalanan nyata butuh jam.
Engineering is driving car on road; business is starting car.
Contoh roda berputar menunjukkan celah: seorang engineer membuat ikon loading berputar lebih cepat sehingga product manager merasa software lebih cepat. Ilusi itu memutus kepercayaan. Bisnis harus lihat progres nyata, bukan teater.
Tampilkan deploy dan uptime secara berkala
Gojek deploy setidaknya ratusan kali harian, 3000 hingga 5000 kali per bulan. Kanal Slack membiarkan bisnis lihat tiap deploy.
We had production deploys Slack channel with business people, they see and get happy.
Halaman deployment menunjukkan jumlah. Dashboard tampilkan uptime, tiket tertutup, insiden. Petugas kebersihan kantor tak pernah di thanked sampai mereka absen sehari; software sama—nilainya muncul hanya bila gagal. Update terus-menerus cegah kejutan.
Making them part of your journey is super important.
Ajari bisnis dengan buku
Gore memberi Nadeem "Continuous Delivery" dan "The DevOps Handbook" agar non-engineer paham batasan. Ia juga rekomendasikan "The Goal" dan "The Mythical Man Month". Leader bisnis yang baca ini berhenti tanya kenapa fitur butuh dua minggu.
Cara membangun budaya tim lintas bahasa
Ajarkan bahasa lokal di semua kantor
Gojek menjalankan kelas Bahasa dan English. Jumat adalah hari English; hari lain bahasa apa pun.
Language: if you don't practice you lose touch.
Staf India dan Singapore ikut kelas Bahasa untuk merasakan gap. Bicara pelan di salah satu bahasa jaga meeting inklusif. Google Translate live mode membantu bila kata habis.
Hilangkan hierarki dan ubah nama HR
Lantai terbuka, tanpa cubicle. HR jadi "people department". Cuti sakit tak terbatas. Ia melarang "blacklist/whitelist" untuk "block list/allow list" guna hilangkan bias warna dari warisan kolonial.
Semantics affect perception.
Pengubahan nama mengubah pandangan staf dari resource ke manusia. Tanpa approval cuti berarti trust; anniversari ada band lokal. Budaya datang dari toleransi awal, bukan memo.
Poin-Poin Utama
- Tulis ulang sistem hanya bila outage menghalang rilis fitur mingguan, bukan di tahap seed.
- Rekrut engineer dengan review kode mereka dan nilai kemampuan belajar serta kecocokan tim, bukan dengan mencari salah.
- Jalankan probation untuk uji keterbukaan belajar; biarkan misfit pergi dengan bayaran dan martabat.
- CTO evolusi lewat empat tahap; mundur dari jabatan bila batas personal tercapai demi perusahaan.
- Jembatani bisnis dan engineering dengan streaming deploy dan uptime, serta ajarkan buku standar.