الكثير من النقاشات تدور حول هذا الموضوع والكثير من الجدال والخلافات والمشاكل التي لا تنتهي رغم أن الموضوع بسيط وسهل ولا يحتاج لكل هذا النقاش.
أخذ المعلومات والنصائح
لا تأخذ المعلومة من شخص واحد فقط حتى ولو كان يعمل في وكالة Nasa وفي شركة Google وفي شركة Netflix في نفس اللحظة, إذا كيف أتاكد من المعلومة ؟
- اسمع رأي المشاهير في المجال في جميع أنحاء العالم جميعهم وليس شخص واحد فقط
- اقرا إجابات سؤالك وشاهد النقاش على المواقع العالمية Stackoverflow, Quora, Reddit وهكذا
- إسأل العاملين في مجالك هل هذه التقنية مطلوبة في وظيفتنا أم لا
- شاهد مواقع الوظائف والدورات التعليمية العالمية تنصح بهذه التقنيات أم لا
من صفات المبرمج الناجح
من أكثر صفات المبرمج الناجح أن لا يترك أي شيء يعبر من أمامه بدون فهمه والإقتناع به ولذلك يجب عليك أن تناقش دائما وتسأل لماذا وكيف ولا تترك شيء يمر مرور الكرام بدون أن تقتنع به لذلك حتى لو سمعت رأي معين لا تمشي ورائه بدون تفكير إسال لماذا.
إسأل لماذا؟
في بداية حياتك طلب منك شخص أن تتعلم تقنية X وتقنية Y وتقنية Z لا تمشي وراء هذا الكلام بدون فهم كامل لماذا أتعلم تقنية X و Y و Z يجب أن تكون انسان واعي اسال اولا قبل أن تمشي في طريق لا تعرف لماذا وأين سوف يصل بك ولذلك يجب على من ينصحك أن يخبرك سوف تتعلم تقنية X لأنها سوف تجعلك قادر على عمل كذا وكذا وكذا لذلك أنت فهمت وسوف تبدأ مباشرة بتعلمها بعد أن عرفت قيمتها ولذلك إسأل دائما لماذا.
الناس والتأسيس السليم
من فضلك قم بالإجابة على هذه الأسئلة
- قمنا بعمل Marathon بين المدن فيه مائة ألف شخص كم شخص سوف يصل للنهاية وكم شخص سوف يصل لنصف المسافة?
- لدينا مليون مبرمج في دولة مثل الهند, كلهم يتعلمون, كم منهم سوف يعمل في شركة Google وشركة Netflix ?
- إذا كنت عبقري ومحترف جدا ولا توجد غير وظيفة متاحة في بلدك بمرتب 4000 وأنت تستحق 80.000 ماذا سوف تفعل ؟
دعنا نجيب على الأسئلة
قمنا بعمل Marathon
ليس جميع الناس سوف تصل حتى لمنتصف المسافة والأسباب كثيرة والإرادة والشغف وحب الوصول والكثير سوف يجعل بعض الناس تصل للنهاية وبعض الناس لمنتصف الطريق وبعض الناس بعد القليل من الكيلومترات سوف تقف ولن تكمل ويمكن أن تكمل ولكن بعد وقت طويل وهنا الفكرة العامة ليست المائة ألف شخص الذين سيبدأوا هم نفس المائة ألف شخص الذين سيصلوا للنهاية.
لدينا مليون مبرمج
من المستحيل المسار التعليمي السليم ينفع مع جميع الناس فسوف تجد من يتعلم بطريقة سليمة ويتأسس جيدا ويصل لأقصى درجات الإحتراف وسوف تجد من هو أقل منه ومن هو أقل منه وهكذا وهذه سنة الحياة “الناس درجات” ولذلك المسار السليم الصحيح القوي الذي لا خلاف عليه لن ينفع مع جميع الناس والمشكلة في الناس وليست في المسار التعليمي السليم.
إذا كنت عبقري ومحترف جدا
هنا المشكلة أنه لو جميع الناس عباقرة وجميع الناس لا يشق لهم غبار في مجالهم الشركات التي تحتاج لشخص مستواه متوسط أو ضعيف حتى لن تجد موظفين ولذلك يجب توزيع العاملين في المجال على أماكنهم الصحيحة بمعنى شخص تعب في حياته وتأسس في سنين ودرس في سنين وقضى حياته في التعلم فمكانه في شركة كبيرة جدا بمرتب محترم جدا لذلك شخص آخر تعلم ودرس كل شيء في ستة أشهر مثلا مكانه ليس مع الشخص الأول وكل شخص يأخذ حقه بناء على تعبه والوقت الذي قضاه في التعلم والمجهود الذي بذله.
المسارات وإختلافها مع الناس
المسار الأول
شخص بدأ حياته بمعرفة علوم الحاسب ثم درس لغة برمجة شاملة مثل C, C++ وتعلم مفهوم ال Object Oriented Programming وتعلم الخوارزميات وهيكلة البيانات وبعدها حدد مساره وهو تطبيقات ال Web وإختار لغة مثل PHP وبدأ دراستها وتعمق في المجال.
المسار الثاني
بعض الناس بدأت حياتها بتعلم لغة Scripting بسيطة مثل لغة PHP وفهم منها الذي يحتاجه لعمل تطبيق Web وبعد فترة بدأ يطور مستواه ويدرس البرمجة بعمق وتعرف على ال اللغات ال Low Level مثل لغة C وتعرف على لغة مثل C++ ودرس الخوارزميات وهيكلة البيانات وال Object Oriented Programming وفهم بعمق أكثر ومستواه تطور.
المسار الثالث
شخص بدأ حياته بتعلم لغة مثل PHP وفهم اللغة وبدأ العمل على تطبيقات ال Web ولم يحاول تطوير مستواه ليفهم ماذا يحدث وراء الكواليس في كل Method يقوم بكتابتها مثلا.
المسارات السابقة الأول والثاني لا توجد فيهم مشكلة هناك الكثير من الناس عندما بدأوا تعلم الخوارزميات وهيكلة البيانات في أول حياتهم كان الموضوع فيه مشكلة بسبب أن كل شيء نظري ولا يجد نتيجة أماه تشجعه على إكمال التعليم والمعلومات كانت ثقيلة عليه وهذه ميزة وعيب في نفس الوقت وهناك الآخرين وجدوا الموضوع ممتع جدا وفهموا الكثير منه وكان الموضوع أسهل ما يكون. الخلاصة سوأء تعلمت في البداية أو بعد أن تعلمت لغة بسيطة لتحصل على وظيفة بها الأهم هو التعلم وزيادة مستواك وفهم ما يحدث وراء الكواليس وفهم ما الذي تكتبه وفهم المفهوم العام للبرمجة وليسة لغة البرمجة. شاهد هذا المقال
تعلم البرمجة وليس لغة البرمجة
الوقت
هل جميع الناس لديهم الوقت للمضي في المسار السليم والتأسيس السليم لفهم البرمجة ؟ لا ليس كل الناس لديهم هذا الوقت ولذلك المسار التعليمي السليم وأقول بكل قوة السليم لن ينفع مع كل الناس والسبب شرحناه في النقاط السابقة أن هناك الكثير من الناس تحتاج للعمل سريعا ولا تحتاج للتأسيس لسنين طويلة ولا تعاتب أي شخص يمشي في هذا الطريق بسبب إحتياج الناس للأموال وبسبب أجابة سؤال المليون مبرمج في دولة الهند إرجع للسؤال لتفهم الفكرة. ولذلك يجب عليك أن تقوم بتوعية الناس وتعرض عليه مقارنة بين أن تعمل مباشرة وبين أن تتعلم وتمشي على المسار السليم ودع له القرار فهو يعرف ما يحتاج وليس أنت.
لماذا ينصحوا بلغة ++C, C
تخيل معي أن تقود سيارة وتستخدم المميزات الموجودة فيها المتاحة لك وهذه هي ال Methods الخاصة باللغات التي تتعلمها وتخيل معي لو كنت تستطيع مخاطبة ال Hardware مثلا مباشرة والتعامل معه وإضافة مميزات جديدة وفهم كيف يعمل ال Gear عندما تنقله من مرحلة لمرحلة هذه هي الفكرة. هناك فهم أعمق لما يحدث وهناك تحدي لعقلك سوف يزيد مهاراتك وفهمك العميق للبيانات وآلية عمل الدوال البرمجية والتعامل مع الحاسب
بدأت بلغة مثل PHP
لا تقف أبدا وترمي الوقت الذي تعلمت فيه فوقتك من ذهب أكمل التعليم كما أنت وبعدها تعلم الخوارزميات وهيكلة البيانات بهذه اللغة لتفهم فهم أعمق وتكمل كما أنت ولا توجد أبدا مشكلة لو تعلمت بعدها أي شيء تريده وتتعلم المسار الذي ذكرناه بعد أن تنتهي من دراسة اللغة, ارجع للمسار رقم إثنين في نفس المقال.
هل المسار السليم مناسب لي ؟
هل لديك الوقت الكافي لتتعلم لفترة طويلة بدون الحصول على مال ؟ قبل أن تجيب سوف أخبرك شيئا مهما لو صبرت فترة طويلة وتأسست جيدا المرتب الذي سوف تحصل عليه بعدها يمكن أن يعادل مرتب سنة كاملة من المدة التي سوف تقضيها في العمل مباشرة بدون التأسيس السليم. مثلا لو افترضنا أنك سوف تحصل على راتب 3000 شهريا يمكن أن تتعلم وتتأسس بشكل سليم لمدة سنتين وبعد أن تجد وظيفة تلائمك تجد راتبك هو 36000 لذلك في شهرين فقط سوف تحصل على راتب السنتين السابقين
هل سوف أحصل على راتب 100.000
هناك أشياء مغلوطة كثيرة في هذه النقطة والكثير من الناس سوف تصدم لو لم يفهموها بشكل جيد, ليس معنى أنك تعلمت ++C و OOP و Algorithm و Data Structure و Design Patterns أنه بعد الإنتهاء مبروك عليك وبإنتظارك لتعمل بوظيفة مرتبها 100.000 هذا غير صحيح ويجب أن تفهم حتى لا تصدم, التعلم شيء والوظيفة شيء آخر, الوظيفة سوف تجد آلاف الناس معك تقدم لنفسك الوظيفة, يجب أن تكون ذكي ولديك مهارات المبرمج فوق هذه التقنيات ويجب أن تعيش حياتك كلها تقوم بحل مسائل برمجية Problem Solving والأهم أن تكون قمت بالتطبيق العملي على كل شيء تعلمته ولا تقف أبدا في التطبيقات فالشركات لا توظف بسبب أنك تعلمت كل هذه المواد لا الشركات توظف بناء على طريقة تفكيرك وكيف ستقوم بحل المشكلة التي أعطوها لك, افتح موقع Youtube وابحث عن الناس التي دخلت شركة Google لعمل Interview وشاهد الأسئلة لتفهم مقصدي لذلك فكر جيدا الموضوع ليس تعلم تقنيات ولغات فقط بل الكثير, شاهد بعض هذه المهارات
- تطوير مستوى التفكير
- حل الكثير من المسائل
- التطبيق العملي ومتابعة سوق العمل وتقنيات سوق العمل
- التركيز جدا على تقنيات مجالك بعد إختياره طبعا
- تطوير المنطق البرمجي من الكتب والمقالات والتطبيق
المسار المناسب لك إمشي فيه ولا تمشي مسار شخص آخر مادمت في النهاية سوف تلتقي معه في نفس النقطة في النهاية ومادمت سوف تتعلم ما يقوم بتطويرك في مجالك. إذا كان لديك أي شيء يفيد المقال او اي معلومة فيها خطأ تريد تصليحها أتمنى مراسلتي لنقوم بإصلاحها وشكرا لكم على الوصول لهذه النقطة
0 تعليقات