لقد توقفت عن قراءة الوثائق، والآن لم تعد تفهم الأنظمة

لم أدرس علوم الحاسوب في الجامعة، بل درست الجيوفيزياء.

تعلمت البرمجيات من خلال القراءة. قرأت الوثائق (documentation)، والشيفرة المصدرية (source code)، ومناقشات GitHub issues. قرأت تدوينات قديمة وسلاسل RFC. لم ألتحق بمعسكر تدريبي (bootcamp)، بل استخدمت المتصفح والمواد الخام.

عندما تعلمت Cloudflare Workers، لم يكن لدي أي دورة تدريبية. كان لدي الوثائق وسجل التغييرات (changelog). قرأت إعدادات الربط (binding configuration) ثلاث مرات لإصلاح عملية نشر (deployment) معطلة في الساعة الواحدة صباحاً. وجدت الإجابات في سلاسل نقاش GitHub من سنوات مضت.

تعلمت من خلال الجلوس مع المادة العلمية حتى استوعبتها تماماً.

الآن، أرى نمطاً جديداً. الناس لا يسألون لماذا يبدو قسم ما مربكاً، بل يطلبون الكود الخاص بـ X. لا يتتبعون الشيفرة المصدرية لفهم السلوك، بل يسألون عما تفعله الدالة (function).

كان الهدف هو الاستيعاب، أما الآن فالهدف هو المخرجات. يسمي الناس هذا كفاءة، لكنه في الواقع دَين تقني.

يمكنك إنشاء قاطع دائرة (circuit breaker) دون معرفة ما هي الحالة شبه المفتوحة (half-open state). سيعمل في اختبارك، لكنه سيفشل في بيئة الإنتاج (production) بعد ستة أسابيع تحت ضغط العمل العالي. أنت تفشل لأنك لا تملك نموذجاً ذهنياً (mental model)؛ لقد حصلت على "ماذا" دون أن تعرف "لماذا".

الـ "لماذا" هي الجزء الوحيد الذي يهم.

قراءة الوثائق تبني نموذجاً ذهنياً. ترى المقايضات (tradeoffs) والحالات الاستثنائية (edge cases) في الحواشي. الاحتكاك الذي تشعر به أثناء القراءة هو المكان الذي يحدث فيه التعلم.

عندما بنيت Bookmark Brain، كان عليّ فهم Cloudflare Vectorize. لم أكتفِ باستخدام الـ API فحسب، بل درست أبعاد التضمين (embedding dimensions)، وسلوك الفهرس (index behavior)، ومقاييس مسافة الاستعلام (query distance metrics). قرأت ورقة HNSW البحثية، وجلست مع الحيرة حتى تحولت إلى معرفة.

تلك المعرفة هي ما يحافظ على استمرارية أنظمتي في بيئة الإنتاج. إذا تعطل شيء ما في الساعة الثانية صباحاً، فلدي نموذج ذهني يرشدني. لو اكتفيت باستخدام الأوامر (prompts) فقط، لكان لدي مجرد نموذج تجريبي (demo)، وليس نظاماً يمكنني تحليله منطقياً.

هذا يخلق فجوة في الهندسة.

  • في مراجعة الكود (code reviews): يلاحظ أحد المطورين مشكلة N+1 فوراً لأنه قرأ وثائق الـ ORM، بينما يغفل عنها المطور الآخر لأنه اكتفى بتوليد الكود فقط.
  • في الهندسة المعمارية (architecture): يفهم أحد المطورين تقسيمات Kafka وإزاحاتها (offsets)، بينما يعرف الآخر المصطلحات فقط لكنه يفتقر إلى الهيكل.
  • في تصحيح الأخطاء (debugging): تصحيح الأخطاء هو نتاج لنموذجك الذهني. وبدونه، ستكتفي بتغيير الأشياء وتأمل الأفضل.

لا يمكن للذكاء الاصطناعي استيعاب بنية معمارية كاملة؛ فهو لا يرى الصورة الكبيرة عبر كامل قاعدة الكود الخاصة بك. لقد رأيت طبقات تخزين مؤقت (caching layers) تم إنشاؤها بواسطة الذكاء الاصطناعي تجتاز كل الاختبارات، ثم تنهار في بيئة الإنتاج لأن أحداً لم يفهم حالات التسابق (race conditions).

الفجوة لا تتعلق باستخدام الذكاء الاصطناعي، بل بكيفية استخدامه.

هل تستخدمه لفهم المقايضات؟ أم تستخدمه لتجنب الفهم؟

أفضل المطورين لا يكتفون بالتحرك بسرعة فحسب، بل لا يزالون يقرأون سجلات التغيير والشيفرة المصدرية. إنهم يبنون نموذجاً ذهنياً لا يمكن للأوامر النصية (prompting) محاكاته.

قراءة الوثائق هي ممارسة، وليست ضريبة على إنتاجيتك. إنها ما يجعلك عنصراً لا يمكن استبداله عندما يتعطل النظام.

إذا تخطيت القراءة، فقد تخطيت التفكير. لن تدرك ذلك حتى تجد نفسك في بيئة الإنتاج دون أي شيء تستند إليه.

المصدر: https://dev.to/dannwaneri/you-stopped-reading-the-docs-now-you-dont-understand-the-systems-go1

مجتمع تعليمي اختياري: https://t.me/GyaanSetuAi