عندما كنت جالسا تحت ضوء النيون (لا لم اكن جالسا تحت ضوء القمر) طلب الي احدهم ان اقدم له نصيحة بخصوص مشكلة يعاني منها بعض المبرمجين حديثي التخرج ( الصراحة اكثرهم يعاني من هذه المشكلة و لكن لتلطيف الموضوع سأقول بعضهم) و بما أنني عانيت من نفس المشكلة في فتر ة من حياتي البرمجية فأنا ادرك ما يشعر به هذا المبرمج.
يشعر احيانا المبرمج حديث التخرج من الجامعة بعدم الثقة بما يكتبه من برامج نظرا لان كل ما يعرفه عن البرمجة هو فقط ما تعلمه في الجامعة. و لأنه لم يعمل في أي شركة فإن هناك شعورا قد يتملكه و هو أنه يجب ان يعمل في شركة ليتعلم اساليب البرمجة التي يستعملها المحترفون. فتجده يسعى جاهدا للعمل في شركة برمجة متأملا ان يمكنه ذلك من الاطلاع على الطرق التي يبرمج بها المحترفون و أن يتعلم منهم. لكن أمله هذا مبني على عدم ادراكه بعض الامور المهمة منها:
- عندما تعمل في شركة لن يكون هناك وقت لدى اي من المبرمجين الآخرين لتعليمك كيف تبرمج كالمحترفين. - عندما تعمل في شركة فإنه لن يسمح لك الاطلاع على الاصل البرمجي لبرامجهم الا بعد ان تصبح موثوقا لديهم. فالاصل البرمجي هو احد اهم ممتلكات الشركة. - عندما تعمل في شركة فإنك لا تتعلم اساليب برمجة المحترفين و انما تبرمج كما يريد قائد الفريق و قد لا يكون هذا القائد محترفا او ربما انه يتبع بعض العادات السيئة في البرمجة او يتبع اسلوبه الخاص في البرمجة. - عندما تعمل في شركة ستكون مهماتك محدودة مثل ان تكون مبرمجا او .... جودة.... ، بعكس الحال عندما تعمل لوحدك على برمجة برنامج فإنك تقوم بعدة ادوار يؤديها عدة اشخاص في الشركات و بما انك لست محترفا في تأدية كل تلك الادوار فمن الطبيعي ان لا يكون البرنامج الذي تبرمجه مطابقا لما هو معتمد لدى المحترفين
عندما يطلب المبرمج نصيحة بخصوص مشكلة الاحساس بعدم الثقة في ما يكتبه من برامج و كيف يتعلم ان يكتب برامج كالمحترفين فإن الاجابة غالبا تكون بقراءة مجموعة من الكتب يتداولها الكثيرون على انها الافضل..... المشكلة في قراءة الكتب انك يجب ان تحفر و تنبش في الكتب بحثا عن استخلاص المعلومة المفيدة و غالبا يصيبك الاحساس بأن ما تفعله غير مثمر فتضع الكتاب جانبا و تتنهد و تتأفف و تندب حظك العاثر و من ثم تذهب نحو المطبخ (لتتعاطى) المشروبات الغازية او القهوة او ربما الخبز المقرمش.
لا شك في انه لا بد من قراءة مجموعة الكتب التي توصف بأنها الافضل لتعلم البرمجة كالمحترفين، لكن لدي نصيحة قد تكون حلا افضل للمبرمج حديث التخرج و هي مشاهدة الفيديوهات التعليمية من العم بوب ( او الخال بوب اذا كنت تفضل ذلك) تشبه هذه الفيديوهات التعليمية مشاهدة سبونج بوب مع اختلاف الموضوع و هو البرمجة كالمحترفين. المميز في هذه الفيديوهات التعليمية أنها تقدم موضوع البرمجة كالمحترفين بطريقة مسلية و أنها تعرض معلومات و امثلة من كل تلك الكتب التي يوصي الكثيرون بقراءتها. و بهذا فإنك تضرب اربع عصافير بخمسة عشر حجرا.
الموقع لهذه الفيديوهات التعليمية هو : cleancoders.com
أين كانت هذه الفيديوهات التعليمية عندما بدأت البرمجة قبل 32 عاما (لم اكن سأستفيد منها حتى لو كانت موجودة لان عمري وقتها كان 12 عاما و لم اكن اتقن الانجليزية). يا ليت باقي معلمي البرمجة يتعلمون من العم بوب كيف يجعلون منها موضوعا مسليا بدل ايهام الناس بانها موضوع معقد.
و أخيرا هناك النصيحة الرابعة و هي زيارة موقع Github للاطلاع على برامج مفتوحة المصدر كتبها محترفون في شركات كبرى. يوصي الكثير من المحترفين بقراءة اصول برمجية كتبها محترفون كما تقرؤ قصة لتنمية مهاراتك في البرمجة.
اعتذر عن عدم طرح الموضوع بتفاصيل كافية و لكن ضيق الوقت يحكمني.