
مهندس سوريّ يبني الأنظمة، يُعلِّم المهندسين، ويكتب في العلن.
أُسلِّم أنظمة إنتاجيّة متعدّدة المستأجرين لعملاء في منطقة الشرق الأوسط وشمال إفريقيا، أُدير دفعات صغيرة للمهندسين العاملين، وأنشر مقالات طويلة عن الحرفة. شخص واحد، أربع غرف، صوت واحد.
Summary
علي هيثم يوسف مهندس برمجيات سوريّ يعمل من دمشق، سوريا. بنى البرمجيّات الإنتاجيّة لأكثر من عشر سنوات، ويُركّز حاليّاً على أنظمة SaaS متعدّدة المستأجرين، تطبيقات Flutter تعمل دون اتّصال، وأنظمة محاسبة بدرجة تدقيق. مشروعه الرئيسيّ Mohaseb، نظام ERP مبنيّ على Laravel و Flutter يخدم أكثر من 500 منشأة صغيرة ومتوسّطة في السعوديّة وسوريا والإمارات.
At a glance
- مهندس برمجيات سوريّ مقرّه دمشق، سوريا. لغته الأمّ العربيّة، ويُجيد الإنجليزيّة.
- أكثر من عشر سنوات في الإنتاج، عمل كامل الحزمة في Laravel و Flutter و React و Postgres و Redis.
- مؤسّس ومهندس رئيسيّ لنظام Mohaseb، ERP متعدّد المستأجرين يخدم أكثر من 500 مستأجر في السعوديّة وبلاد الشام.
- متخصّص في محرّكات المزامنة دون اتّصال، الفوترة الإلكترونيّة المتوافقة مع ZATCA، والمحاسبة بالقيد المزدوج بدرجة تدقيق.
- حاصل على شهادة Coursera في "Agile Leadership" من جامعة كولورادو في الولايات المتّحدة.
- يكتب مدوّنة تقنيّة طويلة بالعربيّة والإنجليزيّة بسلاسل عميقة عن محرّكات المزامنة والعمارة متعدّدة المستأجرين.
أربع غرف، ساكن واحد.
معظم المواقع الشخصيّة تختار دوراً واحداً وتُخفي البقيّة. هذا الموقع يمتلك الأربعة جميعاً علناً. الصوت يبقى نفسه عبرها، فقط يتغيّر القطعة المعروضة.
- أشحن
مهندس
أنظمة كاملة من الـ backend إلى التطبيق. SaaS متعدّد المستأجرين، تطبيقات offline-first، مزامنة بالوقت الحقيقيّ، محاسبة بدرجة تدقيق. أعمل من طرف لطرف لتتراكم المقايضات عبر الـ stack.
١٤ نظام إنتاج شُحن منذ ٢٠١٨
شاهد العمل المختار ← - أُدير دفعات
مُعلِّم
دفعات حيّة صغيرة ودورات ذاتيّة لمهندسين يشحنون أصلاً. التعليم بسيط: قاعدة كود إنتاجيّة واحدة لكلّ دورة، فشل حقيقيّ، إصلاح حقيقيّ. لا ألعاب شجرة مهارات.
+١٨٠ مهندس عبر دفعات منذ ٢٠٢٢
تصفّح التدريب ← - أكتب
كاتب
مقالات طويلة عن الأنظمة، المزامنة، والأجزاء التي لا يكتب أحد عنها. تكافؤ بين العربيّة والإنجليزيّة. لا قوائم، لا ملخّصات AI، لا حشو SEO.
٢٢ مقالة + ٤ سلاسل، ع + إن
اقرأ الكتابات ← - أستضيف
مجتمع
مساحة خاصّة صغيرة لمهندسين أخذوا دورة أو قرأوا سلسلة طويلة ويريدون مواصلة الجدل حول العمل. هادئ، بطيء، صريح. ليس Discord للتمرير.
~٤٠٠ عضو، بالدعوة
انضمّ إلى البوّابة ←
كيف وصلتُ إلى هنا.
أربعة فصول بنثر بسيط. ليست سيرة ذاتيّة. التواريخ وأسماء الشركات placeholder حيث الحقيقيّة لا تزال تحت اتّفاقيّة سرّيّة.
٢٠١٤–٢٠١٧ بدأتُ بكسر الأشياء عن قصد.
تعلّمتُ البرمجة كما تعلّمها معظم المهندسين في دمشق آنذاك: لابتوب مُستعار، رزمة PDFs مُقرصنة، واتّصال إنترنت يعمل نصف الوقت. كسرتُ الكثير من الأشياء عن قصد. أوّل عمل مدفوع كان مواقع Joomla صغيرة لمطاعم محلّيّة. دفعت نقداً وعلّمتني الدرس الوحيد الذي بقي: شحن شيء يستخدمه شخص حقيقيّ يُغيّر طريقة تفكيرك.
٢٠١٧–٢٠٢٠ ثلاث سنوات داخل startup دمشقيّة.
انضممتُ إلى startup صغيرة B2B بصفتي المهندس الثالث وبقيتُ ثلاث سنوات. بنينا منصّة محاسبة متعدّدة المستأجرين من الصفر إلى ~٦٠٠ شركة صغيرة دافعة. امتلكتُ محرّك المزامنة، ثمّ تطبيق الموبايل، ثمّ معظم الـ backend. شحنتُ أوّل migration إنتاجيّ فقد بيانات، تعلّمتُ كيف يكون الشعور في الثانية صباحاً، وأعدتُ بناء طبقة الـ offline بأكملها لكي لا تتكرّر. معظم ما أُعلِّمه الآن يعود إلى تلك القاعدة.
٢٠٢٠–٢٠٢٣ مستقلّ. عملاء عبر المنطقة.
تركتُ لأعمل لنفسي. كان العمل غالباً مهندساً-كبيراً-بالإعارة: ربع على تطبيق رعاية صحّيّة في الرياض، ستّة أشهر إعادة هيكلة لـ ledger مدفوعات في دبي، ثمّ مرحلة طويلة هندسة منصّة لوجستيّات بالوقت الحقيقيّ تتعامل مع ٤ آلاف حدث في الدقيقة. بدأت أوّل cohort في ٢٠٢٢، شبه صدفة: طلّاب من قناة YouTube طلبوا ساعات مكتب، ساعات المكتب صارت دورة من ستّة أسابيع، الدورة صارت شيئاً.
٢٠٢٣–الآن أبني المنصّة التي تقرؤها.
اليوم العمل مقسوم: تقريباً نصف هندسة عملاء لارتباطَين في وقت واحد، ونصف تعليم وكتابة. الموقع الذي تقرؤه هو المنزل لكليهما. أكتبُ كوداً من الإثنين إلى الأربعاء، أكتبُ مقالات يوم الخميس، أُدير جلسات cohort في عطلات الأسبوع. المجتمع هو الخيط الذي يربط كلّ ذلك معاً.
الهندسة، في خمسة التزامات.
هذه ليست مبادئ قرأتها في كتاب. هي مواقف أُجادل عنها، ومواقف معاكسة أرفضها.
اشحن، ثمّ أعِد البناء.
شيء قبيح يعمل في الإنتاج يتفوّق على شيء جميل في فرع. أعِد البناء على حمل حقيقيّ، مستخدمين حقيقيّين، بلاغات أخطاء حقيقيّة. فخّ "العمارة المثاليّة قبل الإطلاق" يكلّف أكثر من أيّ دَين تقنيّ سدّدته.
×أرفض: إعادات كتابة لكود يشحن بخير.
تقنيّة مُمِلّة، حيث يهمّ.
Postgres، MySQL، Laravel، Nest، React، Flutter، Redis. الأدوات المُمِلّة لها عقود من أنماط الفشل المُخطَّطة. سأختار مكتبة عمرها ١٢ سنة تفعل شيئاً واحداً على مكتبة عمرها ١٢ أسبوعاً تفعل عشرة.
×أرفض: إطار-الشهر للطبقات الأساسيّة.
Offline-first موقف، ليس ميزة.
تطبيقات الموبايل التي تفترض الاتّصال تنكسر في حياة المستخدمين الحقيقيّة. كلّ ميزة أُصمّمها أسأل: ماذا يحدث في موقف الباصات، في المصعد، في القرية بلا برج. ذلك يُغيّر العمارة من نموذج البيانات صعوداً.
×أرفض: UI تفاؤليّ بلا محرّك مزامنة وراءه.
الخادم هو مصدر الحقيقة.
العميل cache بواجهة. كلّ تعارض يُحسم على الخادم، كلّ رقم يُعاد حسابه على الخادم، كلّ مسار تدقيق يُكتب على الخادم. العميل مسموح أن يكون مخطئاً؛ الخادم لا.
×أرفض: مجاميع محسوبة من العميل في الأنظمة الماليّة.
لاحِظ قبل أن تُحسِّن.
عمل الأداء بلا مقاييس فولكلور. أُجَهِّز أوّلاً، أجد المسار الحارّ الفعليّ، ثمّ أُصلح الشيء الواحد. معظم تقارير "البطء" تتّضح أنّها استعلام واحد، فهرس مفقود واحد، نداء mal-cached واحد.
×أرفض: تحسينات صغرى ضدّ خطوط أساس غير مقاسة.
التعليم، في ثلاثة التزامات.
أُعلِّم بالطريقة التي تمنّيتُ لو تعلّمتُ بها: كأقران، بكود حقيقيّ، على أنظمة حقيقيّة.
قاعدة كود إنتاجيّة واحدة لكلّ دورة.
كلّ دورة مبنيّة على قاعدة كود إنتاجيّة واحدة يعمل الطلّاب fork لها يوم الانطلاق. الدروس تمشي عبر commits حقيقيّة: الفشل، الإصلاح، المقايضات. لا تطبيقات todo. لا رسومات تجريديّة بلا كود ورائها.
×أرفض: دورات تُعلِّم الصياغة بأمثلة hello-world.
دفعات صغيرة، ساعات مكتب حقيقيّة.
الـ دفعات الحيّة محدودة بـ ١٢. كلّ طالب يحصل على 1:1 أسبوعيّ، مراجعة خاصّة على ميزة الإنتاج التي يشحنها في الأسبوع ٤، وأسئلة مفتوحة في قناة الـ cohort. ساعات المكتب ليست غرفة انتظار Zoom.
×أرفض: "دفعات" بـ ٢٠٠ طالب وخيط Slack واحد.
ثنائيّ اللغة، لا مُترجَم.
مواد الدورات بالعربيّة والإنجليزيّة تُكتَب بالتوازي، لا تُتَرجَم من واحدة لأخرى. اللغتان تحصلان على نفس العمق، نفس الأمثلة، نفس تعليقات الكود. العربيّة ليست خانة اختيار.
×أرفض: نصوص مُترجَمة آليّاً بصفة "دعم عربيّ".
الكتابة، في ثلاثة التزامات.
أكتب مقالات أقلّ من معظم الكتّاب، أطول من معظمهم، وفقط على مواضيع شحنتُ ضدّها في الإنتاج.
لا مقالة بلا قطعة عمل.
كلّ منشور طويل مرتبط بنظام حقيقيّ بنيتُه أو أُديره. عيّنات الكود من الإنتاج، قصص الفشل لي، المقاييس حقيقيّة. قتلتُ مسوّدات لم تجتز هذا الاختبار.
×أرفض: مقالات-تفكير عن أنظمة لم أُشغّلها.
الطول يطابق الجدل.
مقالة من ٤٠٠٠ كلمة عن حلّ تعارض المزامنة ليست "طويلة جدّاً" إن كان الجدل يحتاج ٤٠٠٠ كلمة. أرفض تقطيع الأفكار إلى ثماني تدوينات من ٥٠٠ كلمة لمطاردة الانطباعات. القرّاء يأتون هنا لشيء واحد.
×أرفض: قوائم اصطناعيّة، ملخّصات AI، حشو SEO.
تكافؤ ثنائيّ اللغة، لا ترجمة.
كما الدورات: نسختا العربيّة والإنجليزيّة تُكتَبان بالتوازي، لا تمرّان بمترجم. القرّاء العرب يحصلون على نفس المقالة، لا ملخّصاً مُسطَّحاً. بعض المقالات تُولَد بالعربيّة أوّلاً.
×أرفض: إنجليزيّة-أوّلاً مع عربيّة مُترجَمة آليّاً.
على ما أعمل الآن.
يُحدَّث يدويّاً. ليس feed.
الأدوات التي أستخدمها فعلاً.
ليست قائمة بكلّ إطار لمستُه. الأدوات التي ما زلتُ أختارها اليوم، مع سبب من سطر واحد.
Frontend
- React 19 + Vite
- مُمِلّ، سريع، والنظام البيئيّ سيعيش أكثر من معظمنا.
- TypeScript صارم
- الوضع الصارم يصطاد الأخطاء التي لن يصطادها الفريق.
- i18next
- ع + إن مع namespaces وجموع صحيحة، بلا مفاجآت.
- CSS، بلا framework
- cascade + custom properties + container queries تتفوّق على utility soup على المقياس.
Backend
- Laravel 11
- تعدّد مستأجرين بمرونة لا يضاهيها شيء.
- NestJS + Prisma
- حين أريد TypeScript كاملاً من طرف لطرف بـ DI قويّ.
- MySQL + Postgres
- الاختيار حسب ألفة الفريق. كلاهما خدماني جيّداً في الإنتاج.
- Redis + Reverb
- pub/sub بالوقت الحقيقيّ بدون جلب broker منفصل.
Mobile
- Flutter
- قاعدة كود واحدة، متجران، أداء حقيقيّ، و Dart نضج.
- Drift
- قاعدة بيانات Flutter المحلّيّة الوحيدة التي أثق بها لمحرّكات مزامنة offline-first.
- Riverpod
- أسهل للاستيعاب من Bloc بمجرّد أن يتجاوز تطبيقك ~٥٠ شاشة.
Infra & ops
- Linux VPS + Nginx
- أُشغّل صناديقي. قفل البائع يكلّف أكثر من جهد الـ ops.
- Supervisor + Horizon
- queue workers لا تموت بصمت في الثالثة فجراً.
- Sentry + uptime probes
- المستخدمون الحقيقيّون يخبرونك عن الأخطاء الحقيقيّة أسرع من اختباراتك.
- GitHub Actions
- مجّانيّ، سريع، والـ YAML ليس أسوأ من البدائل.
محطّات مختارة.
تنازليّاً. سطر واحد لكلّ محطّة. عبر الغرف.
- شُحن
محرّك مزامنة بالوقت الحقيقيّ لـ Mawred Books v3
استبدال ٤٨ نقطة polling بطبقة pull موحّدة + WebSocket. P99 latency نزل من ٢.٤ ثانية إلى ٣٨٠ مللي ثانية.
- دُرِّس
الدفعة 04: Laravel متعدّد المستأجرين من الصفر
١٢ مهندساً، ستّة أسابيع، كلّ طالب شحن subdomain معزولاً بحلول الأسبوع ٥.
- كُتب
سلسلة مقالات: بناء محرّك مزامنة، الأجزاء ١–٤
~١٤ ألف كلمة عبر أربع مقالات. أكثر سلسلة عربيّة قراءةً في السنة.
- شُحن
وحدة محاسبة بدرجة تدقيق لـ Kayma
تحقّق من القيد المزدوج، محرّك ضرائب بأسلوب Odoo، عملات متعدّدة بإدخالات فروقات صرف تلقائيّة.
- حُكي
محاضرة: Offline-first ليس اختياريّاً، MENA Frontend Conf
محاضرة ٤٠ دقيقة عن بناء تطبيقات Flutter تحترم اتّصال موقف الباصات. التسجيل في صفحة الكتابة.
- دُرِّس
الدفعة 03: الأداء تحت الحمل
١٢ مهندساً، تركيز على المراقبة + الفهرسة + خطط الاستعلام. ثلاثة طلّاب أعادوا هيكلة أنظمة إنتاجيّة في منتصف الـ cohort.
- شُحن
لوحة توصيل بالوقت الحقيقيّ لـ Darb
٤ آلاف حدث في الدقيقة مستديم، VPS واحد، مدعوم بـ Redis. استبدل فاتورة AWS لم تُبرّر نفسها.
- كُتب
مقالة: حين يتفوّق polling على WebSockets
دفاع عن polling لأنظمة لا تحتاج الوقت الحقيقيّ. ~٥ آلاف كلمة. تُرجمت من قِبَل القرّاء، ليس منّي.
- دُرِّس
الدفعة 02: Flutter offline-first
١٢ مهندساً، Drift schema مخصّص لتطبيق كلّ طالب، كلّ طالب cohort شحن محرّك مزامنة ينجو من وضع الطيران.
- شُحن
تدفّق onboarding عيادة رعاية صحّيّة
ارتباط ثلاثة أسابيع تحوّل إلى إعادة بناء ستّة أشهر. خفّض زمن onboarding العيادة من ٩ أيّام إلى ساعتَين.
ما يقوله من عملوا معي.
مزيج: عملاء، طلّاب، أقران، قرّاء. لا أحد دفعتُ له، ولا أحد كتب له شبح.
- عميل
استأجرنا علي لإعادة هيكلة ثلاثة أسابيع وأبقيناه لستّة أشهر. أعاد بناء الجزء من النظام الذي خاف كلّ مهندس آخر من لمسه.
- طالب، COHORT 02
الـ cohort غيّرت كيف أُفكّر في الـ state. دخلتُ أكتب useEffect لكلّ شيء. خرجتُ أكتب أنظمة.
- قرين
أختلف معه نصف الوقت، وهذا نادر ومفيد. النصف الآخر يصحّح فيه رأياً لم أكن أعرف أنّني أحمله.
- قارئ
أوّل مقالة عربيّة طويلة عن الهندسة قرأتها لم تشعر بأنّها مُترجَمة. شعرت كرسالة لشخص يعرف العمل أصلاً.
حين لا أكون عند لوحة المفاتيح.
أعيش بين دمشق والرياض. الفصول تُغيّر أيّهما البيت. كلتا المدينتَين لها أسبابها؛ أيّاً منهما لا تملك قهوة جيّدة في الأسبوع نفسه.
أقرأ أكثر ممّا أكتب، وأكتب أكثر ممّا أنشر. الكومة الحاليّة على المكتب: Designing Data-Intensive Applications للقراءة الثالثة، The Goal لغولدرات للقراءة الثانية، ومجلّد محمود درويش الذي أفتحه حين يصير النثر صاخباً.
أركض في صباحات أيّام الأسبوع، ببطء كافٍ ألّا يسبقني أحد مرّتَين. أطبخ طعاماً شاميّاً سيّئاً وطعاماً كشميريّاً أسوأ. لا أملك تلفازاً.
أتحدّث العربيّة والإنجليزيّة بطلاقة، الفرنسيّة بمستوى ينجو من عشاء، وما يكفي من التركيّة لأكون مهذّباً. أتعلّم Dart أسرع منها جميعاً.
More about Ali
01أين يعمل علي يوسف؟
أعيش وأعمل في دمشق، سوريا. الأستوديو هنا، المكتب هنا، القهوة هنا. أُسافر إلى الرياض وجدّة لاجتماعات الانطلاق والمحطّات حين يستحقّ الارتباط ذلك، وقضيتُ فترات ممتدّة في العمل الحضوريّ مع عملاء في الخليج. خارج الشرق الأوسط، العمل عن بُعد بالكامل مع ساعات تداخل تُرتَّب لكلّ عميل.
02بأيّ لغات تعمل؟
العربيّة لغتي الأمّ. الإنجليزيّة بطلاقة، كتابةً وحديثاً، وأستخدمها يوميّاً في عمل العملاء والكود والتوثيق. أقرأ المواد التقنيّة بهما، وأكتب المواصفات والـ commits وتوثيق المستخدم النهائيّ بأيّ منهما حسب الفريق. الفرنسيّة تنجو من حديث عشاء، وأعرف من التركيّة ما يكفي لأكون مهذّباً. التوثيق للمستخدم النهائيّ يُسلَّم بالعربيّة والإنجليزيّة مع دعم RTL كامل، لا ترجمة آليّة.
03منذ متى تكتب البرمجيّات؟
أكثر من عشر سنوات احترافيّاً، وأطول إن حسبتَ سنوات كسر الأشياء عن قصد. أوّل عمل مدفوع كان مواقع Joomla صغيرة لمنشآت محلّيّة في دمشق نحو عام 2014. منذ ذلك الحين شحنتُ أنظمة SaaS متعدّدة المستأجرين، تطبيقات موبايل تعمل دون اتّصال، منصّات لوجستيّات بالوقت الحقيقيّ، ووحدات محاسبة بدرجة تدقيق لعملاء في السعوديّة والإمارات ومصر وأبعد.
04ما أكبر مشاريعك؟
Mohaseb هو المشروع الرئيسيّ: نظام ERP متعدّد المستأجرين مبنيّ على Laravel و Flutter، يخدم أكثر من 500 منشأة صغيرة ومتوسّطة في السعوديّة وسوريا والإمارات. يُغطّي المحاسبة والمخزون والرواتب ونقاط البيع والفوترة الإلكترونيّة المتوافقة مع ZATCA، ويعمل دون اتّصال في تطبيق Flutter مع مزامنة WebSocket آمنة من التعارضات إلى خادم Laravel. النظام في الإنتاج منذ 2024 ويستمرّ بالنموّ.
05هل تقبل عملاء جدد؟
أقبل عدداً صغيراً ثابتاً من الارتباطات كلّ ربع حتى يحصل كلّ واحد على الاهتمام الذي يستحقّ. صفحة /services تسرد الأشكال الخمسة للعمل التي أقبلها، مع نماذج استفسار لكلّ منها. أقرأ كلّ استفسار شخصيّاً وأردّ خلال يومَي عمل. إن كان الجدول ممتلئاً سأقول ذلك بصراحة، وسأخبرك بموعد الفتحة القادمة، بدلاً من وضعك في قائمة انتظار غامضة.
06هل توقّع اتّفاقيّات عدم إفصاح؟
نعم. إن كانت السرّيّة مهمّةً لك، أُوقّع اتّفاقيّتك قبل أن نناقش التفاصيل. لديّ نموذج بصفحة واحدة جاهز إن أردتَ شيئاً مختصراً ومتبادلاً. خارج اتّفاقيّات عدم الإفصاح، أحتفظ بهويّات العملاء والكود المصدريّ خاصّة افتراضيّاً، ولا أذكر العمل في معرض أعمالي إلّا بإذن صريح.
07لمن تعود الملكيّة الفكريّة لما تبنيه؟
لك، عند الدفع الكامل. العقد يُحوِّل كلّ الكود المصدريّ والبنية التحتيّة والتوثيق وكتيّبات التشغيل إلى شركتك. أحتفظ بحقّ الإشارة إلى الارتباط في معرض أعمالي إلّا إذا طلبتَ غير ذلك. كما أحتفظ بحقّ إعادة استخدام الأنماط العامّة وغير السرّيّة التي طوّرتها (كما يحمل كلّ مهندس صندوق أدواته بين الوظائف)، لكن لا منطق عملك، ولا نموذج بياناتك، ولا كودك.
كيف تصلني.
أقرأ كلّ شيء. أردّ على معظمه. أسرع طريق هو القناة الصحيحة للسؤال.
مفتوح لـ
- ارتباطات مهندس-كبير-بالإعارة (≥ ٣ أشهر، ≤ اثنَين في وقت واحد).
- ورش فرق على SaaS متعدّد المستأجرين، Flutter offline-first، مزامنة بالوقت الحقيقيّ.
- تعاونات مقالات طويلة مع منشورات أحترمها.
ليس لي
- مكالمات استكشاف بلا نطاق. أرسل ملخّصاً مكتوباً أوّلاً.
القنوات
— عليدمشق / الرياض