Recraftory

On-call Culture

Membangun budaya on-call yang sehat dan berkelanjutan untuk tim engineering

Apa itu On-call

  • Jadwal giliran di mana seorang engineer siap merespons insiden di luar jam kerja
  • Memastikan ada orang yang bisa ditelepon saat sistem mengalami masalah
  • Bukan hukuman — merupakan tanggung jawab profesional dalam menjalankan sistem production

Mengapa On-call Bisa Menjadi Masalah

  • Alert fatigue: terlalu banyak alert yang tidak actionable membuat engineer mengabaikannya
  • Burn out: on-call yang terlalu sering atau terlalu intens merusak keseimbangan hidup
  • Fear culture: engineer takut deploy karena akan di-page malam hari
  • Single point of failure: hanya satu orang yang mengerti sistem tertentu

Prinsip On-call yang Sehat

"You build it, you run it"

  • Tim yang membangun fitur juga bertanggung jawab menjalankan dan memperbaikinya
  • Menciptakan insentif untuk membangun sistem yang reliable
  • Engineer lebih termotivasi memperbaiki masalah karena mereka yang merasakan dampaknya

Alert harus actionable

  • Setiap alert yang diterima on-call harus membutuhkan tindakan nyata
  • Alert yang tidak actionable harus dihapus atau diturunkan severity-nya
  • Tujuan: setiap page harus penting dan relevan

Rotasi yang adil

  • Distribusikan beban on-call merata di seluruh tim
  • Jangan biarkan satu orang jadi "hero" yang selalu on-call
  • Pastikan cukup orang yang paham sistem untuk rotasi yang sehat

Struktur On-call

Primary dan Secondary

  • Primary: first responder, bertugas minggu ini
  • Secondary: backup jika primary tidak merespons dalam X menit
  • Menghindari single point of failure

Eskalasi

  • Jika primary tidak merespons dalam 5 menit → page secondary
  • Jika tidak ada yang merespons dalam 10 menit → page manager atau lead

Membuat On-call Lebih Baik

Runbook

  • Dokumentasi langkah-langkah untuk menangani insiden umum
  • Harus bisa diikuti oleh engineer yang tidak familiar dengan sistem
  • Format: gejala → penyebab kemungkinan → langkah penanganan
  • Perbarui setelah setiap insiden

Handoff yang Baik

  • Saat pergantian on-call, lakukan handoff tertulis
  • Isi: insiden aktif, alert yang sedang dipantau, konteks yang perlu diketahui
  • Mencegah informasi penting hilang saat pergantian shift

Kompensasi dan Acknowledgement

  • Berikan kompensasi tambahan untuk on-call, terutama di luar jam kerja
  • Jika ada paging malam yang panjang, berikan recovery time keesokan harinya
  • Akui beban on-call secara publik — ini pekerjaan nyata yang sering tidak terlihat

Mengukur Kesehatan On-call

  • Jumlah pages per minggu (trend turun = lebih baik)
  • Pages di luar jam kerja vs jam kerja
  • Mean Time to Acknowledge (MTTA) dan MTTR
  • Waktu yang dihabiskan untuk on-call work vs feature work

Praktik Terbaik

  • Lakukan audit alert secara berkala — hapus atau perbaiki alert yang tidak actionable
  • Buat proses onboarding on-call yang jelas untuk engineer baru
  • Dengarkan keluhan tentang on-call — itu sinyal penting tentang kesehatan sistem
  • Jangan normalisasi on-call yang buruk — jika engineer sering terbangun malam, itu masalah yang harus diperbaiki