يوم في حياة مبرمج سوري يبني للخليج
من دمشق إلى الرياض. كيف يعمل مبرمج سوري عبر الحدود والمناطق الزمنية وثغرات البنية التحتية لشحن البرمجيات.
جاري تحميل المقال…
من دمشق إلى الرياض. كيف يعمل مبرمج سوري عبر الحدود والمناطق الزمنية وثغرات البنية التحتية لشحن البرمجيات.
جاري تحميل المقال…
الساعة 6:45 بدمشق. التيار شغال، اللي مش مضمون، فبعمل قهوة لسّا فيني. بـ 7:00 بكون بمكتبي، بفتح Slack لألحق مع الفريق بالرياض اللي بلّشوا ساعتين قبلي. هاد صباح عادي لـ مبرمج سوري بيبني برمجيات لعملاء خليجيين. هاد شو بيبدو باقي اليوم.
ساعتين الصبح هنن الأهم. هنّي النافذة الوحيدة اللي بكون فيها online بنفس الوقت مع مدير المنتج بدبي والعميل بجدة. منستعمل هالنافذة لقرارات متزامنة: توضيح النطاق، مراجعات البنية، وحالات الطوارئ.
هاي الصباح، الطوارئ هي مشكلة مزامنة. مستخدم بمستودع بالدمام بلّغ إن جرد المخزون عندو ما بيطابق السيرفر. بسحب السجلات، بفحص queue الصادر على جهازو، وبلاقي retry فاشل ما حصل تأكيد نجاح. الحل هو تعديل سطر واحد بمنطق إعادة المحاولة، بس إيجادو بيتطلّب فهم عميل Flutter والخلفية Laravel معاً. هاد ليش المبرمجين السوريين اللي بيشتغلوا عبر الحدود بيصيروا full-stack بالضرورة.
بـ 9:00 بتوقيت دمشق، فريق الخليج راح على الغداء. قدامي أربع ساعات عمل عميق منقطع. هاد وقت كتابة الشيفرة الصعبة: سكربتات الترحيل، قواعد حلّ التعارض، تحسينات قواعد البيانات.
اليوم عم بشتغل على feature جديدة لمنصّة المحاسبة. العميل بدّو dashboard analytics لكل مستأجر. التحدي إن queries التحليلية غالية، وعندنا 200 مستأجر على cluster قاعدة بيانات واحد. حلي هو view مادّي بيتجدد كل 15 دقيقة، زائد read replica لنقطة analytics. مو أنيق. عملي. والعملي هو اللي بيشحن.
بـ 2:00 ببدّل لمراجعة الشيفرة. عندنا قاعدة: كل pull request بده موافقة واحدة قبل الدمج، والمهندسين الكبار بيراجعوا شيفرة الصغار خلال أربع ساعات. عم براجع سكربت ترحيل من مطوّر صغير انضم قبل ستة شهور. المنطق صحيح، بس مسار التراجع ناقص. بترك تعليق بشرح ليش مسارات التراجع مهمة، وبربط بincident سابق لما مسار تراجع ناقص كلّفنا weekend.
هاد الجزء من الشغل اللي ما بيظهر بمقاييس السبرينت بس بيفرق أكتر من أي feature. مجتمع البرمجة السورية صغير لدرجة إن التوجيه شخصي. المهندس اللي عم براجعو اليوم رح يصير بيراجع غيرو بسنتين. جودة تعليقي عم بتشكّل جودة النظام البيئي.
بـ 5:00 بتوقيت دمشق، فريق أوروبا بيصحى. عندنا مصمّم ببرلين ومقاول DevOps ببوخارست. تداخل المساء أقصر، ساعة أو ساعتين، بس بيكفي لتسليم التصاميم ومناقشات البنية التحتية.
اليوم مقاول الـ DevOps عم ينقل بيئة staging لمزود VPS جديد. المزود القديم بلّش يخنّق سعتنا بساعات الذروة. الجديد أرخص وأسرع، بس الترحيل بيتطلّب DNS cutover. بنجدولو لـ 11:00 بالليل بتوقيت دمشق، لما الحركة الأقل. رح كون صاحي، لأن بدّي حدا يتأكد إن عملاء Flutter لسّا بيقدروا يمزامنوا بعد ما عنوان الـ IP يتغيّر.
بـ 8:00 بخلص شغل العملاء. بس ما بخلص الشغل. بقضي ساعة على open source، بمراجعة issues على مكتبة مساعد Drift migrations نشرتها السنة الماضية. وبعدين بقضي ساعة تعلم. الليلة هي ورقة عن CRDTs، conflict-free replicated data types، اللي ربّي تحل مشكلة مزامنة عم نتجاوزا بـ hacks من شهور.
هاد مش غير عادي. أحسن المبرمجين السوريين اللي بعرفن بيعاملوا التعلم جزء من الشغل، مش نشاط منفصل. لازمن. النظام التعليمي الرسمي ما بيعلّم التقنيات اللي بيستخدموها، والسوق المحلية ما فيها mentors كبار بكل تخصص. التعلم الذاتي هو الطريق الوحيد للنمو.
الجدول هاد مو مستدام للكل. الشغل عبر تلات مناطق زمنية يعني نوم غير منتظم، وجبات عائلية مفوّتة، وحياة اجتماعية محصورة بالعطل. المهندسين اللي بينجحوا بهالنموذج هنن اللي بيحبو الشغل فعلياً. اللي لا بيحترقوا بسرعة.
تعلّمت أحمي صباحي. لا اجتماعات قبل 9. لا Slack قبل القهوة. لا مراجعة شيفرة قبل ما أخلص عمقي. هالحدود مش أنانية. هنن اللي بيخّلّيني مفيد للفرق اللي بتعتمد عليّ.
الجواب الواضح هو المصاري. مبرمج سوري كبير بيشتغل لعملاء خليجيين بياخد تلات لخمس مرات اللي بياخدو محلياً. بس الجواب الأقل وضوحاً هو التأثير. لما تبني برمجية بيستخدمها آلاف الناس عبر الشرق الأوسط، بتحس إنك متصل بشي أكبر من ظروفك. التطبيق اللي ساعدت ببناؤو بيعالج ملايين المعاملات بالشهر. هاد بيفرق، حتى من مكتب بدمشق.
إذا كنت مؤسس بتوظّف مبرمجين من سوريا، هاد اللي عم تشتريه: مهندسين اختاروا حياة صعبة لأنن بيؤمنوا بالشغل. عاملن باحترام، دفعلن بوقتن، وعطينن مشاكل تستاهل الحل. رح يرجعولك بالولاء والحرفية اللي صعبة تلاقيها بأي مكان تاني.