تاريخ المقال طول المقال تتطلب قرائته
776 كلمة 5 دقيقة

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


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

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


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

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


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

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


غيّر مكانك

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


فكر بصوت عالٍ

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


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

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


عدْ للأساس

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


لا تتشتت

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


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

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


تحدّ نفسك

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


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

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


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

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


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

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


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

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