Chapter Seven
Satu-Satu
POV: Cleo
Senin pagi, aku resmi pindah ke wilayah baru — dan wilayah baru menyambutku dengan karpet merah.
Terbuat dari bubble wrap.
“Selamat datang di area backend, Mbak,” kata Gofar khidmat, sementara karpet plastik itu terbentang dari ujung partisi sampai meja baruku. “Silakan diinjak. Bunyinya bagus buat kesehatan mental.”
Aku menginjaknya sepanjang jalan — tak-tek-tok — dan mendapati diriku tertawa jam sembilan pagi, yang mana statistik langka. Meja baruku di ujung barisan, bersebelahan dengan meja yang paling rapi di seluruh lantai: monitor lurus, kabel diikat, satu botol minum, nol pajangan. Pemiliknya mengangguk sopan.
“Mejanya nggak berisik kok, Mbak.”
“Karpetnya berisik.”
“Itu di luar tanggung jawab backend.”
Sembilan puluh sentimeter. Aku tahu jaraknya karena partisi meja kantor ini standar, bukan karena kuukur. Sungguh bukan karena kuukur.
Jam 10.30, rilis multi-drop berjalan. Jam 11.32, dunia masih normal. Aku ingat angka itu karena satu jam kemudian, angka itu jadi penting sekali.
Jam 11.40, Tami berdiri dari mejanya. “Ada yang aneh. Notifikasi status dobel di beberapa order.”
Jam 11.55, dobel berubah jadi banjir. Aplikasi shipper mengirim notifikasi “paket dalam pengantaran” berulang-ulang — tiga kali, tujuh kali, ada yang tiga puluh kali untuk satu paket. Grup CS menjerit. Jam 12.10, ulasan Play Store mulai berdatangan dengan kecepatan yang membuat mual: “HP saya bunyi 47 kali dalam sejam” — bintang satu. “Uninstal. Berisik kayak mantan.” — bintang satu. Rating kami turun di depan mata seperti tekanan darah orang pingsan.
Jam 12.20, war room Pantura penuh dan panik sudah duduk di semua kursi.
“Ini dari update frontend pasti—”
“Enak aja, payload dari backend yang dobel—”
“ROLLBACK.” Pak Bram masuk dengan volume townhall, ponsel di tangan, “SEKARANG. Ini PR disaster! Direksi udah nge-chat aku! Roll! Back!”
Ruangan makin keras. Tiga orang bicara bersamaan, seseorang menyalahkan tim data, seseorang membela tim data, dan Pak Bram mengulang kata rollback dengan ritme orang menepuk kasur mengusir kucing.
Di tengah semua itu, aku menyadari satu hal karena mejanya kebetulan — kebetulan — sembilan puluh sentimeter dari duniaku sebulan terakhir: satu-satunya orang di ruangan yang belum mengeluarkan suara sedang duduk memejamkan mata.
Dua detik. Kuhitung. Lalu mata itu terbuka, dan suaranya tidak keras, tapi jenis suara yang membuat ruangan menoleh justru karena tidak berusaha mengalahkan siapa pun:
“Panik boleh nanti. Sekarang urut dulu, satu-satu.”
Hening mendadak, seperti seseorang mencabut kabel dari speaker.
“Tami.” Mas Jaka menoleh. “Kapan terakhir kali ini normal?”
“Jam... 11.32. Sebelum batch update status kurir jalan.”
“Oke.” Dia berdiri ke whiteboard, mengambil spidol, dan mulai menulis sambil bicara — tanpa jeda berpikir, seperti membaca dokumen yang sudah ada di kepalanya. “Root cause-nya kelihatan dari lognya: kurir di area sinyal jelek, aplikasinya retry kirim status, server kita nggak ngenalin itu duplikat. Bukan salah frontend, bukan salah backend, salah asumsi kita semua: kita bangun ini buat dunia yang sinyalnya bagus.”
Spidol itu membuat dua kolom.
“Opsi satu: rollback. Sepuluh menit, kelihatan heroik.” Dia menulis di bawahnya. “Biayanya: 3.100 pesanan multi-drop yang lagi aktif kereset. Kurir yang lagi di jalan kehilangan urutan rutenya, siang ini juga, pas lagi bawa barang orang. Kita nuker masalah notifikasi jadi masalah paket nyasar.”
Ruangan diam. Pak Bram membuka mulut, menutupnya lagi.
“Opsi dua: hotfix. Empat puluh menit, nggak heroik. Server dibikin ngenalin duplikat — idempotency key, sudah kupetakan filenya. Nol pesanan korban.” Dia menunduk sebentar ke arah layar laptopnya. “Tapi empat puluh menit itu lama buat orang yang HP-nya bunyi terus. Jadi sambil nunggu: matikan dulu push notification buat event status. Dua menit kelar, pendarahan berhenti sekarang, user tenang, kita kerja tenang.”
Dia meletakkan spidol.
“Dan yang marah di Play Store itu bukan angka. Itu orang.” Matanya menyapu ruangan, mampir ke arahku setengah detik. “Butuh tiga hal yang bukan kerjaan engineer: banner status di aplikasi biar semua tahu kita tahu, template jawaban buat tim CS biar nggak jawab manual satu-satu, dan telepon langsung ke dua puluh shipper terbesar sebelum mereka nge-chat kita duluan. Yang terakhir itu wilayah tim produk. Shipper besar kenalnya sama Mbak Cleo.”
Seluruh ruangan menoleh kepadaku. Dan aku — yang tiga puluh detik sebelumnya menonton dengan perasaan yang belum sempat kuberi nama — sudah berdiri.
“Banner dan template, aku yang tulis, lima belas menit. Telepon shipper mulai jam satu.” Aku menoleh ke Pak Bram, memberinya jalan keluar yang bisa dia beli: “Pak, direksi biar dapat update dari Bapak langsung ya, satu jam sekali. Biar satu pintu.”
“Ya. Bagus. Satu pintu.” Pak Bram mengangguk banyak sekali. “Ini yang namanya crisis leadership, guys. Persis kayak yang selalu aku bilang.”
Tidak ada satu pun manusia di ruangan itu yang ingat dia pernah bilang, tapi tidak ada yang punya waktu untuk protes.
Empat puluh menit berikutnya, Pantura berubah jadi mesin. Notifikasi dimatikan jam 12.31 — dan grup CS, yang sejak jam dua belas seperti pasar terbakar, sunyi dalam lima menit. Aku menulis banner dan tiga variasi template sambil mendengar di belakang punggungku suara keyboard yang ritmenya tidak berubah sekali pun, stabil seperti hujan, dan entah kenapa suara itu membuat tanganku ikut stabil.
Jam 12.50, ketika aku baru membuka CRM untuk menyusun daftar telepon, sebuah dokumen muncul di chat-ku tanpa kata pengantar. Dua puluh nama shipper, diurutkan — bukan berdasarkan nilai kontrak seperti yang pasti akan kulakukan, tapi berdasarkan jumlah paket aktif mereka yang hari ini kena duplikat, lengkap dengan angkanya per shipper dan satu kolom kecil bertuliskan catatan: urutan = yang paling kena duluan. Nomor 7 & 12 minggu lalu baru komplain soal lain, mungkin paling sensitif.
Dia mengerjakan itu di sela empat puluh menit hotfix-nya. Sambil memperbaiki server, dia sempat memikirkan urutan sakit hati manusia.
Aku menelepon dua puluh orang sesuai urutan itu, dan sembilan belas di antaranya menutup telepon dengan tenang. Jam 13.12, hotfix naik. Jam 13.20, Tami memverifikasi: duplikat mati total.
Jam 15.00, rating pelan-pelan merangkak naik. Salah satu ulasan baru berbunyi: “tadi siang error tapi dikasih tau lewat banner dan dibenerin cepet. naikin bintang lagi deh. jangan diulang ya min.” Bintang empat.
Aku membacanya tiga kali. Rasanya tidak masuk akal, sayang sekali padahal cuma ulasan orang asing di Play Store. Aku hampir menoleh ke meja sebelah untuk menunjukkannya — dan menahan diri, karena alasan menoleh yang sah sudah habis kupakai hari ini, dan mulai menjatah alasan menoleh adalah perkembangan yang belum siap kuperiksa maknanya.
Sore itu, sambil lantai tujuh berangsur pulih, aku menangkap dua pemandangan kecil. Satu: Pak Bram di pojok sedang mengetik email panjang — Sasha, yang lewat di belakangnya, kemudian melapor ke pantry dengan mata membesar bahwa subjeknya “Crisis Management Update — tim yang saya arahkan berhasil...” Dua: di meja Gofar, sekumpulan kepala berkerumun di depan satu spreadsheet yang buru-buru ditutup ketika aku lewat, tapi tidak cukup cepat — sempat kubaca judul tab-nya: DANA ABADI.
“Dana apa?” tanyaku.
“Dana... kebersamaan, Mbak,” kata Gofar, dengan wajah paling jujur yang pernah dipakai untuk berbohong.
“Buat apa?”
“Buat... kalau ada yang ulang tahun.” Di belakangnya, Tami menutup mata pelan seperti orang yang menyaksikan rekan setimnya gugur di medan perang.
Aku memutuskan tidak melanjutkan interogasi. Ada hal-hal di kantor ini yang lebih baik tetap jadi misteri, dan pengalaman mengajarkanku bahwa misteri yang melibatkan spreadsheet dan wajah panik biasanya melibatkan namaku.
Jam 17.00, ketika semua kurva sudah hijau, Pak Bram berdiri di tengah lantai dan menepuk tangan dua kali.
“Guys! Minggu ini kita luar biasa. Sentosa deal, crisis kelar. Ini harus dirayain — Jumat malam, dinner tim, aku yang traktir! Tempatnya aku yang pilih, kalian tinggal datang. Wajib ya! Yang bilang sibuk, aku cek kalendernya!”
Lantai tujuh bersorak, karena makanan gratis adalah bahasa persatuan bangsa.
Aku ikut tersenyum, kadar sedang, sambil di dalam kepalaku sesuatu yang lebih tua dari logika mulai berhitung. Orang bilang firasat itu data yang belum sempat diproses.
Firasatku memproses cepat sekali.
- 1 Sprint Planning dan Dewi Lantai Tujuh
- 2 Nama Pak Slamet
- 3 Aturan Nomor Satu
- 4 Sticky Note Kuning
- 5 Tangga Darurat
- 6 Tidak Terjadi Apa-Apa
- 7 Satu-Satu reading
- 8 Undangan yang Tidak Bisa Ditolak
- 9 Kaca Restoran
- 10 Dua Menit di Toilet
- 11 Jarak yang Sopan
- 12 Menurut Data
- 13 Sabtu yang Dibungkus Rapi
- 14 Foto di #random
- 15 Yang Tertawa di Foto Itu
- 16 Bukan Urusan Saya
- 17 Wajah Itu
- 18 Penolakan
- 19 Operasi Pendekatan v1.0
- 20 Dua Gelas Kopi
- 21 Vy
- 22 Belajar SQL
- 23 Radit Tahu Duluan
- 24 Wingman Paling Berisik
- 25 Error Margin
- 26 Gerimis
- 27 Kabar Angin
- 28 Daftar
- 29 Lega
- 30 Sebagai Product Owner
- 31 Malam Sebelum Demo
- 32 Log Jam Tiga Pagi
- 33 Keputusan CEO
- 34 Yang Diselamatkan
- 35 Kamu Cantik, Vy
- 36 Kata Siapa Nol Persen?