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


مصير أول خمس نسخ سلة المهملات

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


دائما هناك طريقة أفضل لكتابة الكود

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


فكر قبل أن تكتب أي كود، برمج في عقلك

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


غير مكانك

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


فكر بصوت عالي

غالبا أكثر الأمور العالقة يتم التوصل لحلول لها عندما تفكر بصوت عالي مع أحد زملائك والأفضل أن تقوم بنقاشها مع من هم أكثر خبرة منك حيث أن الأكثر خبرة قد يقوموا بسؤالك بعض الأسئلة التي تقوم أنت تلقائيا بالإجابة عليها وتكون هي الحل الصحيح دون مساعدة أحد


ابدأ مشروعا جانبيا

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


عد للأساس

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


لا تتشتت

الكثير من المطورين يبحثون عن تحديات جديدة عبر متابعة لغات برمجة جديدة أو أدوات جديدة، هذا جيد فقط في حال كان محددا بوقت، مثلا في عطلة نهاية الأسبوع اترك لنفسك 4 ساعات تتعلم فيها أو تستكشف فيها عوالم جديدة، ركز حاليا على أن تكون الأفضل فيما تعمل عليه ولا تشتت نفسك في لغات برمجة وتقنيات جديدة


اغلط بدون أن تغلط، لا تتهور وتخاطر

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


تحد نفسك

أفضل طريقة لتحدي نفسك هي أن تقوم بقراءة كودك عدة مرات وتتأكد من محاكاة عمله في ذهنك ولا تتردد أبدا في إعادة كتابة جزء منه أو كله في حال تطلب ذلك، لا تتكاسل، ومن ثم قم بكتابة اختبارات الجودة (Unit Tests) لتتحدى فيها كل السيناريوهات


اكتب كودا تفهمه الآلة والبشر

لغة التواصل بين البشر هي أهم عامل لنجاحهم في العمل والتفاعل مع بعضهم البعض، وفي عالم المبرمجين كتابتك لكود يمكن قراءته وفهمه من أي مطور أخر دليل على احترافك


شارك معلوماتك

أكثر معلم لي كان هو أني كنت أشارك ما أتعلمه مع من حولي، فتعلمي لشيء جديد ومحاولة ايصاله للناس يقوم بتثبيت المعلومة في رأسي، دون مقالاتك، اكتب تغريدات، رد على أسئلة مواقع المبرمجين، أو حتى شارك في مشاريع مفتوحة المصدر


لا تقلل من جهد من سبقك وتبداء من الصفر

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


عزز ثقتك بنفسك عبر الشهادات

قناعتي بأن الشهادات التقنية هي أساسا لزيادة ثقة المبرمج بنفسه وبقدراته، وتساعده في مواجهة مخاوفه الداخلية وتساعده في البقاء متحفزا ذاتيا