/notes/backend-field-notes

Backend Field Notes

Catatan pendek tentang cara saya menulis dan merawat backend yang mudah dibaca ulang.

Premis

Saya lebih suka backend yang bisa dijelaskan ulang setelah beberapa bulan tidak disentuh. Tidak selalu paling pintar, tidak selalu paling ringkas, tapi cukup jelas untuk dirawat saat konteks produksi sedang ramai.

Catatan ini saya pakai sebagai pengingat kerja: mulai dari kontrak data, logging, naming, sampai cara memutuskan kapan sebuah abstraksi benar-benar membantu.

Pola yang sering saya jaga

  • Boundary antara transport, domain, dan persistence dibuat cukup terlihat.
  • Error message internal dibedakan dari pesan yang aman untuk user.
  • Log membawa konteks operasional, bukan sekadar string bebas.
  • Endpoint baru selalu dicek dari sisi failure path, bukan hanya happy path.
  • Dokumentasi kecil ditulis dekat dengan keputusan teknis yang mudah dilupakan.

Yang saya hindari

Saya mencoba tidak buru-buru menambah abstraksi hanya karena ada dua potongan kode yang mirip. Kalau duplikasi itu masih membantu pembacaan flow, saya biarkan sampai pola masalahnya stabil.

Di sisi lain, kalau sebuah keputusan mulai menyebar ke banyak file dan susah dijelaskan, biasanya itu tanda waktunya membuat boundary yang lebih eksplisit.

Fokus belajar berikutnya

Saya ingin lebih rapi dalam mencatat trade-off: apa yang dipilih, kenapa pilihan lain tidak diambil, dan sinyal apa yang membuat keputusan itu perlu dibuka ulang.