انتقل للمحتوى

فلسفتي الهندسية

ببني أنظمة
واضحة، وموثوقة، ومفيدة.

شغلي غالبًا بيجمع بين الـ backend architecture، والـ infrastructure بتاعة الـ AI، وفهم المنتج، والقيادة التقنية. ودي المبادئ اللي برجع لها وأنا بصمم أنظمة production أو بساعد الفريق ياخد قرار صعب.

الاعتمادية الأول

بصمم النظام عشان يفضل قابل للاستخدام وقت الضغط والصيانة، وحتى لو جزء منه تعطّل. بحدد مسؤولية كل خدمة، وإزاي الوظائف الأساسية تفضل شغالة بإمكانيات أقل وقت العطل (graceful degradation)، وخطوات استعادة الخدمة.

الـ observability قبل الـ optimization

قبل ما أظبط أداء أي نظام، عايز traces، و metrics، و logs، وإشارات من المنتج تشرح الوقت بيروح فين، والمستخدمين بيمرّوا بإيه. القياس بيخلّينا نعرف سبب المشكلة قبل ما نصرف وقت في حلها.

المشكلة الأول، والـ stack بعدها

بختار اللغة والـ framework حسب المشكلة وخبرة الفريق ومتطلبات الأداء والتشغيل. وبوضّح مسؤوليات الخدمات ومسارات البيانات عشان نقدر نعدّل التصميم لما الاحتياجات تتغير.

القياس قبل الـ scaling

قرارات الـ scaling لازم تيجي من الأدلة: الـ throughput، والـ p95 latency، وطول الـ queue، والـ error budgets، ومنحنيات التكلفة، والتأثير على المستخدم. الـ scaling قبل وقته بيزوّد التعقيد من غير تحسّن فعلي في الاعتمادية.

الأثر على المنتج مش الموضة التقنية

الـ AI والأنظمة الموزعة وشغل المنصات مبيفرقوش غير لما يحسّنوا workflow حقيقي. بربط الاختيارات التقنية بقرارات أسرع، أو اعتمادية أحسن، أو تكلفة أقل، أو قيمة أوضح للعميل.

الأمان والخصوصية من أول التصميم

الأمان مش checklist قبل الإصدار. مكانه في تصميم الـ API، ونمذجة البيانات، والتحكم في الصلاحيات، واستراتيجية الـ logging، وإدارة الـ dependencies، والـ defaults اللي المهندسين بيستخدموها كل يوم.

القيادة العملية

القيادة التقنية بتنجح أكتر لما الاستراتيجية والتنفيذ يفضلوا مربوطين. بقود مراجعات الـ architecture، وبوجّه المهندسين، وبساعد الفريق يحسم القرارات الصعبة، ولسه ببص بنفسي على أجزاء الكود اللي فيها مخاطرة.

التوثيق كأداة للتوسع

التوثيق الكويس بيقلل الاجتماعات، ووقت الـ onboarding، والاعتماد على معلومات موجودة عند أشخاص بعينهم بس. بوثّق القرارات، والـ runbooks، والـ contracts، والمفاضلات، عشان الفرق تتحرك من غير ما تستنى شخص واحد.

ده بيبان إزاي

من مراجعة الـ architecture لحد النتيجة على الـ production.

ببدأ بأبسط تصميم يحقق هدف المنتج، وبحدد إزاي هنراقبه ونأمّنه ونشغّله. وبنظّم الشغل مع الفريق عشان نقدر نصونه ونطوّره بعد الإطلاق.