راسلني أحد الإخوة بخصوص مسألة مؤرقة يعاني منها أغلب المبرمجين، والتي تتمثل في إتقان الأكواد التي يكثر استعمالها، مقابل الشعور بالفشل أمام الوضعيات البرمجية الجديدة.
فكان جوابي بتوفيق الله كالآتي (نسخة معدلة):
========================
هل تكتب الكود الذي تعلمه فقط، وإن وُضِعْتَ في سياق جديد تنتابك الحيرة ويعتريك الشك في قدراتك، ثم تتساءل في قرارة نفسك بصيغة مماثلة للتالية: أ يعقل أن أكون فاشلا حقا في البرمجة؟
لا يا أخي لست فاشلا، فكلنا كنا ذلك الرجل، والمسألة عادية جدا ولا علاقة لها بدرجات النجاح أو دركات الفشل، كل مافي الأمر أن السياق الجديد الذي وضعت فيه لا تملك أدواته، والحل ضربة بحث !
هذا احتمالي الأول..
أما احتمالي الثاني، فإن الأدوات بين يديك لكنك لا تجيد استعمالها، والخلل أيضا ليس منك..
الحل في هذه الحالة أن تُخرج الوضعية من سياقها وتنجز تطبيقا يدانيها..
بعيدا عن التنظير، خذ المثال التالي:
وأنت تبرمج مشروع إدارة الموارد البشرية، وجدت أنك بحاجة إلى عرض بيانات الموظفين بشكل تبويبات Cross tabs، قد تقف مشدوها لأول وهلة، لكن الذهول لن يحل المشكلة..
شَخِّصْ حالتك أولا: هل تقارير Cross Tabs جديدة عنك؟
إن كان كذلك، فضربة بحث وقراءة مقال وإسقاط ذلك عبر استعلام في SQL أو عرض البيانات في Crystal Report يفي بالغرض.
أما إن كنت تعرف تقارير Cross Tabs لكنك لا تستطيع أن تنجزها برمجيا، فهنا اُخْرُجْ من سياق البرنامج يا خليلي وأنجز التالي.
أنجز مشروعا جديدا يتكون من جدول واحد فقط..
ثم شغل أجهزة تفكيرك، وخذ ورقة وقلما، وجاهد في ذلك !
ستجد أن الأمر أسهل مما كنت تتخيله..
بعد أن تضبط النتيجة جيدا، أعدها إلى سياقها الأصلي، وأدرجها في مشروعك الأكبر..
مع تتالي هذه الممارسة في شتى الوضعيات المشكلة، ستكتسب آليات ذهنية قادرة على صياغة الحلول داخل المشروع الأم، ودون الحاجة إلى إخراج الوحدة من منظومتها.
لكن قبل بلوغ هذه المنزلة، ثق أنك #قادر، ثم #بادر !
واعلم أن معيار النجاح في البرمجة ليس عدد اللغات التي تتقنها، ولكن قدرتك على توظيف أجهزة تفكيرك في حل المعضلات البرمجية.
فمناط النجاح مرتبط بالعقل البشري وليس بحفظ Syntax.
وإلا فإن الويزارد Wizard خَيْرٌ مني ومنك.
ولا تنس أن موضوع Cross Tabs ليس سوى مثال فقط، فقس عليه وامض على بركة الله..
وإن سألوك عن السر فَسِرْ!
لأنهم يعلمونه ويتحاشونه..
دام لك البشر والفرح!
التعليقات