في أغسطس، Tailscale نشرو تقرير عن bug لقوهو في مسار WAL reset في SQLite. الـbug كان قاعد هناك من حوالي ٢٠١٠.
يا مؤمن، bug يقعد ١٦ سنة ده كتير شديد. والـ bug ده كان في SQLite، وهي بمعظم المقاييس أكثر سوفتوير مختبر من ناحيه الاستخدام علي ال production في الاستخدام العام. فيها اكواد اختبارات أضعاف كود المكتبة. وبتشتغل على مليارات الأجهزة. وده قعد جواها ستاشر سنة.
وأنا شايف ده مريح.
اتلقى كيف
التقرير بيوصف الشغل خطوة خطوة: بلاغ تلف نادر، وعجز عن إعادة الإنتاج، وأدوات قياس، وrepro أضيق، وقراءة دقيقة لمواصفة صيغة الـWAL، وبعدين الإغلاق البطيء للفجوة بين الكود بيقول شنو والصيغة بتتطلب شنو.
وده أسابيع شغل غير براق وغير مؤكد على مشكلة ممكن تطلع ما حاجة.
وشغل زي ده بيعملو زول ما قادر يسيبو، من غير ما زول يكلّفو بيهو.
عمر الـbug بيقول ليك شنو
وبقاء الـ bug كل الوقت ده بيوري حدود الاختبار.
ستاشر سنة من تغطية اختبارات هائلة ما لقتو، لأنو الاختبارات بتشفّر حالات الفشل الإنت تخيلتها أصلاً. وده عاش في التقاطع الضيق بين حالة نادرة، وتسلسل محدد، ومسار كود تقريباً ما بيشتغل. وبتوصل هناك بس لما تفهم النظام بعمق كفاية عشان تسأل سؤال ما زول سألو.
والفهم ده ما بيظهر في أي مقياس مؤسستك بتجمعو.
الجزء عن فريقك
كل مؤسسة بتقول انها عاوزة خبرة عميقة. وقليل جداً بيبنو الظروف ليها.
الخبرة العميقة بتجي من انك تفضل مع نظام واحد وقت كفاية عشان تطوّر حدس عنو، ومعظم المسارات المهنية في الهندسة مبنية عشان تمنع ده: دوّر عشان تنمو، نزّل عشان تتشاف، امشي قبل ما المشكلة المثيرة تطلع. والزول البيلقى bug عمرو ستاشر سنة قعد في الحتة ديك وقت كفاية عشان يشم الريحة.
لو كل زول في فريقك قاعد على نظامو من إحدى عشر شهر، فعندك فريق ناس كفؤة وما في زول قادر يلقى الصنف ده من المشاكل. وده اختيار توظيف، وعادة بيتاخد من غير ما زول يلاحظ انو أخدو.
التقرير ممتاز وتقني. اقراهو، وبعدين بص كم قاعد أطول مهندس عندك على نظامو.
رسالة واحدة مع كل مقال جديد، فيها أبحاث وقرارات منتج وما تبلغنا به الفرق.







