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