معاناة مبرمج: 7 أشياء يكرهها كل مبرمج في العالم

معاناة مبرمج: 7 أشياء يكرهها كل مبرمج في العالم

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

نتحدث هنا بالطبع عن المؤثرين " المبرمجين " في السوشيال ميديا، أما المبرمج الحقيقي فمنشغل في Bug منذ الأسبوع المنصرم، قد استهلك كمية كافيين تكفيه لسنة كاملة في أسبوع، يعاني من الأرق و لم ينم إلا سويعات في الأيام الأخيرة، وهو يصارع الـ Deadline ،لازال نصف العمل ينتظره. إنه المبرمج الحقيقي يا سادة، الذي يدعو الله أن يُنهي هذا المشروع سريعا حتى ينسحب من مجال البرمجة كاملا، لكنه للأسف لن يفعل رغم ذلك. 

معاناة مبرمج: 7 أشياء يكرهها كل مبرمج في العالم

المبرمج المسكين يعاني دائما، وقد صارت حياته معاناة الآن و من الصعب أن تعود لمجراها الطبيعي، لكن في ظل كل هذا، يوجد مجموعة من الأشياء التي يكرهها المبرمج حتى النخاع، أشياء يمقتها أكثر من أي شيئ آخر، ويتشاركها كل المبرمجين حول العالم ... إليك بعضها. 

1 - أنت مبرمج؟ هل يمكنك أن تخترق لي حساب فيسبوك؟ 

أكثر شيئ يكرهه المبرمج بشكل كبير هم الأشخاص الذين لا يفقهون شيئ في البرمجة أو المعلوميات بشكل عام، وأكثرهم ذاك الذي يطلب منك اختراق حساب صديقته ليتجسس عليها على فيسبوك، أو اختراق حساب واتساب لصديق قديم له، وما إلى ذلك. فهؤلاء الفئة لا يعلمون أن شركات كبرى تشتغل بتقنيات متطورة في الحماية، تدفع مليارات الدولارات سنويا، تؤطر مختصين في مجال الحماية والمعلوميات حتى تنفي الخطأ و تمنع أكبر المخترقين في العالم من الوصول لمحتوياتها. بينما أنت يا مسكين، بالكاد تستطيع صناعة بريمج صغير، فيطلب منك صديقك الذي بالكاد يجيد التعامل مع الـ Word أن تخترق حساب فيسبوك صديقته ! 

لا، بل ما يزيد الطين بلة، إن أخبرته أنك لا تستطيع، أو أن الأمر معقد، أجابك: " مه، فقط قل أنك لاتعرف شيئا ". 

2 - ألا يجد إجابته في Stackoverflow 

يعتبر موقع Stackoverlow أحد أشهر المواقع التي يرتادها أي مبرمج في هذا العالم، إذ يمتلك حلول كل المشاكل البرمجية التي قد تواجهك تقريبا، فهو عبارة عن مجتمع يطرح فيه أي شخص قد واجه مشكلة من قبل مشكلته في المنصة ليجد مجموعة من الردود كحل لمشكلته بشكل صحيح. 

في الغالب و بنسبة 99%، ستجد مشكلتك وحلها في منصة Stackoverflow، لكن إن لم تجد حل مشكلتك، فيومك أسود، فأنت يا صديقي وقعت في واحدة من أسوأ الأشياء التي يكرهها المبرمج على الإطلاق، إذ سيتوجب عليك حل مشكلتك بنفسك، وهذا سيتطلب منك وقتاً طويلا، وتضييعا للمجهود والوقت. والعميل للأسف لا يرحم ! 

3 - المقارنة بين لغات البرمجة 

يعلم المبرمج الجيد أن لغات البرمجة هي وسائل يستخدمها لتحقيق هدف محدد، وتختلف التقنيات و اللغات البرمجية حسب الهدف، ويعلم جيداً أن أي لغة برمجة سواء كانت مشهورة، ضعيفة، صعبة، سهلة ... فلها مكانتها الخاصة ويمكن استخدامها عاجلا أم آجلا. 

أما من يدعي البرمجة، فيبدأ في المقارنة بين لغات البرمجة دائما، ويعتقد أن لغة البايثون وحدها كفيلة بتعويض كل اللغات البرمجية في العالم، ويبدأ بالمقارعة بالحجة والبرهان و يحلف بالسماوات السبع أن لغة البرمجة بايثون - أو أي لغة برمجة يفضلها - هي أفضل لغة برمجة في العالم، ومن لم يتعلمها فهو ليس بالمبرمج، وهذا حق يؤرق المبرمج ويجعله عصبيا ويكرهه، وربما إن كان طور الحديث على السوشيال ميديا فلن يتردد المبرمج في حظرك و تبليغ حسابك لفيسبوك لغبائك الشديد في المقارنة بين لغات البرمجة. فالأمر أشبه بأن تخبرنا أن مفك البراغي أفضل من المنشار، لأن مفك البراغي يستطيع أن يقوم بنفس عمل المنشار! 

4 - أكواد السباغيتي 

أكواد السباغيتي أو الـ Spaghetti Code، هي أكواد يقوم مطورآخر بكتابتها بشكل مبعثر، الهدف من أكواد السباغيتي هو أن يشتغل البرنامج او القطعة البرمجية، سواء كان بشكل صحيح، او غيرصحيح، او في مائة سطر، أو عشرة أسطر. إذ يرى المطور الآخر أن تنظيم الكود، وضع تعليقات عليه، تحسين الكود بشكل أفضل، وضع متغيرات و أسماء واضحة وما إلى ذلك أمر غير ضروري مادام الكود يعمل بشكل جيد. 

لكن أكثر شيئ يكرهه المطور أن يتوصل بكود المطور الآخر ذو أكواد السباغيتي، وتُوكل إليه مهمة التعديل عليه أو إضافة تحسينات على البرنامج بإستخدام الأكواد السابقة، مأزق يؤجج غضب المطور، فالكود غير واضح، متغير بإسم "v" لا يعبر عن أي شيئ، من أين يبدأ؟ كيف يبدأ؟ ماهذا الكود بحق السماء. فيضطر المطور إلى إعادة كتابة البرنامج من الصفر وهو يلعن صاحبه في كل سطر برمجي. 

5 - جميل ... لكن لدي بعض التعديلات 

لا أحد يرضى بالنتيجة النهائية، هذا أمر حتمي، لكن أسوأ شيئ في العميل هو أن يطلب منك إجراء العديد من التعديلات خارج الإطار المتفق عليه بينك وبين العميل، فيتحول العمل لمأساة قد تضطر على إثرها على إعادة هيكلة مشروعك بالكامل. 

التعديلات لا بأس بها، بل كل مبرمج يمر منها، لكن عدم تفهم العميل لعملية إجراء التعديلات تجعل من العمل معقداً، فالعميل يطلب منك تعديلات قد لا تستطيع تعديلها بسهولة وربما عليك التعديل على 3 أو 4 تعديلات قبل تحقيق طلبه. فيصبح المطور في وضعية يجب عليه فيها التحكم في أعصابه من أجل إنهاء عمله بدون خسائر بشرية. 

6 - عدم احتراف الآخرين لمكان العمل 

يحتاج المبرمج للهدوء والسكينة، وذلك من أجل التركيز على ما يقوم به من أعمال برمجية، وأسوأ ما قد يحدث في حالة نشوة مع الأكواد و الهدوء، هو مجيئ مصدر إزعاج بموسيقى عالية أو حديث صاخب و ينكب عليك بالحديث والهرطقة والثرثرة، حتى تضطر إلى ضرب لوحة المفاتيح وإنهاء العمل في تلك اللحظة. 

الإزعاج أثناء العمل ربما هو شيئ يكرهه الكثيرون و ليس فقط المبرمج، لكن المبرمج يعاني مسبقا من تشابك الأكواد، وربما أكواد السباغيتي سابقة الذكر، ويحتاج لفترة من التركيز الجاد ليحل المشكل و ينهي عمله في الوقت الملائم، إلا أن الإزعاج لا يوفر له ما يريد. 

7 - كتابة الـ Documentation ( التوثيق ) 

عندما تنهي مشروعك البرمجي، تحمد الله على تجاوزك أكواد السباغيتي، والتعديلات الكثيرة التي طلبها منك المستخدم، وإزعاج الآخرين المستمر، ومشاكل Stackoverflow و الـ Bugs و كل شيئ، ثم تتذكر أنه لازال أمامك كتابة الـ Documentation أو التوثيق. 

الـ Documentation او التوثيق هو عبارة عن وثيقة رقمية (pdf) تشرح فيها مشروعك البرمجي و استخداماته بالنسبة للمستخدم النهائي، و يكون بمثابة دليل لإستخدام البرنامج بشكل كامل، وكتابته يتطلب وقتا طويلا، شرح بالصور أو الفيديو أحيانا، ومحاولة الإجابة عن الأسئلى التي قد يطرحها المستخدم عبر فقرة الـ Q&A و المزيد.

وتعتبر عملية كتابة التوثيق أكثر المهمات إزعاجا للمبرمج وأكثرها مللاً أيضا، إذ يكره المبرمج حقا كتابة هذا التوثيق، ومن الصعب بل النادر بل المستحيل إيجاد مبرمج يستمتع بكتابته .


وأنت عزيزي المبرمج، ما الذي يزعجك أكثر كمبرمج؟ شاركنا في التعليقات. 

شاركه على :