البرمجة كحرفة: عشر سنوات من شحن الشيفرة من سوريا
ما تعلمه عقد من البرمجة في سوريا عن المرونة، الجودة، والسوق العالمي للمواهب الهندسية العربية.
جاري تحميل المقال…
ما تعلمه عقد من البرمجة في سوريا عن المرونة، الجودة، والسوق العالمي للمواهب الهندسية العربية.
جاري تحميل المقال…
كتبت أول سطر شيفرة بدمشق بـ 2012. كان سكربت PHP بسيط بيقرأ نموذج ويرسل بريد. بعد تلتاشر سنة، شحنت أكتر من 600 مشروع، بنيت فريق مهندسين عبر تلات دول، وتعلّمت أكتر من الفشل من أي نجاح. هاد اللي علّمتني عشر سنين من البرمجة في سوريا عن حرفية هندسة البرمجيات.
أول درس مش عن الشيفرة. هو عن السياق. لما تكتب برمجيات بسوريا، بتتعلم إن البيئة مش منصة مستقرة فيكو تتجاهلها. التيار بيقطع. الإنترنت بينقطع. العملة بتهبط. البنك بجمّد حسابك. هدول مش حالات حافة. هنن ظروف التشغيل الطبيعية.
هاد بيغيّر طريقة بناءك. ما بتفترض إن اتصال قاعدة البيانات رح ينجح. ما بتفترض إن رد الـ API رح يوصل. ما بتفترض إن سيرفر النشر رح يكون شغال لما بدك ياه. كل نظام بتبنيه فيه fallback، retry، ومسار تدهور أنيق. المرونة بتصير تلقائية متل الصياغة.
النتيجة المفاجئة إن هاد بيخلّيك مهندس أحسن للأسواق العالمية. لما عميل بألمانيا بيتذمر إن تطبيقو بطيء على 3G ريفي، ما بحتاج تبحث عن المشكلة. سبق وحلّتها لحالك. القيود اللي بدو تبدو عيوب صارت ميزتك التنافسية.
في أسطورة إن الندرة بتطلع شغل سيء. العكس هو الصحيح. لما عندك وقت محدود، مصاري محدودة، وبنية تحتية محدودة، بتضطر تحدّد أولوياتك. ما فيك تبني كل شي. لازم تختار الfeatures اللي بتفرق، البنية اللي بتدوم، والشيفرة اللي المطوّر الجاي فيكو يفهمها.
شفت مشاريع بميزانيات غير محدودة بتفشل لأن حاولوا يبنوا كل شي دفعة واحدة. وما شفت مشروع مقيّد بيفشل لأنه كان مركّز زيادة. أحسن برمجة بتصير على حافة الإمكان، مو بمنتصف الراحة.
بالخمس سنين الأولى، كنت قلقان إن كوني مبرمج سوري هو عائق. العقوبات، السمعة، المناطق الزمنية، كلها حسيتها عوائق ما بيواجهها مهندسين من دول تانية. وبعدين أدركت شي: العملاء ما بيهتموا من وين أنت. بيهتموا إذا بتشحن.
مؤسس بالرياض ما بيسأل عن جواز سفرك. بيسأل إذا فيك تبني الfeature اللي بحاجةلها، بالجدول اللي بحاجةلها، بالجودة اللي بيتوقعها. إذا سلّمت، أنت مهندس منيح. إذا لا، لأ. الجغرافيا غير ذات صلة بالbinary النهائي.
هالإدراك كان محرّر. يعني فيني أتنافس على الجدارة، مو على الموقع. ويعني كمان إنه لازم أكون أحسن، لأني ما فيني أعتمد على networking أو شهادات لأفوز بالعقود. الشي الوحيد اللي بيفرق هو الشغل.
ما في بديل للخبرة الإنتاجية. فيك تقرأ كتب، تاخد دورات، وتحلّل مشاكل LeetCode لسنين، ولسّا ما رح تفهم هندسة البرمجيات لحدّ ما تكسر قاعدة بيانات بالإنتاج، تصلح bug الساعة 3 بالليل، وتشرح لعميل ليش الfeature اللي طلبوه فعلاً فكرة سيئة.
تعليمي كـ مبرمج صار بالإنتاج. مشروع Laravel ما فهمت فيه database locking وخلقت race condition. تطبيق Flutter افترضت إن الحالة المحلية بسيطة وقضيت تلات أسابيع بdebug sync conflicts. مشروع عميل وافقت على كل طلب وسلّمت منتج منتفخ ما حدا استعملو. كل فشل علّمني شي ما تعلّمتو من أي tutorial.
مجتمع التقنية السوري صغير. في ربّي ألفين مهندس برمجيات محترف بكل البلد. يعني الجميع بيعرف الجميع، أو بيعرف حدا بيعرفو. السمعة بتنتقل بسرعة. مطوّر بيشحن شيفرة سيئة رح يلاقي صعوبة بالتوظيف مرة تانية. مطوّر بيساعد غيرو رح يلاقي فرص ما تقدّم عليها.
هاد مختلف عن Silicon Valley، حيث فيك تفشل علناً وتجمع تمويل بعدها. بسوريا، ما في شبكة أمان. سمعتك هي سيرتك الذاتية. حميها بشحن شغل جودة، معاملة المطوّرين الصغار منيح، والصدق بشو ما بتعرفو.
إذا فيني أحكي مع المراهق اللي عم يكتب PHP بشقة بدمشق، بدي أقلّلو تلات أشياء:
البرمجة بسوريا رح تختلف بـ 2035 عما هي عليه اليوم. البنية التحتية رح تتحسّن، العقوبات ربّي تخف، والشتات ربّي يرجع. بس الدروس الأساسية رح تبقى نفسها: ابنِ للقيود، اشحن للمستخدمين، وعامل الحرفية باحترام.
إذا كنت مبرمج شاب بسوريا، أو بأي مكان تاني بظروف صعبة، ما تستنى البيئة تحسن. بلّش بالبناء هلّق. القيود اللي بتزعجك اليوم هي المهارات اللي بتميّزك بكرة. العالم بحاجة مهندسين فيكو يشحنوا تحت الضغط. أنت عم بتتدرّب لهالشغلة.