82

ازاي تتعلم البرمجة ( بطريقة أسهل وأسرع)

مرحبا!

وأهلا بكم في حلقة جديدة.

اسمي هو باتريك شو وأنا قائد الفريق التقني

موضوعنا اليوم هو كيف تتعلم البرمجة

وهناك فقط مهارة واحدة

يجب أن تمتلكها

لتتعلم البرمجة

وبصفة عامة إذا كان الناس يمتلكون هذه المهارة أو لا

وهي في الحقيقة القدرة على الجلوس على الحاسوب

لساعات عديدة في الجلسة الواحدة

كل المهندسين يعلمون أن هناك شيئا يدعى "المنطقة"

حيث فقط يجلسون على الحاسوب

بدون مقاطعة لمدة طويلة من الوقت

وبهذا يمكنهم تجميع الأفكار المعقدة والمتداخلة

وربط بعض العناصر المنطقية وبالتالي تكوين مشروع

وهذه عادة لا يمتلكها الكثير من الناس

فهم يقضون حوالي 10 دقائق في المرة الواحدة

ربما لا يملكون مكتبا

من الممكن أن يكونوا يشاهدون التلفاز بينما يستخدمون حاسوبهم المحمول

ويتصفحون هاتفهم المحمول طوال الوقت

ومن ثم ينهضون لجلب بعض الكيك

ثم يقومون بتمشية كلبهم

وبعد ذلك يقومون بأخذ سياراتهم

لعمل مهمة

او الذهاب للتسوق، ثم يعودون.

ومن ثم عليهم الخروج والتسكع مع اصدقائهم

وفي كل مرة يقضون ما بين 10 إلى 20 دقيقة على الحاسوب

وذلك ليس وقتا كافي للجلوس والتركيز

لذلك، إن كان باستطاعتك التعود على قول أنك ستكون محجوزا لمدة -مثلا- 4 ساعات في المساء

تحضر كوب شاي، وتجلس جديا

وتركز على الحملقة في حاسوبك لكل هذه لمدة

عندها أعتقد أنك ستكون قادر على تطوير تلك العادة

ومن الأفضل حتى إن كان باستطاعتك أن تكون محجوزا طول الوم من بعد الظهر

وفقط تعطي اليوم كله للبرمجة

وبذلك ببساطة يمكنك أن تتعلم

وفي الاساس، فهندسة البرمجيات هي فقط حول التعلم مرارا وتكرارا

هي نوعا ما مجالا ممتع حيث أنها لا تشبه المحاماة أو الطب

حيث بمرور الوقت، خبرتك فقط تُبنى وتُبنى

وحينها عندما تكون طبيبا أو محاميا بالغا من العمر 60 عاما...

تكون لديك الخبرة الكافية لتختار كم المال الذي تريد

الآن كمهندس برمجيات، إن بلغت عمر ال 60 فأنت في الغالب تكون قد تقاعدت

فالآن ليس الأمر منوطا بالضرورة بالشيخوخة

إنه مرتبط أكثر بأن الكثيرين يبدأون في الركود ويتوقفون عن التعلم

لو بامكانك مواصلة التعلم والبقاء مطلعا على مستجدات التكنولوجيا

التي تتغير على مر السنين

سوف تصبح جيدا في هذا المجال بصفة عامة

إذا فالامر كله منوط بتطوير القدرة على التعلم

والقدرة على التعلم تكتسب من قضاء مدة طويلة

جالسا أمام الكمبيوتر

واحدى نصائحي إليك أن

أنني أحضر بعض المقطوعات الموسيقية الجيدة

وسوف تجعلني أريد الجلوس على الحاسوب

لكي استمع إلى تلك الموسيقى

ثم فقط استمع إاليها

ومن ثم سوف اصب تركيزي على أيا كان ما افعله

وأيضا اقول أن

كثير من الناس ليس لديهم القدرة

أن يمكثو جالسين لعدة ساعات في مرة واحدة ويشغلون الكمبيوتر

أنا حتى لست متأكدا إن كان ذلك شيء صحي

عادة إانهم الطلبة الذين ليس لديهم العديد من الأصدقاء

اولئك الذين لا يتم دعوتهم إلى الحفلات

ولذلك فهم فقط يقضون وقتهم في البيت بمفردهم

وليس لديهم الكثير ليفعلوه، عدا التعلم

بصفة أساسية يصبحون محترفي برمجة

لذلك، ان كنت شخصا إلى حد ما مشهورا

او كان لديك الكثير من المناسبات

وحياتك مليئة بالاحداث

فأنت غالبا سوف تجده أمرا صعبا جدا

أن تجبر نفسك على البقاء في المنزل

وتجاهل كل هذه الأحداث والمناسبات

بالنسبة لي.... فأنا من الاشخاص الذين يستمتعون بقضاء الوقت في البيت

وعدم القيام بالكثير من الأشياء

فإن كان الأمر عائدا إلي، يمكنني البقاء في المنزل لمدة امممم

شهر كامل

وممكن أن اخرج مرة في الأسبوع

أنا فقط لا أشعر أنني أريد الذهاب للتسوق

أو الذهاب للمول كل يوم

ليش بالشيء المهم بالنسبة لي

أتذكر عندما كنت في المرحلة الثانوية،

لم أكن الطفل الأذكى.

قد كنت ذكيا ولكن كان هناك هؤلاء الاطفال الأذكى بكثيرا مني

وكانوا دائما يحصلون على درجات +A

في كل الاختبارات

ثم كلنا ذهبنا إلى الجامعة

وبينما كان شائعا جدا في تلك الفترة

أن تلتحق بمجال علوم الكمبيوتر

فغالبيتهم فعل ذلك

وفي غالب الأمر، على نهاية العام الجامعي الأول

كلهم تخلوا عن ذلك المجال

وكنت أنا تقريبا الطالب الوحيد المتبقي من مدرستي الثانوية

والذي كان يدرس علوم الكمبيوتر والبرمحة

أول درس يسمى بالدرس الفيصلي

لأنه وضع ليكون صعبا عن قصد

ويقوم بفلترة العديد من الطلاب

ويعطيهم درجات سيئة

ليجبرهم على تغيير مجال دراستهم

في الوقت ذاته... بالنسبة لي

أنا حقا استمتعت بذلك الدرس فقد حصلت على درجة +A فيه

واعتقد أن السبب هو أن

معظم هؤلاء الناس جيدون في الدراسة العادية

كأن يقرأون كتابا

يحفظونه

يمكنهم عمل الواجب المنزلي

ولكن من المحتمل أن ليست لديهم ثقافة

الجلوس أمام الحاسوب لساعات عديدة

وذلك كان شيئا على الأقل كنت أملكه.

فقد كنت استخدم الأكواد تقريبا منذ المرحلة الابتدائية

وفي الوقت ذاته

أفكر كثيرا في الأطفال الآخرين

لم يكن لديهم أي فكرة

عما كانوا يقحمون أنفسهم فيه

فقد اعتقدوا ان الأمر سيكون ك...

دراسة الفيزياء أو الكيمياء أو الأحياء

أو شيء من هذا القبيل

ولكن علوم الكمبيوتر ثقافة مختلفة تماما

وتتطلب ثقافة الكمبيوتر تلك

الآن، عندما تبدأ بالفعل دروات علوم الحاسوب

ربما سيفاجئك سماع أن

المحاضرين لا يعلمونك أي لغة برمجة على الإطلاق

لذلك تركيبات اللغة

ككيفية كتابة أكواد بلغة بايثون أو ++C

جافا، جافا سكريبت

PHP, C

كل هذه الأشياء

لا أحد في الواقع يعلمك ذلك

لذلك، لو كنت تفكر أنك عندما تلتحق بالجامعة

أن هناك أحد سوف يجلس ليعلمك كل هذه اللغات؟

لا تسير الامور على هذا النحو

لم يأخذ أحد بيد مهندس بهذه الطريقة من قبل

كل شخص تعلم البرمجة

تعلمها بنفسه بشكل عام

وكلهم تعلموا ذاتيا

لذلك لا تنتظر أن يعلمك أحد

هكذا فقط تسير الأمور

وتستمر في تعليم نفسك ذاتيا

لذلك، إن لم تكن لديك ثقافة التعليم الذاتي تلك

تلك الخطوة الاولية

فسيكون عليك تنميتها

حسنا! الآن انتظر

دعني أوضح أن

هناك بعض الدورات يمكنها تعليمك هذه اللغات

لو احتجت إلى مساعدة

ولكن غالبية برامج الكليات ذات الأربع سنوات

لن تعلمك ذلك

هذه أشياء ستتعلمها في...

على سبيل المثال: دورات المدارس الثانوية، أو دورات الكليات المجتمعية

وأنا اعتقد أن معظم الناس سيعتقدون أن

حسنا... الناس الذين التحقوا بالفعل إلى برنامج دراسي لعلوم الحاسوب

ومن المحتمل أنك لم تفعل، على سبيل المثال،

ربما تعتقد أنهم قد درسوا هذه الأشياء

لا أحد درس هذه الأشياء

ما يدرسه الناس حقا في هذه الدورات

الأساسيات الافتراضية على سبيل المثال: الخوارزميات

هياكل البيانات

كيف تعمل أنظمة التشغيل والمترجمات

قواعد البيانات

ولكن لعل الكورس الوحيد الذي تحتاج ان تتعلمه

هي أنواع البيانات والخوارزميات

ويجب أن تأخذ في اعتبارك أن

كل من هذه الكورسات هو في الأساس كتاب واحد فقط

لذلك لو قرأت كتابين أو ثلاثة

ستكون قد غطيت المطلوب

وذلك سيضعك على الطريق

وفي الواقع

العديد من علوم الكمبيوتر

لا تطلب معرفة كل تلك الأنواع من البيانات والخوارزميات المعقدة

هو يخبرك بكيفية تنفيذ جدول هاش

ولكن في الواقع ، لا أحد يقوم بتنفيذ جدول هاش

لكنهم فقط يستخدمونه

وفي الأساس لو كنت ستأخد دورة الخوازميات هذه

فأنا افهم تحليلات الزمكان

مثل كم هي فعالة هياكل البيانات تلك

إذا ستكون قادر على استخدامهم بشكل جيد

وليس هناك الكثير ليوقفك حينها

إذا أنا اعتقد أنا قادر على المضي قدما عن طريق تعليم نفسك بنفسك

ومع ذلك

فهذا ليس معناه ان الشهادة الجامعية عديمة الفائدة

فالشهادة الجامعية قيمة للغاية... حسب رأيي

ببساطة لأنه من الصعب جدا على الطلاب أن يبرزوا أنفسهم

المنافسة عنيفة جدا، مما يجعل الشهادة الجامعية ترفعك درجة أعلى

وتجعل كل شيء بالنسبة لك أسهل كثيرا

للحصول على أول وظيفة لك

مقارنة بامتلاك العدم

ومحاولة اثباتك للجميع أنك قد تكون مؤهلا

على الرغم من وجود الملايين من الآخرين

الحاصلين على شهادة جامعية

والذين يتسابقون على نفس الوظيفة

في الحقيقة، بعد كل ذلك أنا اعتقد

أنك يجب أن تسأل نفسك

لماذا تتعلم البرمجة؟

يمكن أن يكون هناك أهداف متنوعة

ربما تريد تصميم مشروع خاص بك

ربما فقط من باب الفضول

ولكن إذا كان هدفك أنك في نهاية الأمر تحصل على وظيفة

كمهندس حاسوب في شركة ما

ستكون نصيحتي لك أن تحصل على شيئا يخدم سيرتك الذاتية

وأفضل طريقة لفعل ذلك

هي تصميم بعض المشروعات الشخصية

كبداية

سيكون من الصعب إقناع أحد بتوظيفك

لذا فكر في بعض المشاريع الشيقة التي يمكنك القيام بها

واجعل هدفك أن تنتهي من تصميمها

ثم فقط حاول اتمامها

وفي اثناء القيام بعملها

يمكنك تعلم تلك اللغة الجديدة التي تريدها

تعلم بعض الأساسيات

وبعدما تنتهي

يمكنك وضع ذلك المشروع في السيرة الذاتية الخاصة بك

ومن ثم تأكد أن تكون قادر على شرح كل التأثيرات التي اشتمل عليها

اتعلم؟

لو كان لديك موقع مثلا لعرض مشروعك

سيكون أمرا رائعا

لو أمكنك الحصول على بعض المستخدمين، سيكون ذلك أفضل حتى

بخصوص أي مسار تسلك؟

اعتقد أني سأرشح لك مجال تطوير المواقع

حيث أنه يمكنك الانطلاق فيه بمعدل سريع

فقط تتعلم لغات HTML وجافا سكريبت

من الممكن أيضا إما PHP أو بايثون

كلغة Back End

وبسرعة سوف تنطلع بهم

وهذا كل ما تحتاجه وستكون قادر على إنشاء تطبيقات للويب

هذه المشاريع يمكنك وضعها في السيرة الذاتية ثم تبدأ العمل الحقيقي

وكخيار ثان، ارشح لك أيضا تطوير تطبيقات الهاتف

والذي ينال شهرة كبيرة هذه الأيام

ويمكنني القول أنه في الماضي...

تطوير تطبيقات الآيفون كان الأكثر رواجا

ولكن حديثا

تطوير تطبيقات الأندرويد اصبح ينتشر بسرعة الصاروخ

لو ألقيت نظرة على المخططات

نمو نظام الأندرويد ينمو بسرعة كبيرة

لذلك اعتقد أن الطلب على مطورين الأندرويد

سيكون في تزايد

أعتقد أن ذلك تقريبا يصور

ما أحاول قوله

والذي لا أحد في الحقيقة

يأخذ بيدك عبر كل هذه الأمور

إنه ليس كأن تبدأ وظيفة جديدة

فإنك تجلب زوجا من المبرمجين وتبدأ العمل معا في وجود مرشد لكم

والناس يشاهدون شاشتك

وخطو كل خطوة معا

أعني أن هناك بعض الوظائف

تقوم بعمل الكثير من البرمجة المزدوجة

ولكن معظم الوظائف التي رأيتها

فقط يعطونك إمكانية وصول لقاعدة الأكواد

ويكون هناك الكثير من التكنولوجيا المعقدة

واللغات هناك

والتي قد تكون غير مألوفة

حتى للمهندسين ذوي الخبرة

ويكون عليهم البحث وتعليم أنفسهم كيف يقومون بإتمام الأمر

ما يتطلبه الأمر حقا هو

أن تكون قادر على صب فنجان شاي او قهوة لنفسك

وتجلس لعدة ساعات

وتحاول تعلم البرمجة بنفسك

حتى في الصناعة

توجد وثائق أقل مما تراها عادة على الانترنت

كأن يكون الكود فوضوي

قد تكون هناك وثائق فقيرة جدا

والناس فقط يحتاجون إلى عقلية المفكر تلك

ويدخلون إلى هناك ويلقون نظرة

تلك هي الثقافة

هكذا تكون

ليست هناك طريقة واحدة صحيحة لفعل أي من هذا

كمبتدئ دعني أرشح لك

أنه يمكنك تجاهل مسار أساسيات الخوارزميات برمته في بداية الأمر

يمكنك الدخول إليه في نهاية المطاف

ولكن إن كنت ستمسك بكتاب

عن كيف تبدأ البرمجة بلغة PHP H أو بايثون

أو كيف تقوم بتطوير تطبيقات أندرويد أو آيفون

وفقط تبدأ بقراة ذلك الكتاب

من المحتمل أن يدخلك إلى ما تريد

وسيتطلب منك أن تكون قادر على

توفير الوقت والجهد لتفعل ذلك

واعتقد أنه في معظم الأوقات

سوف أرى الناس وأرى الطريقة التي يتصرفون بها

كمدى اجتماعيتهم

ربما لو لم يبدوا الشخص

كشخص قادر على الجلوس

ودراسة الكمبيوتر

أنا بالفعل يمكنني القول أنهم

ليس لزاما أن يتحلوا بثقافة المبرمج

قد يكون عليك فقط تنمية تلك الثقافة

والدخول في تلك "المنطقة"

والجلوس لساعات عديدة في المرة الواحدة

واعتقد أن هذه هي المهارة الوحيدة

التي يحتاج الكثير من الناس العمل عليها أكثر

لو أنهم يحتاجون بحق الدخول إلى عالم البرمجة

ذلك كل شيء بخصوص هذه الحلقة

اتركوا آرائكم في التعليقات

آراكم لاحقا

قوموا بالإعجاب بالفيديو والاشتراك بالقناة

سلام