تعلم البرمجة من الصفر حتى الاحتراف

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

قبل الدخول إلى هذا العالم يجب عليك أن تدرك هذه الحقائق:

  • الوقت لبلوغ مرحلة الإتقان سيكون طويل.
  • تعلّم كيفية التعلم
  • أبحث عن دورات كاملة، ولا تتعلّم من دورات قصيرة.
  • الصبر، الصبر، الصبر.
  • الدورات المدفوعة أفضل من المجانية غالبًا. (عندما تدفع ستكون ملتزم أكثر بإتمام الدورة للنهاية، ومتابعة تقدمك)
  • معرفة مجالات البرمجة: برمجة تطبيقات الهواتف، برمجة لسطح المكتب (برامج الكمبيوتر)، برمجة الألعاب، برمجة مواقع الإنترنت.

التعلم الذاتي للبرمجة هو الحل

لنفترض أنك في المنطقة صفر من تعلم البرمجة ولديك أسئلة مثل كيف أتعلم البرمجة وما هي أفضل لغة برمجة؟، هل يمكن تعلم البرمجة ذاتيًا؟ توجهت بهذه الأسئلة إلى محمد المشيقح، وهو أكاديمي سعودي قام بتدريس البرمجة، ثم رائد أعمال قام بإطلاق عدة مشاريع برمجية مثل شبكة بينلينس ويرئ المشيقح أن تعلّم البرمجة في أساسه لا بد أن يخضع للتعلم الذاتي "حسب تجربتي وخبرتي.. هذا هو الأصل في تعلم البرمجة بشكل ذاتي، وليس هناك طريق غيره." ويشرح ذلك بقوله: "بسبب أن البرمجة فيها أشياء مترابطة وتقنيات متداخله ومتجددة بشكل مستمر، ومن أجل ذلك لن تجد من يعلمك طول فترة عملك في مجال البرمجة!" إلا أنه يقترح أن يتم تعلم الأساسيات من خلال معلم "لكن عندما يتعلق الأمر بمرحلة التأسيس في التعلّم وفهم علاقة الإنسان والكمبيوتر، وفهم العبارة البرمجية والمدخلات والمخرجات الدوال والمصفوفات وغيرها.. والتي هي حجر الأساس لكل لغات البرمجة يمكن أن تتعلم ذلك عن طريق معلم. لأنها ممنهجه ولها طريقة في التعلم." ويمكن تعلم ذلك ذاتيًا أيضا ولكن بطريقة ممنهجه، مثل كتاب أو دورة أونلاين أو أدخل كورس جامعي بصفة زائر. ويضيف: “لكني أنصح دومًا من أراد تأسيس نفسه برمجيًا أن يتجه للدورات المدفوعة في منصات التعليم." ويشير المشيقح إلى خطورة المحتوى المجاني في التعلم الذاتي "سوف يساهم في استنزاف وقتك في التعلم، وينقلك من يوتيوب إلى منصات تعليم مجانية وهكذا" المحتوى المجاني مثل "قوائم التشغيل في يوتيوب" في التعلم قد يسبب التشتت للمستخدم بالذات في حال لم يكن لديه مُرشد يساعده على الاختيار وتحديد اللغة المناسبة. ويفسر خطورة ذلك من خلال غياب المرشد وقلة الوعي بالمحتوى السيئ عند المتعلم "ما زلت في نقطة البداية ليس لديك الوعي أو الفهم الذي يمكنك من تقييم جودة محتوى التعلّم.. لذا أنصح المتعلم أن يتجه فورًا للمحتوى المدفوع على منصات التعلم الإلكتروني. وعن طول وقت الدورات الإلكترونية يشير المشيقح إلى نقطة في غاية الأهمية "الوقت الذي ستقضيه في التعلّم من في الدورات المدفوعة ربما يكون 3 أشهر، وهو وقت يمكنك قضائه متنقلًا بين عدة مصادر مجانية دون أي فائدة تذكر" عندما تكون في (المنطقة صفر) من التعلّم عليك أن تختار الدورة المدفوعة الأفضل، لا تقفز بين عدة مصادر. عندما تتعلّم مصادر البرمجة الأساسية عندها ليس هنالك خيار إلا التعلم الذاتي، لأنه على الأغلب أن تتعلّم بناءً على التقنيات التي تفرضها عليك مشاريعك البرمجية، وهكذا ستدخل في مجال التعلم الذاتي طواعيةً. وعندما سألت المشيقح عن أي لغة برمجة يمكن أن يختارها المبتدئ أضاف: “إذا كنت في منطقة الصفر أعتقد أنه من المبالغة طرح هذا السؤال، في البداية عليك أن تفهم ما هية البرمجة، ثم كيف تقوم بإعداد برنامج" وأضاف "بعد ذلك لا يفرق معك أي لغة تتعلمها لكن كن حريص على لغة مصادر تعلم مبادئها كثيرة جدًا وأنطلق معها" وينصح المشيقح بلغات البرمجة (C أو C++ أو Java) لأنها لغات يتم استخدامها في التعليم النظامي في الجامعات لتعليم المبادئ الأساسية في صناعة البرمجيات

بعد أن فهمت أسلوب البرمجة يخبرنا المشيقح "الآن يمكنك الهجرة لأي لغة برمجة أخرى" وفق طريقتين:

  • أولًا يمكنك البحث عن أكثر لغات البرمجة المطلوبة في سوق العمل، في سوقك المحلي وتعلم اللغة الأكثر طلبًا أو الأكثر رواتب وضمان مسار مهني
  • في حال أردت بناء شركة ناشئة، يمكنك الاطلاع على أشهر تقنيات بناء الشركات الناشئة وتعلمها.
يمكنك معرفة اللغات الأشهر من خلال github أو Stack Overflow لديهم في أخصائيات وترتيب عن هذه اللغات بحسب عدة اعتبارات مثل مجال أمن المعلومات وغيرها.. يمكنك لهذه المؤشرات أن تعطيك نوعًا من البصيرة وتحدد لك اللغة الأفضل. ويشير المشيقح لضرورة أهمية "إحاطة نفسك بمجموعة من المهتمين في مجال التقني" حتى تكون على معرفة ودراية بالمجال وتحصل على إجابات مفيدة.

الخطوات كما شرحها المشيقح:

  • للانتقال من منطقة الصفر في التعلم.
  • تعلم أساسيات البرمجة وطريقة إعداد برنامج.
  • أصبر ولا تتنقل بين عدة مصادر للتعلّم.
  • اختيار الدورات المدفوعة.
  • بعد فهم الأساسيات يمكن أن تنتقل لأي لغة برمجة

مؤشرات على قوة البرمجة

من خلال حديثي مع المئات من رواد الأعمال العرب أستطيع أن أقول لك بأن الطلب مرتفع جدًا على المبرمجين، وهناك المئات من الشركات الناشئة في المنطقة العربية التي تبحث عن المواهب في مجال البرمجة. سواءً كنت تتعلم البرمجة في مسار جامعي، أو تريد تعلمها ذاتيًا. الشركات لا تريد شهادة جامعية في التخصص بقدر ما تبحث عن موهبة تتقن البرمجة. وهذا ما قام به إيلون مسك "Elon Musk" -المدير التنفيذي لشركة تسلا للسيارات ذاتية القيادة- عبر حسابه على تويتر بالإعلان عن وظيفة شاغرة في قسم الذكاء الاصطناعي، موضحًا أن الوظيفة لا تتطلب درجةً علمية "لا يشترط أن تكون من حاملي الدكتوراه، لا يهمني حتى إذا كنت خريج مدرسة ثانوية." وأضاف أن الوظيفة تتطلب فقط فهمًا عميقًا بالذكاء الاصطناعي، إلا أن كل المترشحين يجب أن يجتازوا اختبار برمجة. هو ليس تقليلًا من التعليم الجامعي بقدر ما هو بحث عن المواهب. ويمكن الاطلاع على ما قامت شركة آبل بدفعه للمطورين من بداية إطلاق موقع التطبيقات في العام 2008 وحتى العام 2019 حيث بلغ 155 مليار دولار ذهبت جميعها إلى لمطورين التطبيقات وفي مجال برمجة الألعاب وهو قطاع ضخم جدًا، حيث أنفق لاعبي الهواتف الذكية مبلغ 61.7 مليار دولار أمريكي على ألعاب الهواتف الذكية في 2019. مما يعد بمستقبل مزدهر لهذا القطاع. يمكن لهذا المؤشرات والأرقام أن تعطيك نوعًا من البصيرة عن تحرك رؤوس الأموال والاقتصاد نحو البرمجة والتي بدورها تغذي الطلب على المبرمجين المهرة، هل أنت جاهز إلى تعلم البرمجة؟
سفر عياد
سفر عياد
- نشرة بريدية كل خميس

مدونة شخصية و نشرة بريدية ، تدور حول «التقنية، الاقتصاد الرقمي، والمحتوى»