Kod bazangiz — qazilmagan oltin koni
Mana sizga bosh CTO va yetakchi dasturchilarni noqulay ahvolga qo'yadigan fikr: kompaniyaning eng chuqur tushunchalari faqat production kodda yashaydi.
ServiceMatch jamoasi tadqiqotida qiziqarli g'oya ilgari surilgan. Ularning fikricha, yetuk software tizimlari faqat biznesni boshqaruvchi vositalar emas — ular tashkilotning o'rganib olgan barcha bilimlarini o'z ichiga olgan executable (bajariladigan) vakillar.
Asosiy muammo shundaki, bu bilimlar ko'z ilgamasida, faqat compilerlar o'qiydigan repozitoriylarda yashirin.
Documentation haqida yolg'on tasavvur
Hamma joyda bo'lgan holat. Yangi dasturchi keladi, unga devconf, Confluence va Wiki sahifalari to'ldiriladi. "Bu sizni tezda yangilaydi," deydi kimdir.
Lekin bu rost emas.
Documentation faqat kimdir yozish kerak deb o'ylagan narsalarni qamrab oladi — vaqt o'tishi bilan bu bilimlar eskiradi. Edge case'lar unutiladi. Yig'ilgan dalillar, anjomlar chizmalari, hujjatlar yo'qoladi. Yillar davomida minglab commit'larda shakllangan business mantiq izsiz ketadi.
Peter Naur (Backus-Naur formani yaratgan odam) 1985-yilda shunday fikr bildirgan edi: dastur hujjatlari tizim ortidagi "nazariyani" to'liq aks ettira olmaydi. Chuqur tushuncha odamlar boshida yashaydi. Ular ketganda, bilim ham ketadi.
Lekin muhim jihat boshqacha.
AI O'qish Muammosini O'zgartiradi
Naur fikri ikki xil o'quvchi haqida edi: compilerlar (kodni tushunmasdan bajaradi) va odamlar (buni sekin va qimmat bajaradi). Hujjatlarni tiklab bo'lmasligi shundan dalolat berardi.
Large language model'lar — bu uchinchi turdagi o'quvchi. Va ular kod ichidagi yashirin nazariyalarni tiklashda juda yaxshi.
ServiceMatch tizimi bunga yaqqol misol. Ular korxona configuration management bilimlarini saqlaydi — bu boradagi bilimlarni prozaga yozsangiz, jildlar kerak bo'ladi. Lekin muammo shundaki — bu bilim allaqachon yozilgan, faqat proza shaklida emas.
Masalan, ularning identity resolution mantiq'i. Konsultant yozgan "qurilma identifikatsiyasi qanday ishlaydi" maqolasidan ko'ra, ular configuration faylida og'irliklarni saqlaydilar: serial number (25), hostname (25), asset tag (25), IP address (20), MAC address (15). Qo'shimcha confidence threshold'lar va conflict resolution qoidalari bor.
Har bir raqam — kimdir yutgan argument. Har bir conflict turi — somewhere sodir bo'lgan haqiqiy incident.
Bu — policy'ning tavsifi emas. Bu O'ZI policy, kecha-kunduz ishlab turadi.
Bu Sizning Team Uchun Nimani Anglatadi
Dasturchilar va texnik liderlar uchun amaliy xulosalar bor:
Kodingiz siz yozmayotgan documentation. Wiki sahifalaridan farqli o'laroq, production'da ishlayotgan kod doimiy tekshiriladi. Agar documentation kod bilan mos kelmasa, documentation noto'g'ri.
AI vositalar bu bilimlarni ajratib olishda yaxshilanmoqda. Yaqin orizya siz AI'ga "device identity conflict'larni qanday hal qilamiz" deb so'rashingiz mumkin — va u faqat hujjat emas, balki og'irliklar va threshold'lardagi haqiqiy mantiqni qaytaradi.
Chuqur bilim edge case'larda yashaydi. Asosiy flow'lar odatda yaxshi hujjatlashtirilgan. Yillar davomida hal qilingan exception'lar, maxsus ishlov — mana bu yerda haqiqiy institutional knowledge saqlanadi.
Ogohlantirish Belgisi
Bitta noqulay natija bor: agar business mantiq faqat sizning kodingizda bo'lsa va kodingizda test coverage past, o'zgaruvchi nomlari noaniq, struktura tartibsiz bo'lsa — siz deyarli ajratib bo'lmaydigan bilimlar ustida o'tiripsiz.
ServiceMatch jamoasi aniqladiki, "repozitoriy yetarli" degan da'vo ma'lum sharoitlarda buziladi. Naurning yashirin bilim elementi haqiqat. Ba'zi bilimlar haqiqatan ham faqat odamlar boshida yashaydi.
Lekin kuchliroq xulosa shuki: kodda ko'proq bilim saqlanadi biz o'ylagandan ko'ra. Repozitoriya hujjatlardan ko'ra ko'proq nazariyani qamrab oladi — bizga faqat yangi turdagi o'quvchi kerak edi uni chiqarish uchun.
Buning Bilan Nimada Qilish Kerak
Startup yoki o'sayotgan texno kompaniya bo'lsangiz, bu yerda fikrlash uchun framework:
- Kodga docs'dan ko'ra ko'proq ishonch — agar ikkalasi zid bo'lsa
- Mantiq'ni hujjatlashtiradigan kod yozing — o'zgaruvchi nomlarini ma'noli qo'ying, funksiyalarni aniq yarating, comment'larda NIMAGA emas, NIMA qanday yozing
- Configuration'ni institutional knowledge deb bilin — og'irliklar va threshold'lar saqlanadigan qarorlardir
- AI vositalarni o'rganishni boshlang — kodingizni bilim manbai sifatida so'ray oladigan vositalarni
Bugun yozgan kodyingiz — ertangi kun institutional knowledge'si. Buni ahamiyatli qiling.
Keling, bu mavzuda Sizning fikringiz qanday? Kodingizni bilim bazasiga aylantirish haqida qanday fikrdasiz? Izohda yozing.