9 poin oleh ashbyash 2025-12-29 | Belum ada komentar. | Bagikan ke WhatsApp
  1. Ketidaktransparanan sistem teknologi besar
  • Perusahaan teknologi besar menjalankan bahkan sistem mereka sendiri dalam kondisi seperti "kabut perang (fog of war)".
  • Bahkan untuk pertanyaan dasar seperti "Apakah pengguna tipe Y bisa memakai fitur X?", "Apa tepatnya yang terjadi saat aksi Z?", atau "Ada berapa paket saat ini?", hanya segelintir orang di dalam organisasi yang bisa menjawabnya.
  • Dalam kasus yang parah, perlu menunjuk orang khusus untuk menyelidikinya, padahal jawabannya seharusnya bisa ditemukan hanya dengan melihat dokumentasi publik, tetapi kenyataannya tidak demikian.
  1. Sumber kompleksitas: Wicked Features
  • Perangkat lunak besar menjadi sangat kompleks karena self-hosting, uji coba gratis, kontrol organisasi/kebijakan, pelokalan multibahasa, fitur kepatuhan regulasi, dan lain-lain. Fitur-fitur ini memengaruhi setiap fitur baru
  • Contoh: saat menambahkan kontrol kebijakan, itu harus diterapkan juga ke setiap fitur baru, dan saat melakukan pelokalan, terjemahannya juga harus ikut diperbarui.
  • Hal seperti "apakah pelanggan enterprise self-hosting di region EU bisa mengakses fitur tertentu" hanya bisa dipastikan lewat penelusuran kode langsung atau eksperimen. Jika fitur-fitur ini dihilangkan, perusahaan harus merelakan pendapatan dalam jumlah sangat besar; inilah salah satu perbedaan antara perusahaan besar dan kecil.
  1. Batas dokumentasi
  • Saat fitur baru ditambahkan, secara teori interaksinya bisa didokumentasikan, tetapi kecepatan perubahan sistem lebih cepat daripada dokumentasi.
  • Dalam lingkungan dinamis, bukan sistem statis, penulis dokumentasi harus selalu selangkah lebih cepat daripada perubahan, dan itu nyaris mustahil.
  • Masalah yang lebih besar: banyak perilaku muncul dari interaksi pengaturan default, bukan niat eksplisit — mendokumentasikannya sama seperti menjelajahi sistem yang sebenarnya.
  1. Inti jawaban: codebase dan engineer
  • Jawaban yang akurat hanya bisa diperoleh dengan melihat langsung codebase, dan inilah dasar kekuatan engineer.
  • Fungsi inti tim engineering adalah kemampuan menjawab pertanyaan tentang perangkat lunak
  • Ini memanfaatkan tacit knowledge, pengetahuan implisit yang hidup di kepala orang-orang yang memahami kode tertentu.
  • Saat tim direstrukturisasi, hilangnya pengetahuan membuat "operasi eksploratif" diperlukan, misalnya dengan memodifikasi kode atau memaksa pemeriksaan tertentu.
  • Menulis kode itu mudah, tetapi memberi jawaban yang andal itu sulit karena masalah keyakinan (risiko salah, kebutuhan merangkum dan memadatkan informasi).
  1. Kesimpulan: kemampuan yang sangat berharga
  • Orang nonteknis percaya bahwa perangkat lunak dipahami sepenuhnya oleh para engineer, tetapi tak seorang pun memahami sistem besar secara sempurna.
  • Bahkan pertanyaan dasar pun perlu diselidiki berulang kali, dan saat terjadi perubahan akan muncul nuansa serta pengecualian. Kemampuan memberi jawaban yang akurat sangatlah berharga.

Belum ada komentar.

Belum ada komentar.