لا تجعل من لغات البرمجة جزءًا من هويتك
Aug 29, 2021
4 minute read

شدتني هذه التغريدة على تويتر، وفحواها: “مالذي يجعل الأشخاص الذين عهدنا عليهم العقلانية [أو الرزانة] يفقدون رجاحة العقل؟” أي مع مرور الوقت، أو من خلال مواقف حديثة لهم. السؤال في حد ذاته ربما عقلاني وموضوعي في نفس الوقت (لكنه ليس موضوع هذه التدوينة). من بين الردود على تلك التغريدة كان رد Paul Graham مجيبا: “الهوية”، مع رابط لمقالة له من 2009 تتحدث عن الهوية. أنصح بقراءة المقال، فقد جانب فيه الصواب في كثير من الأمور. وهو ما ألهمني لكتابة هذه التدوينة.

قد تتضمن هويتك مبادئك، عقيدتك ودينك، لغتك الأم، خلفيتك الثقافية، عادات وتقاليد، أو حتى تيارات سياسية…

المُثير للاهتمام هو أن الهوية ليست بالضرورة شيئًا ثابتا فيك كما قد تعتقد، أو إرثا موروثا مُعرّفٌ مٌسبقا أو تم تشكيله حتى سِِن معينة، ثم تبني عليها باقي أمور حياتك وسلوكك. قد نكون بصدد تشكيل هويتنا باستمرار، دون شعور، ودون انتباه لما آلت إليه تلك الهوية، عبر إقحام أمور قد لا تستحق أن تكون جزءًا منها. أو حتى تجريدها من أمور قد تستحق أن تكون جزءًا منها.

كلما اتسعت رقعة الهوية لديك لتشمل الكثير من جوانب حياتك (المهنية، الاجتماعية، .. الخ)، كلما كثرت المواضيع التي لا نقاش فيها معك، لأنك ستحس وكأن أحدهم يريد أن يُلغيك، ، ستتحول تلقائيا إلى وضعية الدفاع عن مكوناتك كشخص. وكلما قلّت المواضيع القابلة للنقاش (أو بالأحرى للتفاوض) معك.

هل هذا عيب فيك؟ هل أدعوك للتخلي عن دينك أو عقيدتك مثلا؟ طبعا لا. أدعوك فقط للنظر في ما يستحق أن يكون جزءًا من هويتك، وما يجب تركه لتفكيرك ورجاحة عقلك عند النظر والمناظرة.

هل هذا يعني أن كل ما يشكل هويتك هو غير منطقي، ضد العقلانية أو يتعارض مع العقل؟ أيضا لا. إعتقادك أن هذا الكون لم يأتِ من عدم وأنّا لم نُخلق عبثا، ليس بَلاهَة وليس تغييبا للعقل (من يُسذجك بسبب هذا الاعتقاد ربما لديه مشكل هوية أيضا ;) ).

كمبرمجين، شغوفين بمجال البرمجة والتطوير، فإنه من السهل الإنغماس في ذلك الشغف ليتسلل لهويتنا كأشخاص طبيعيين، ستتقمص -وبكل فخر- هوية الـ Geek أو الـ Nerd، ستحب إظهار ذلك في صورك (profile picture) على الشبكات الإجتماعية، ستكون حامل راية المنطق في وسط عائلتك و أصحابك، ستسألهم عن الدقة في الكلام عند طلبهم لحاجة ما، سوف لن تتحمل منظر الوسادة على الأريكة، لأنها ليست متناظرة مع الوسادة الأخرى في الجهة المقابلة على نفس الأريكة، كمبرمج تحب أن يكون كل شيء symetric. ستبحث عن نظام للعشوائية… لا عجب أن يصف باقي المجتمع المبرمجين بغريبي الأطوار، ستتقبل ذلك على أنه أمارة للتميز والذكاء..

تمضي بك الأيام، لتنغمس في أدوات، لغات برمجة، أطر برمجية Frameworks، وحتى أنظمة تشغيل.. وقد تمضي بك السنون، لتنغمس أيضا في هندسة البرمجيات Software architecture، أنماط وتصاميم البرمجيات Design patterns، … ,وغيره، ليتسلل كل ذلك أو جزء منه إلى هويتك ليُحدد من أنت وتعريفك كشخص، كفلان ابن علان. سيطغى هذا على تفكيرك وحياتك اليومية وتفاعلك على الشبكات الاجتماعية..

مالعيب في كل هذا؟… ستتعصب، سيضيق صدرك وينخفض مستوى tolerance (الحِلم؟) لديك.

هذا ما يجعل أغلب النقاشات التي تدور حول أفضلية لغات البرمجة، أو أطر العمل، نقاشات (مجددا “أغلبها”) عقيمة أو بادرةً لـ Flame Wars. التعقل فيها يكون أمرًا صعبا.

هذا الشغف المفرط الذي يتسلل للهوية يجعل الكثير من المبرمجين يصفون أنفسهم على أنهم مبرمج React أو Django Developer، أو حتى Fullstack nodejs developer مثلا، في معرفاتهم أو سيرهم الذاتية، لأن ذلك فعلا أصبح من هويتهم. في حين الأصل فيهم أن يكونوا مبرمجين، مهندسين بشكل عام بغض النظر عن الأداة. والأحرى أن يكتبوا: مهندس برمجيات، ذو خبرة في كذا وكذا. سيُوحي هذا أن لديك قابلية لتوظيف أي أداة أخرى في صالحك حسب ما يقتضيه المشروع، والتأقلم معها.

الأهم من ذلك، أنك بدمج أمور من مجال عملك -كالبرمجة مثلا- في هويتك، قد تُعمي نفس البصيرة التي أردتها أن تكون منطقية بحتة، ستتجرد مع الوقت، من كونك Problem Solver ، يطوع البرمجة، لغاتها وأدواتها لتكون “وسيلة” لحل المشاكل وإضفاء قيمة مضافة حقيقية، إلى تطويع المشاكل نفسها لتناسب تلك الأدوات البرمجية (أطر عمل، .. الخ). قد تكون في حالة من الجمود الفكري أو الدوغماتية يصعب عليك تقبلها أو حتى التنبه لها.

هل أخلط هنا بين الهوية وبين كون الشخص صاحب رأي (opinionated) ؟ أو تجربة أو خبرة؟ لا أظن ذلك، أن تكون صاحب رأي أمر طبيعي جدا (وربما أمر صحّي أيضا)، لكنك ستتسم بالهدوء، وباسترسال في سرد الدوافع أو الأسباب المنطقية التي تدعم رأيك، سوف لن تمارس الولاء والبراء انطلاقا من رأيك. أما حينما يتعلق الأمر بشيء من هويتك لا يستحق أن يكون جزءًا منها، ستتسم بالشراسة، تصنيف الناس صنفين، ستتخذ الأمور على محمل شخصي، وتمارس البُغض. على الأقل اجعل الأمر يستحق.