10 نصائح للمستجدين في عالم البرمجة مقدمة لك من موقع Quora

10 نصائح للمستجدين في عالم البرمجة مقدمة لك من موقع Quora


إني من عشاق تصفح موقع Quora حقا ، فأسئلتك و إقتراحاتك و كل ما تريده ستجده في الموقع ، و يبدو ان موقع Quora قد تفوق على كل المواقع الخاصة  بطرح الأسئلة و الأجوبة و الإستفسارات مثل Yahoo Answers و غيرها من المواقع التي تقدم نفس الخدمة ، بل أعتقد ان موقع Quora قد صار اليوم موقعا إجتماعيا فذا يضاهي الواقع الإجتماعية الأخرى بكل تأكيد . 
من الأسئلة التي تُطرح دائما في الموقع ، هو " اريد البدئ في البرمجة ، ماذا أفعل " او اصادف أشخاص يلتمسون النُصح من المبرمجين الأكثر تفوقا و خبرة منهم ، فإنتابني أصدقائي ان هذا السيناريو يتكرر مرارا و مرارا في العديد من المجتمعات البرمجية العربية ، فقررت ، يا هذا ، ما رأيك ان تقتبس نصائح الخبراء و أجوبتهم من موقع Quora و تقدمها على شكل موضوع ؟ فإرتميت لأكتب لكم هذا الموضوع ، لذلك عزيزي القارئ ( المبرمج في الغالب ) ، إليك مجموعة نصائح للمستجدين في عالم البرمجية مقدمة لك من موقع Quora . 



10 نصائح للمستجدين في عالم البرمجة مقدمة لك من موقع Quora



- تعلم البرمجة يأتي بكثرة المشاريع ، لا بكثرة الكورسات : 


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



- لا تبحث عن الحل ، إصنع الحل : 


حين ستدخل لعالم البرمجة ، سيتهافت عليك الجميع : " إن واجهتك مشكلة ، إتجه الى Stackoverflow " ، حتى انا كنت اؤمن بهذا الأمر ، لكن أحد الأصدقاء في الموقع يناشد المستجدين و يخبرهم ان البرمجة مشاكل ، و إتقناك للبرمجة يعتمد على مدى إتقناك لحل المشاكل ، و إن كنت تريد اللجوء الى موقع Stackoverflow ، فإلجأ إليه حين تحترف البرمجة و تشتغل على مشروع لعميل ما و تواجه مشكلة لا حل لها ، لكن مادمت تنشأ مشروعا تتعلم منه و تستفيد من خلاله ، فأنت لا تحتاج Stackoverflow او google ، إن كل ما تحتاج إليه هو ورقة و قلم ، و المشكل الذي امامك ، و شغل عقلك البرمجي ، فبحل المشاكل تُكتسب الخبرات ، و إذا ما إكتسبت الخبرات ، صرت محترفا في البرمجة . 


إقرأ أيضا : 8 مشاكل و صعوبات ستواجهها اثناء مسيرتك في مجال البرمجة




- البرمجة مملة .. إن لم تبحث عن الجديد دائما : 


في أحد الردود في الموقع حول سؤال " هل علي تعلم لغة واحد او عدة لغات برمجية " يجيب صديقنا : البرمجة مملة صديقي ، ان تعرف 30 كود في لغة البرمجة و تتلاعب بهم طوال الوقت هو امر ممل جدا ، إن ما يجعل البرمجة عالما رائعا هو الجديد ، ان ما يجعل لغة الجافا و الC# و غيرها من اللغات البرمجية تبقى صامدة في وجه اللغات البرمجية الجديدة هو إحتوائها الدائم على الجديد ، في كل مرة تسمع ان الجافا تمكنك من فعل شيئ جديد في مجال جديد ، يُثار حماسك أكثر ، خصوصا إن كنت من المهتمين بهذه اللغة . 
نصيحتي لك صديقي ، ان تبحث دائما عن الجديد ، هل أصبحت تجيد صناعة برنامج سطح مكتب بالC# ؟ جميل ، الآن إصنع مشروعك الخاص بها ، هل صنعته ؟ اجمل ، الآن إنتقل الى مجال آخر تعلم صناعة المواقع بإستخدام اللغة ، او ربما تطبيقات الموبايل ، و لا تحصر نفسك في مجال واحد و Pattern (تصنيف او توجيه ) واحد . 



- قم بالبرمجة مجانا : 


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


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



- البرمجة مثل كرة السلة ، او اي رياضة أخرى لا يهم : 


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


إقرأ أيضا : نصائح عملية للتغلب على الملل و فقدان الرغبة في التعلم اثناء مشاهدتك لدورات على الأنترنت !



- هل أنت مبرمج جيد ام مبرمج سيئ ؟ 


هذا أيضا واحد من الردود الرائعة التي وجدتها في الموقع ، تابع معي سأترجم لك الرد بشكل جميل : 
إن الفرق بين المبرمج الجيد (Good Programmer) و المبرمج السيئ (Bad Programmer) هو أن الأول يدرك تماما ما الذي يفعله ، في حين أن الثاني لا يعرف مطلقا ما الذي يفعله ، إنه التخطيط ، عليك ان تخطط جيدا قبل ان تبرمج ، خطط للكود البرمجي الذي ستكتبه ، و لا تكتب الكود و تترك للصدفة تلعب حظها ، أبدا ، بل عليك ان تعرف لما الكود البرمجي إشتغل ، ما الأثار التي خلفها هذا الكود ، و كيف يشتغل ، فمن المهم أيضا تقسيم الكود الخاص بك و فهمه ، فهذا سيساعدك أيضا في القيام بعملية تصحيح الكود البرمجي في حالة عطله (Debugging) ، و سيكسبك ثقة أكبر في الكود الذي تكتبه ( من ناحية الحماية ) . 
يمكنك الإطلاع على  هذا الرد كاملا من هنا .



- كيف تكشف المبرمج المستجد و المبرمج المبرمج : 

في أحد الردود المضحكة و الجميلة أيضا ، هي كالتالي : " هل لديك فكرة عن كيفية كشف المبرمج المستجد و المبرمج الحقيقي ؟ " ، إنها المعرفة صديقي ، في الغالب عزيزي المستجد إن سألتك : " ما اللغات البرمجية التي تعرفها " ستخبرني HTML و الC++ ، مستجد ، و إن سألتك :  " ما الفرق بين المطور و المبرمج ؟ " ستجيبني ؟ او اليس كليهما نفس المفهوم ؟ ، ان تكشف المبرمج المستجد أسهل من السهل نفسه ، انت عزيزي المبرمج ، عليك أن تتملص من هذا الأمر ، لا أخبرك صديقي انه امر سيئ او عيب ان تكون مستجدا ، لكن حاول ان تلعب من حين لآخر دور المبرمج الحقيقي ، و لفعل ذلك ( و هذا هو بيت القصية من الرد كامله ) و لتفعل ذلك عليك ان تعرف أكثر عن البرمجة ، صحيح ان البرمجة أكواد و مشاكل و خوارزميات ، لكن هذا لا يعني ان تعلمها سيجعل منك مبرمجا ، بل عليك ان تعرف أكثر عن البرمجة ، إعرف أكثر عن اللغات البرمجية ، فيما يتم إستخدامها ، مبتكري و صناع هذه اللغات ، طرق إستخدام هذه اللغات ، الفرق بين هذه اللغة و تلك اللغة ، و لما هذه اللغة أفضل من هذه .... ، و لا تجعل البرمجة تقتصر دائما على كتابة الكود . 


- تعلم البرمجة في مدارس مخصصة لها أفضل من تعلمها من تلقاء ذاتك : 


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



- تعلم كيف تفكر مثل الحاسوب : 





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


- لتتعلم البرمجة .. عليك ان تبرمج : 


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

شاركه على :