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

Thursday, March 16, 2017

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 المناسب للغة التي تريد تعلمها ، و إبدأ بالبرمجة ، فإن لم تفعل ، فأنت لن تتعلم البرمجة إطلاقا . 

Post a Comment

مساحة إعلانية
مساحة إعلانية

يمكنك مشاركة الموضوع على الواتساب من هاتفك المحمول فقط

اكتب كلمة البحث واضغط إنتري