كيف أعمل معك

تدريب الفرق

تدريب الفرق هنا يُصمَّم لكل عميل على حدة لا يُباع من كتالوج: يُبنى المنهج حول ما يتعثّر فيه مهندسوك فعلاً، ثم يُدرَّس كدورة عملية لعدّة أيام مع تمارين وقاعدة شيفرة عاملة يحتفظون بها. وهذه هي الطريقة نفسها المتّبعة في كل ارتباط آخر على هذا الموقع — فهم المشكلة قبل تحديد ما يُبنى — مطبَّقةً على التدريس. وقد تراوحت الدورات المُقدَّمة حتى الآن بين تصميم وتنفيذ الخدمات المصغّرة باستخدام ‎.NET والتطوير المتكامل بـ‎.NET وBlazor، كلتاهما لفرق هندسية حكومية في الخليج، بالعربية.

تدريب عملي لعدّة أيام مصمَّم حول ما يتعثّر فيه فريقك فعلاً — لا منهج جاهز، ومع قاعدة شيفرة عاملة يحتفظون بها.

لمن هذا

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

عملياً، هذه إحدى ثلاث حالات:

  • فريق أمام قرار معماري لا يملك الثقة لاتّخاذه. الفصل إلى خدمات، أو إعادة هيكلة الوحدات، أو اختيار ما يُبنى وما يُشترى — قرارات ظلّت مؤجَّلة لأن كلفة الخطأ فيها واضحة للجميع.
  • فريق يعرف الأدوات ولا يعرف الحدود. يكتبون ‎.NET كل يوم، لكنّ كل خاصية جديدة تلمس كل مجلّد، ولا أحد يستطيع أن يقول أين ينتهي جزء ويبدأ آخر.
  • معرفة محبوسة في رأس واحد. مهندس أقدم يفهم النظام فهماً كاملاً، والبقية يسألونه — وهذا يعمل حتى اليوم الذي يأخذ فيه إجازة.

أعمل مع فرق الهندسة في الشركات الناشئة والمنشآت الصغيرة والمتوسطة والجهات الحكومية، في الخليج والمنطقة العربية أساساً.

كيف تُصمَّم الدورة

لا يوجد كتالوج دورات في هذه الصفحة، وذلك مقصود. المنهج الجاهز يفترض أن مشكلة فريقك هي المشكلة المتوسّطة لكل الفرق، وهي ليست كذلك أبداً — وأغلب ما يُهدر في التدريب المعلَّب يُهدر في أيام تشرح ما يعرفه الحاضرون سلفاً.

فتبدأ العملية بالترتيب نفسه الذي يبدأ به أي ارتباط آخر على هذا الموقع:

  • محادثة عن النظام الحقيقي — ما الذي بُني، وما الذي صار صعب التغيير، وأي قرار معلَّق، وما الذي يشتكي منه الفريق حين لا يكون أحد من الإدارة في الغرفة.
  • تحديد نقطة البداية — ما الذي يعرفه الجميع أصلاً. تقدير هذه النقطة خطأً هو السبب الأول في ضياع يوم كامل من الأيام الخمسة.
  • بناء التمارين على شكل نظامكم — لا على متجر إلكتروني افتراضي. حين يشبه التمرين ما يعمل عليه المهندس فعلاً، ينتقل ما تعلّمه إلى عمله دون وسيط.
  • ثم الشرائح — أخيراً، لأنها أداة الشرح لا هيكل الدورة.

كيف يبدو الأسبوع

خمسة أيام حضورية، والنصيب الأكبر منها للتمارين لا للعرض. النمط المتكرّر في اليوم هو: مسألة تُطرح، ثم يُبنى الحلّ في الشيفرة، ثم تُناقَش البدائل التي رُفضت ولماذا. البدائل المرفوضة هي الجزء الذي يبقى — فمعرفة لماذا لا يصلح خيارٌ ما أنفع من حفظ الخيار الذي يصلح.

وفي نهاية الأسبوع يكون الفريق قد بنى شيئاً يعمل معاً، لا شاهد شخصاً يبنيه.

ما الذي يبقى مع الفريق

  • الشرائح — للرجوع إليها ولتمريرها إلى من ينضمّ لاحقاً.
  • التمارين بحلولها، فيمكن إعادتها بعد شهر لاختبار ما ثبت فعلاً.
  • قاعدة شيفرة عاملة بُنيت خلال الأيام الخمسة — وهي المرجع الذي يعود إليه المهندس حين يواجه المسألة نفسها في نظامكم الحقيقي.

لا شيء من ذلك مشروط بارتباط لاحق. الدورة قائمة بذاتها.

الدورات المُقدَّمة

دورتان عمليتان، كلٌّ منهما خمسة أيام حضورية في كوالالمبور، بالعربية، في 2026، ولكلٍّ منهما جهة حكومية في الخليج. المنهجان مختلفان تماماً، وهذا هو بيت القصيد: النوع نفسه من العملاء، ومحتويان لا يشتركان في شيء تقريباً.

  • تصميم وتنفيذ الخدمات المصغّرة باستخدام ‎.NET — لجهة حكومية سعودية. حدود الخدمات، وملكية البيانات عبر الشبكة، وما الذي يحلّ محلّ المعاملة الواحدة حين تُوزَّع وحدة العمل، وما يجب أن يوجد تشغيلياً قبل أول خدمة.
  • ‎Microsoft .NET مع Blazor — تطوير متكامل — لجهة حكومية عُمانية. بناء تطبيق متكامل من الواجهة إلى قاعدة البيانات بمنظومة ‎.NET‏، مع الحدود التي تبقي الطرفين قابلين للتغيير باستقلال.

لا تُذكر الجهتان بالاسم لأنه لا إذن بذلك، وما يُذكر هنا هو المادة والطريقة، وهما لي أصفهما. ولا تُذكر أعداد الحضور ولا تقييماتهم لأنها لم تُجمع، وذكرها دون جمعها اختلاق.

المحاضرات

محاضرتان، كلٌّ منهما 30 دقيقة بالعربية في Arabic Dev Group Malaysia:

  • معمارية تعدّد المستأجرين — القرارات التي تُحسم قبل أول خاصية ولا يمكن التراجع عنها بعد أن يحتفظ عملاء حقيقيون ببياناتهم في النظام.
  • كيف تُوسّع منصّة برمجيات كخدمة — أين تظهر الاختناقات فعلاً، ولماذا يكون أوّلها غالباً في مكان غير الذي يتوقّعه الفريق.

موضوعا المحاضرتين هما موضوع تطوير منصّات البرمجيات كخدمة نفسه، وهي الخدمة التي بُنيت على ثلاث منصّات أسّستها بنفسي.

أسئلة عن هذا العمل

كيف يُحدَّد محتوى الدورة؟

يبدأ بمحادثة عن النظام الذي يعمل عليه فريقك فعلاً وأين يتعثّر: قرار معماري مؤجَّل منذ شهور، أو شيفرة صار تغييرها مخيفاً، أو فجوة بين ما يعرفه مهندس أقدم وما يعرفه بقية الفريق. من ذلك يُبنى المنهج والتمارين. وهذا يعني أن دورتين للعميلين نفسي النوع قد تختلفان اختلافاً كاملاً، وقد حدث ذلك: إحدى الدورتين المُقدَّمتين كانت عن تصميم وتنفيذ الخدمات المصغّرة، والأخرى عن التطوير المتكامل بـ‎.NET وBlazor. الطريقة واحدة، والمحتوى ليس كذلك.

هل التدريب حضوري أم عن بُعد؟

الدورات المُقدَّمة حتى الآن كانت كلها حضورية: خمسة أيام في القاعة نفسها مع الفريق، في كوالالمبور، بالعربية. الحضور ليس تفصيلاً شكلياً في تدريب مبني على التمارين — فأكثر ما يُتعلَّم يحدث حين يتعثّر مهندس في تمرين وتُناقَش المسألة على شاشته في حينها. إن كان السفر غير ممكن في حالتك فاذكر ذلك في أول رسالة ونناقشه، لكنّي لا أدّعي هنا صيغةً لم أُقدّمها بعد.

ما الذي يبقى مع الفريق بعد انتهاء الدورة؟

الشرائح، والتمارين، وقاعدة شيفرة عاملة بُنيت خلال الأيام الخمسة. قاعدة الشيفرة هي الأهمّ: هي المرجع الذي يعود إليه المهندس بعد شهرين حين يواجه المسألة نفسها في نظامكم الحقيقي، وهي الفرق بين دورة تُنسى وأخرى تبقى مؤثّرة. لا شيء من هذا مشروط بارتباط لاحق معي.

هل تُدرّس الخدمات المصغّرة أم النواة الأحادية المعيارية؟

كلتيهما، ومتى تُختار كلٌّ منهما — وهذا هو الدرس الفعلي. افتراضي في بناء الأنظمة هو النواة الأحادية المعيارية، لأن معظم الفرق تدفع كلفة النظام الموزّع قبل أن تحتاجه. لكنّ إحدى الدورتين المُقدَّمتين كانت عن الخدمات المصغّرة تحديداً، لفريق بلغ الحجم الذي تصير عنده مبرَّرة. لا تعارض بين الأمرين: معرفة متى تكون الخدمات المصغّرة مبرَّرة ومتى لا تكون هي الخبرة نفسها، ومن يُدرّس واحدة منهما فقط لا يستطيع تدريس أيٍّ منهما جيداً.

ما حجم الفريق المناسب، وماذا لو تفاوتت مستويات المهندسين؟

التفاوت هو الحالة الطبيعية لا الاستثناء، والتدريب المبني على التمارين يتعامل معه أفضل من المحاضرة: المهندس الأقدم يمضي في التمرين أبعد، والأحدث يصل إلى النقطة الجوهرية، ويشتركان في المناقشة نفسها. ما يُحدَّد قبل الدورة هو نقطة البداية — ما الذي يُفترض أن يعرفه الجميع أصلاً — لأن الخطأ في تقديرها هو السبب الأول في ضياع يوم كامل.

بأي لغة تُقدَّم الدورة؟

بالعربية أو بالإنكليزية. الدورات المُقدَّمة حتى الآن كانت كلها بالعربية، وهذا ليس تفصيلاً ثانوياً: المادة المعمارية الجادّة بالعربية شحيحة، وفريق يتعلّم المفاهيم بلغته يناقشها بعد ذلك بلغته — وهي اللغة التي يتّخذ بها قراراته الحقيقية. المصطلحات التقنية تبقى بصيغتها الإنكليزية المتعارف عليها، لأن ترجمتها تُصعّب البحث عنها لاحقاً لا تُسهّله.

تدريب الفرق — أخبرني بما لديك الآن.

ابدأ محادثة

كل الخدمات ←