الواجهة
الواجهة التي يراها المستخدم ويتعامل معها يومياً. سريعة، وسهلة الاستخدام، وتعمل حتى على اتصال ضعيف.
- Next.js
- React
- TypeScript
- تصيير من الخادم أولاً
- تعدّد اللغات ودعم RTL

خمسة عشر عاماً، وخمس شركات، والنصف الذي يؤجّله أغلب المطوّرين إلى الأخير.
خمسة عشر عاماً وأنا أكتب الكود، بدأتها بالتوازي مع إدارة عمليات شركات يملكها آخرون — وهناك تعلّمت ما الغرض الحقيقي من البرمجيات. أسّست Cosmos Technologies وJobatak وCosmos Community، وأقود العمل التقني في Edura وAggarly. والجزء الذي لم أفوّضه يوماً هو تصميم النظام نفسه.
ومعنى ذلك عملياً أنني أتولّى القرارات التي يصعب التراجع عنها: أين تمرّ الحدود بين الأنظمة، ومن يملك الهوية، وما الذي يصل إليه المهاجم فعلاً حين تسقط خدمة واحدة. ثم أجعل الانحراف عن هذه القرارات مستحيلاً: طبقةُ منطقٍ يرفضها CI إن استوردت إطار عمل، ومزوّد هوية نشغّله بأنفسنا لا نستأجره، وتشفيرٌ مصمَّم لتُستبدل خوارزميته دون المساس بالبيانات. والبنية التي لا توجد إلا في مستند ليست بنية.
أما النصف الآخر فهو الأمن السيبراني، وقد جئتُه من طريق طويل: ماجستير من جامعة القاهرة، وأربع سنوات داخل المركز المصري لمكافحة الإرهاب. حين تقضي هذه المدة في دراسة كيف تنهار الأنظمة، يتغيّر ترتيب خطواتك: نمذجة التهديدات أولاً، ثم الوظائف. ولهذا تُقرأ الطبقات التالية من الأسفل إلى الأعلى.
الأدوات أقل أهمية بكثير من الحدود التي تفصل بينها — لكن السؤال يتكرّر، فإليك المنظومة من الأسفل إلى الأعلى. والأمن في الأسفل لأنه نقطة البداية.
الواجهة التي يراها المستخدم ويتعامل معها يومياً. سريعة، وسهلة الاستخدام، وتعمل حتى على اتصال ضعيف.
قلب النظام، حيث تُدار قواعد العمل والبيانات. حدود واضحة بين المكوّنات، ونماذج بيانات تعكس الواقع دون تعقيد لا لزوم له.
الأساس الذي يقوم عليه كل ما سبق. بيئات يمكن إعادة بنائها في أي وقت، ونشر آلي، وإمكانية التراجع السريع عند أول خلل.
الطبقة التي تتركها أغلب الفرق إلى آخر المشروع. أنا أبدأ منها: نمذجة التهديدات أولاً، ثم الوظائف.
الطبقات لا تساوي شيئاً دون قواعد تفصل بينها. وهذه هي الممارسات التي تفرضها، وهي السبب في أن يظل تعديل النظام آمناً بعد عامين من إطلاقه.
ثماني سنوات من هذا العمل: أربعٌ منها داخل المركز المصري لمكافحة الإرهاب، وبقيتها استشاراتٌ لشركات أرادت أن تُكتشف الثغرة قبل أن يكتشفها غيرها. وهذه حصيلة ذلك عملياً، لا على الورق.
لا تعرف حقاً إن كان النظام صامداً إلا بمهاجمته. باتفاق وحدود واضحة، وتقرير يستطيع مهندسوك العمل به فوراً.
بعد أي حادثة تتكرّر الأسئلة نفسها: ماذا حدث، ومتى، وما الذي خرج من الشركة. والإجابة تحتاج أدلة، لا تخميناً.
هنا تحديداً ذهبت سنوات مكافحة الإرهاب. تتبّع فاعلٍ عبر ما يتركه خلفه مجالٌ مختلف عن تأمين خادم، وهو يغيّر طريقة قراءتك لأي نظام بعدها.
كل ما سبق لا قيمة له إن لم يغيّر النظام. وهذا هو الجزء الذي يغيّره: إغلاق ما ظهر، ثم ضمان اكتشاف ما يأتي مبكراً.
عادةً ما يأتيني الناس بواحدة من ثلاث مشكلات.
لديك ما تريد بناءه، ولا فريق يبنيه. آخذه من مستودع فارغ إلى منتج يعمل بين أيدي المستخدمين، ببنية مدروسة منذ اليوم الأول لا متروكة للصدفة.
لديك نظام يعمل بالفعل، ولستَ واثقاً من أنه سيصمد أمام من يحاول اختراقه. أراجعه بعين المهاجم، ثم أحصّن ما يحتاج إلى تحصين.
لديك مهندسون، لكن لا أحد يمسك بالدفّة التقنية. أتولّى هذا الدور بدوام جزئي: البنية، والتوظيف، ومتابعة التنفيذ — لتتفرّغ أنت لعملك.
لا أستطيع نشر أعمال عملائي، فإليك أقرب بديل: صِف ما بنيته، وشاهد المراجعة الأولى تجري أمامك.
صِف ما بنيته. ستحصل على المراجعة الأولى نفسها التي أبدأ بها في أي نظام قبل أي شيء آخر: نقاط الدخول، والمخاطر التي تنطبق فعلاً على ما تستخدمه، وما لا يمكن لفقرة نصية أن تكشفه لي أو لك.
أين حدث كل ذلك، من الأحدث إلى الأقدم.
الجزء الذي يمكنك التحقّق منه.
التعليم
اللغات
إن وجدت في هذا ما يشبه ما تبنيه، فراسلني. أقرأ كل رسالة بنفسي.