يعطيكم العافيه
انا بدات بتعلم لغة برمجه بس حابة اعرف اذا في مهارات لازم اكتسبها حتى اصير محترفة ؟🤔
مرحبًا @noor_ahmad
يجب أولًا أن يتم تحديد المجال الذي تريد/ين أن تتخصص فيه، لأن هناك الكثير من المجالات وكل واحد منهم يحتوي على كم كبير من المعلومات والتقنيات التي يجب تعلمها، ومن هذه المجالات على سبيل المثال لا الحصر:
تطوير واجهات المواقع Frontend
تطوير تطبيقات الويب Backend
تطوير تطبيقات الهاتف
تطوير تطبيقات سطح المكتب
عمل روبوتات
تطبيقات الذكاء الإصطناعي
الأتمتة والتحكم الآلي Automation
وغيرها الكثير، وكل مجال مما سبق يحتوي على فروع متعددة ولغات برمجة مختلفة وتقنيات خاصة به. لذلك من المهم تحديد المجال أولًا، بعد ذلك يمكنك البدء بتعلمه عن طريق مسار محدد (وقد يحتوي المسار على دورة أو أكثر).
أفضل طريقة للتعلم هي متابعة دورة جيدة ومعروفة حتى النهاية والمحافظة على التطبيق وراء المدرب وعدم الإكتفاء بفهم الخطوات، حيث أن للتطبيق العملي أثر كبير على خفظ الخطوات وفهم الكود بشكل كبير مقارنة بالمشاهدة فقط.
بعد التعلم وإنهاء المسار بالكامل يحين وقت القيام بعمل مشاريع ووضعها في معرض أعمالك، فأعمالك تعبر عن مستوى إحترافك، وبمجرد بحث بسيط سيمكنك العثور على مئات الأفكار لمشاريع يمكنك القيام بها في كل مجال من المجالات السابقة. إنصحك بعمل معرض أعمال بسيط على إحدى منصات العمل الحر مثل مستقل.
قد يستغرق الأمر الكثير من الوقت لإتمام مسار ما ولكن كل شيء يحتاج لوقت ونجاحك مرهون بإستمرارك في التعلم.
قبل البدء بتحديد مسار معين للتوجه إليه وإحترافه من الأفضل تعلم أحد لغات البرمجة القوية والتي في حال تعلمها سيسهل عليكي تعلم أي لغة برمجة, فهنالك بعض الأساسيات في البرمجة التي لا تتغير وما يتغر بها هي طريقة الكتابة فقط, ومثال على هذه اللغات التي ذكرتها هي: C++, Java و Python فتمكنك من واحدة من هذه اللغات سيمكنك من تعلم أي واحدة أخرى وغيرها من هذه اللغات بسرعة وسهولة. وفي حال كان المجال الذي تريدين التخصص به يحتاج إلى أحد هذه اللغات فهذا يسرع لكي وتيرة التعلم والوصول للإحتراف المنشود.
وأهم شيء حتى يتم ترسيخ المفاهيم التي قُمتي بتعلمها هي بالتطبيق العملي وإنشاء مشروع ولو كان صغيراً مثل آلة حاسبة تقوم بالعمليات الأساسية وغيرها من المشاريع الصغيرة. بعد هذا يفضل تحديد التوجه الذي تريدنه أو ما المجال الذي تريدين التخصص به, هل تريدين تطوير تطبيقات الهاتف أم تطوير مواقع الويب أو ربما تصميمها أو تطوير الألعاب أو في مجال الذكاء الصناعي والبيانات.وبعد تحديدك لهذا الأمر عليكي بالبحث عن أفضل لغة برمجية مستخدمة للتطوير بهذا التخصص والبدء بتعلمه ومعرفته وبناء المشاريع وهكذا.
هنالك بعض الأمور المفضل تعلمها لتزيد من إنتاجية الشخص وجعل الكود الخاص به أكثر إحترافية وهي: الخوارزميات, بنية البيانات, الأنماط البرمجية, الطريقة الصحيحة لكتابة كود (نظيف) ثم في النهاية الأطر البرمجية.
قبل فترة بسيطه أستمعت الى حوار الدكتور المصري الكبير
إبراهيم الفقي رحمة الله عليه
قال أولا يجب أن تتعلم كيف تتعلم
وهنا راح اعطيك هذه الدورة الجميله والرائعه من موقع فلكس كورسز
بعدها لازم تتعلم الاساسيات وهنا بقترح عليك أحد هذه الدورات
الأول مجاني :
والثانية مدفوعة :
بعدها تحديد المسار اذا كان ويب او موبايل
وبالتوفيق بأذن الله
طبعا الصبر مهم وعدم التشتت بالدورات مهم
والتطبيق أهم من المهم
أولا: التوكل على الله في كل شئ.
ثانياً: حاولي أن تقنعي نفسك بأن هذه اللغة التي تريدين تعلمها هي لغة سهلة ومميزة لأن هذا يسهل عليكي تقبل هذا الأمر والمواظبة عليه.
ثالثاً: عند دراسة اي شئ حاولي أن تتعمقي فيه بعد أن تفهمي الصورة العامة للشئ الذي تدرسينه حتى تتضح جميع الأمور والخبايا للشئ الذي تدرسينه
وأخيراً اصبري لأن البرمجة بشكل عام تحتاج للصبر والمحاولة والتجريب.
حسناً إن الأمر يعتمد على المجال الذي ترغبين فيه
لكن دعيني أخبركِ بأهم الأمور التي يحتاجها المبرمج مبتدئ كان أو متقدم المستوى أو حتى المحترف
التفكير المنطقي صدقيني البرمجة ابنة علمين مهمّين الفلسفة و الرياضيات أنا لا أقول لكِ أو للإخوة القراء أن يتعلموا الرياضيات أو الفلسفة بشكل أساسي لكن من المهم معرفة أن مهارات البحث و الاطلاع و التجربة و التحليل من المهارات المهمة بالبرمجة بذات الأهمية في هذين العلمين و لتطوير هذه المهارات للحصول على تفكير منطقي قوي و مرن عليكم بتجربة انشاء مشروع صغير بين الفترة و الأخرى يحتاج الى مهارات أعلى بقليل من مهاراتكم و البحث بفكرة جديدة او طريقة جديدة أو حتى تقنية ما لإنشاء هذا المشروع
أنماط التصميم design patterns و هي من الأمور المهمة لكتابة كود مفهوم أو حتى لإيجاد حل لمشكلة ما و هي مجموعة من الأساليب التي أوجدت بعد ظهور عدة مشاكل و اعتمدت في حلها
الخوارزميات و بنية البيانات data structure and algorithms و هي من اهم الأمور في علم الحاسب التي ينبغي على المبرمج تعلمها. طريقة كتابة و قراءة خوارزمية مهارة ضرورية للمبرمج ليست فقط مهمة فهي من الأساليب لايصال معلومة لمختلف المبرمجين عن طريقة عمل البرمجية الموضوعة أو حل لمشكلة ما برمجياً و أيضاً تعلم الخوارزميات الشهيرة أمر مهم و يساعد المبرمج على تحسين تفكيره المنطقي. أما بالنسبة لبنية البيانات فهي لا تقل أهمية عن الخوارزميات فمعرفة على الأقل نوع البيانات المتعامل معه و كيفية عمله و استعمالاته امر مهم لتجنب الاخطاء و كتابة الكود الصحيح مع أنواع البيانات الصحيحة
/data_structures
البرمجة الكائنية OOP من اهم التوجهات البرمجية Programming Paradism و التي أنصح بتعلمها بشكل مفصل لكثرة استخدامها و اهميتها في تسهيل كتابة الكود و تطويره
التعامل مع git
التدرب يومياً عشر دقائق حتى وصول إلى سرعة كتابة 50 كلمة في الدقيقة لتجنب الملل و الضجر لاحقاً
التعلم على بيئة نظام التشغيل المستخدم و بيئة اللغة التي تتعلمها امر مهم
حل مسألة برمجياً بين الفترة و الأخرى على مواقع hackerearth , codeforces, projecteulerو أمثالهم(projecteuler لا أنصح به إن لم يكن المجال الذي تتعلم به يعتمد على مهاراتك بالرياضيات كتطوير المواقع مثلاً)
أرجو أن أكون قدمت جواب مفيد للجميع و أرجو أنني لم أنقص أمر مهم و شكراً للقراءة
التعليقات