Anda Berhenti Membaca Dokumentasi, Kini Anda Tidak Memahami Sistem

Saya tidak belajar sains komputer di universiti. Saya belajar geofizik.

Saya mempelajari perisian melalui pembacaan. Saya membaca dokumentasi, kod sumber, dan isu GitHub. Saya membaca hantaran blog lama dan bebenang RFC. Saya tidak menggunakan bootcamp. Saya menggunakan pelayar web dan bahan mentah.

Apabila saya mempelajari Cloudflare Workers, saya tidak mempunyai sebarang kursus. Saya hanya ada dokumentasi dan log perubahan (changelog). Saya membaca konfigurasi binding sebanyak tiga kali untuk membaiki deployment yang rosak pada jam 1 pagi. Saya menemui jawapan dalam bebenang GitHub dari bertahun-tahun yang lalu.

Saya belajar dengan meneliti bahan tersebut sehingga saya benar-benar memahaminya.

Kini, saya melihat satu corak baharu. Orang ramai tidak bertanya mengapa sesuatu bahagian itu mengelirukan. Mereka meminta kod untuk X. Mereka tidak menjejaki kod sumber untuk mencari tingkah laku sistem. Mereka hanya bertanya apa fungsi sesuatu fungsi itu.

Matlamat dahulunya adalah pemahaman. Sekarang matlamatnya adalah hasil (output). Orang menggelarnya sebagai kecekapan. Sebenarnya, ia adalah hutang.

Anda boleh menjana circuit breaker tanpa mengetahui apa itu keadaan half-open. Ia berfungsi dalam ujian anda. Ia gagal dalam produksi enam minggu kemudian di bawah bebanan berat. Anda gagal kerana anda tidak mempunyai model mental. Anda mendapat 'apa' tanpa mengetahui 'mengapa'.

Sebab 'mengapa' adalah satu-satunya bahagian yang penting.

Membaca dokumentasi membina model mental. Anda dapat melihat pertukaran (tradeoffs) dan kes terpencil (edge cases) dalam nota kaki. Geseran yang anda rasai semasa membaca adalah saat di mana pembelajaran berlaku.

Apabila saya membina Bookmark Brain, saya perlu memahami Cloudflare Vectorize. Saya tidak sekadar menggunakan API tersebut. Saya mengkaji dimensi embedding, tingkah laku indeks, dan metrik jarak pertanyaan (query distance metrics). Saya membaca kertas kerja HNSW. Saya meneliti kekeliruan tersebut sehingga ia menjadi pengetahuan.

Pengetahuan itulah yang memastikan sistem saya terus berjalan dalam produksi. Jika sesuatu rosak pada jam 2 pagi, saya mempunyai model mental untuk membimbing saya. Jika saya hanya menggunakan prompt, saya mungkin mempunyai demo, tetapi bukan sistem yang boleh saya fahami logiknya.

Ini mewujudkan jurang dalam bidang kejuruteraan.

  • Dalam semakan kod (code reviews): Seorang pembangun dapat melihat isu N+1 dengan serta-merta kerana mereka membaca dokumentasi ORM. Pembangun yang lain terlepas pandang kerana mereka hanya menjana kod tersebut.
  • Dalam seni bina (architecture): Seorang pembangun memahami partition dan offset Kafka. Yang lain hanya tahu kosa katanya tetapi tidak memahami strukturnya.
  • Dalam penyahpepijatan (debugging): Debugging adalah fungsi daripada model mental anda. Tanpanya, anda hanya mengubah sesuatu perkara dan berharap agar semuanya baik-baik saja.

AI tidak boleh memegang keseluruhan seni bina. Ia tidak melihat gambaran besar merentasi kod sumber anda. Saya pernah melihat lapisan caching yang dijana AI melepasi setiap ujian dan kemudian menyebabkan produksi ranap kerana tiada manusia yang memahami race conditions.

Jurang ini bukan tentang penggunaan AI. Ia adalah tentang bagaimana anda menggunakannya.

Adakah anda menggunakannya untuk memahami pertukaran (tradeoffs)? Atau adakah anda menggunakannya untuk mengelak daripada memahami?

Pembangun terbaik bukan sekadar bergerak pantas. Mereka masih membaca log perubahan (changelogs) dan kod sumber. Mereka membina model mental yang tidak dapat ditiru oleh prompting.

Membaca dokumentasi adalah satu amalan. Ia bukan beban kepada produktiviti anda. Ia adalah perkara yang menjadikan anda tidak boleh diganti apabila sistem rosak.

Jika anda melangkau pembacaan, anda melangkau pemikiran. Anda tidak akan menyedarinya sehinggalah anda berada dalam produksi tanpa apa-apa untuk dijadikan sandaran.

Sumber: https://dev.to/dannwaneri/you-stopped-reading-the-docs-now-you-dont-understand-the-systems-go1

Komuniti pembelajaran pilihan: https://t.me/GyaanSetuAi