العناية الواجبة التقنية ليست مسابقة في جودة الشفرة، والفرق التي تستعد لها تنفق وقتها عادة على الشيء الخطأ. لا أحد يشتري شركة كي يضع درجات لطبقات التجريد التي كتبتها. الطرف المشتري يحاول أن يعرف كم سيكلفه امتلاك هذا النظام، وإلى أي مدى يمكن أن تسوء الأمور بعد أن تنتقل الأموال من يد إلى يد. إعادة الصياغة هذه مهمة لأنها...
دروس البرمجة
دروس برمجة عملية بأمثلة واضحة وأفضل الممارسات لبايثون وC++ وجافاسكربت وغيرها. طوّر مهاراتك في التصميم والاختبار والأداء.
يبدأ العمل على أداء قاعدة البيانات عادةً باقتراح من أحدهم بترقية الخادم إلى نسخة أكبر، وينتهي عادةً باكتشاف أن استعلاماً واحداً كان يجري مسحاً تسلسلياً على 4 ملايين صف في كل تحميل للصفحة. لم تكن العتاد يوماً هو القيد. كانت خطة التنفيذ هي القيد. هذا النمط متكرر بما يكفي ليستحق أن يُصاغ كافتراض مبدئي. فحين يكون التطبيق...
عادةً ما تُوصَف استراتيجيات اختبار البرمجيات بلغة نسبة التغطية، والتغطية هي أقل الأرقام إفادةً في هذا المجال كله. قاعدة شيفرة عند تسعين بالمئة قد تُطلق خطأً في أكثر مساراتها استخداماً، لأن التغطية تقيس أي الأسطر جرى تنفيذها أثناء تشغيل الاختبارات، لا ما إذا كان قد جرى التحقق من شيء ذي معنى بشأنها. الفرق التي تثق بحزمة...
يجري تسعير تطوير برمجيات الفينتك وجدولته تماماً مثل أي تطوير برمجي عادي، إلى أن يسأل أحدهم عن الجهة المرخص لها بحيازة الأموال. عند تلك اللحظة يتوقف المشروع عن كونه تمريناً هندسياً ويصبح تمريناً تنظيمياً له مكوّن هندسي، ويتوقف الجدول الزمني الذي كان في ذهنك عن كونه قابلاً للتحقيق. التقنية نادراً ما تكون الجزء الصعب....
يخرج تطوير برمجيات MVP عن مساره في اجتماع تحديد النطاق، لا أثناء البناء. يقول أحدهم عبارة «المنتج الأولي القابل للتطبيق»، فيوافق الجميع بإيماءة من رؤوسهم، ثم تصل قائمة المزايا وفيها حسابات المستخدمين ولوحة إدارة ونظام فوترة وإشعارات ولوحة معلومات وتطبيق للهاتف. هذا ليس منتجًا أوليًا قابلًا للتطبيق. هذا منتج كامل،...
من يقدّر تكلفة تطوير واجهات API المخصصة انطلاقاً من عدد نقاط النهاية سيكون مخطئاً، وبمعامل ثلاثة عادةً. نقاط النهاية هي الجزء الأرخص. اثنتا عشرة منها تقرأ وتكتب بيانات تملكها أصلاً هي عمل بعد ظهر واحد لمطوّر خلفي كفء. ما يكلف المال هو كل ما يحوّل تلك النقاط إلى شيء تبني عليه شركة أخرى أعمالها: مصادقة تنجو من مراجعة...
شراء خدمات تحديث COBOL ليس كشراء أي نوع آخر من أعمال البرمجيات. فالنظام المعني يعمل منذ ثلاثين أو أربعين سنة، ولا أحد من الموظفين الحاليين يفهمه بالكامل، وعواقب الخطأ تُقاس بإخفاقات في التقارير التنظيمية لا بمراحل تسليم فائتة. وفي الوقت نفسه، تَعِد كل العروض على مكتبك بالنتيجة ذاتها بأسعار متباينة بشدة. يوضّح هذا...
يصل قرار توظيف مطوّر C++ عادةً ومعه مشكلة محددة. شيء يجب أن يكون سريعاً، أو يجب أن يعمل على عتاد، أو يجب أن يتصل بمكتبة لا تُشحن إلا بواجهة أصلية. وما يلي ذلك عملية توظيف تعامل C++ بوصفها مهارة واحدة، وذلك الافتراض هو مصدر معظم النتائج المخيبة. C++ ليست وظيفة واحدة. فمبرمج محركات الألعاب اللامع قد يكون غير منتج...
تكامل واجهات الطرف الثالث هو العمل الأكثر تقليلاً لتقديره باستمرار في البرمجيات التجارية. الوثائق تُقرأ بوضوح، والمزوّد ينشر مكتبة عميل، وأحدهم يقول أسبوعان. وبعد ستة أسابيع لا يزال الفريق يتجادل حول ما ينبغي أن يحدث حين يصل webhook مرتين لطلب جرى استرداده أصلاً. الفجوة ليست قلة كفاءة. بل أن الجزء المثير في أي تكامل...
الشركات التي تحتاج إلى توظيف مطوّر Qt تبني عادةً شيئاً يجب أن يعمل على جهاز لا في متصفح: لوحة أجهزة، أو أداة تشخيص، أو تطبيق تحكم لعتاد لا يدعمه أحد غيرها. مجموعة المرشحين جزء صغير من حجم سوق الويب، والمفردات مختلفة، والاختصارات المعتادة في التوظيف لا تنجح. فالموظِّف الذي يرشّح على «C++» سيسلّمك أشخاصاً لم يكتبوا سطر...