الحلقة 770: كيف تصبح مبرمج محترف
أن تصبح محترفا ، في أي ميدان فهذا لايمكن ان يتأتى إلا في خضم توافر عدة شروط ، وكالمبرمجة فلكي تكون محترفا في لغة او بعض اللغات فهذا يستدعي ان تتوفر العديد من الشروط ، في موضوع حلقة اليوم اردت ان اجيب على سؤال الذي لطالما تكرر في البث المباشر وهو كيف يمكنني ان اصبح مبرمج محترف ؟ .
حب البرمجة
من الشروط الاساسية والضرورية لكي تصبح مبرمجا محترفا هو حب البرمجة ، فكأي ميدان آخر فالحب والميول هو الذي يخلق منك شخص محترف ، لهذا فانه قبل كل شيئ يجب ان يكون عندك ميول لدراسة اللغات البرمجية من اجل ان تستطيع بالفعل ان تستمر في دراستها وتتمكن منها ، بل ويجب ان يكون قبل تسطيرك للاهداف وراء دراستك للبرمجة وليس العكس ، لانه إذا كنت تود دراسة البرمجة فقط لان سوق الشغل يتطلب بعض اللغات البرمجية فصدقني لن تحترفها ابدا !
الوقت
من العوامل الاساسية التي تجعل منك مبرمجا محترفا هو الوقت ! فلايمكن ان تصبح محترفا في لغة برمجية معينة فقط في 3 او 6 اشهر ، فعلى سبيل المثال لكي تبدأ خطواتك الاولى في إحتراف لغة C يجب ان تتجواز مدة سنتين من الدراسة والتعامل مع هذه اللغة وليس في شهرين او 4 اشهر او حتى السنة لكي تسطيع ان تطلق على نفسك لقب محترف في البرمجة كما يفعل بعض الاخوان ، حيث في سيرته الذاتية تجد انه يثقن 10 لغات برمجية في مدة سنتين من الدراسة وفي الحقيقة هو لايثقن ولا واحدة منها ، لهذا الإحتراف يلزمه وقت ووقت طويل ايضا .
الخوارزمية Algorithm :
من الامور التي يجب عليك الإهتمام بها في مسيرتك الدراسية للغات البرمجية هي الوغاريتم و Data structures لانه ضروري من اجل ان تصبح قادر على حل المشاكل البرمجية ، كما ان تمكنك من الخوارزمية Algorithm يجب ان يكون عن طريق الفهم وليس الحفظ ، لأن الحفظ لايجعل منك مبرمج محترف ، فالمبرمج المحترف هو من يفهم ولا يحفظ ، لهذا انصحك ببعض الكتب التي ستساعدك حتما على تمنية قدراتك في اللوغاريتمك وهي : Introduction to Algorithm The Art of Programming Data Structures in C and C++ .
المشاركة في مسابقات برمجية :
الجانب النظري ليس كل شيئ كما ان تلك المشاكل البرمجية التي نجدها في كتب تعلم البرمجة ليست هي بالفلعل المشاكل البرمجية الموجودة في الميدان ، لهذا فإن المشاركة في المسابقات البرمجية يساعدك على التأقلم مع حل لمشاكل برمجية اكثر تعقيدا ، طبعا في جو تنافسي بينك وبين اعضاء من مختلف الدول ، لهذا انصحك ببعض المواقع مثل www.france-ioi.org لناطقين باللغة الفرنسية و ، www.codechef.com للناطقين بالإنجليزية community.topcoder.com .
المشاركة في تطوير بعض البرامج المجانية وتحليل الاكواد المصدرية
كما هو الحال بالنسبة للمشاركة في المسابقات فإن المشاركة في تطوير بعض البرامج المجانية فإن ذلك يساعدك بالفعل على تحسين قدراتك البرمجية و كذلك تحسين طريقة كتابة اكوادك البرمجية ، بالإضافة إلى التعرف على المزيد من الشفرات المصدرية source code وطريقة كتابتها
هذه بعض النصائح للمبتدئين اتمنى بالفعل ان تكون ذات فائدة كبيرة ، كما يمكنك طرح اي تسائل حول الموضوع في تعليق ساكون سعيد بالإجابة عليه، اراك !