دليلك الشامل لتعلم البرمجة من المنزل: اغتنم الفرصة لتطوير مهاراتك التقنية
في ظل الظروف الراهنة التي فرضت علينا البقاء في المنزل، قد تجد نفسك أمام وقت فراغ غير متوقع. بينما تتوقف الأنشطة الاجتماعية وتتباطأ عجلة الاقتصاد، لا يعني ذلك أنك عاجز عن استغلال هذا الوقت الثمين. لقد منحتك الأقدار فرصة فريدة قد تمتد لأسابيع أو حتى أشهر، والسؤال الأهم هو: كيف ستستثمر هذه الفترة؟
يمكنك قضاء هذا الوقت في مشاهدة مسلسلات جديدة، الانغماس في ألعاب الفيديو، أو مجرد التحديق في الشوارع الفارغة. لكن هناك خيار آخر يمنحك القوة والتحكم: استغلال هذا الوقت لتطوير ذاتك واكتساب مهارات جديدة. فلكل مهارة ترغب في تعلمها، هناك دورة مجانية عبر الإنترنت تنتظر اهتمامك. يغفل الكثيرون عن الكم الهائل من الموارد التعليمية المجانية المتاحة؛ إنها حقًا لا تصدق. تخيل مكتبة الإسكندرية بحجم مانهاتن، ومع ذلك لن تسع كل ما هو متاح اليوم. لست بحاجة إلى المال؛ فإذا كان لديك هاتف أو جهاز كمبيوتر متصل بالإنترنت ومكان مريح للجلوس، فأنت جاهز للانطلاق. كل ما تحتاجه هو الوقت، ومع انتشار فيروس كورونا، ربما أصبح لديك وقت أكثر من أي وقت مضى.
أنا، كوينسي لارسون، مهندس برمجيات علّمت نفسي بنفسي. قبل ذلك، كنت أعمل مدرسًا للغة الإنجليزية. لكن في عام 2011، وعن عمر يناهز 31 عامًا، بدأت رحلتي في تعلم البرمجة بالاعتماد على الموارد المجانية المتاحة عبر الإنترنت. على مدى السنوات التسع الماضية، عملت كمهندس برمجيات في شركات تقنية ناشئة وبنيت مواقع ويب لعملاء مستقلين.
قصتي ليست فريدة؛ فهناك الملايين من الأشخاص مثلي الذين نجحوا في التحول إلى مجال تطوير البرمجيات خلال السنوات الخمس الماضية. أعرف ذلك جيدًا لأنني ساعدت الكثير منهم على تحقيق هذا التحول. قبل خمس سنوات، أنشأت مجتمعًا تعليميًا عبر الإنترنت يُدعى freeCodeCamp.org. نعم، إنه نفس الموقع الذي قد تكون رأيت شعاره! اعتبارًا من عام 2020، حصل أكثر من 40,000 خريج من freeCodeCamp على وظائف في شركات تقنية عملاقة مثل Google و Apple و Amazon و Twitter و Spotify و Microsoft.
لم يضطر معظم هؤلاء الأشخاص للعودة إلى الجامعة، ولم يتركوا وظائفهم لمدة أربعة أشهر لحضور معسكرات تدريب مكلفة. بل الأهم من ذلك، لم ينفقوا أي أموال. لقد تعلموا البرمجة في أوقات فراغهم؛ ليلًا بعد أن ينام الأطفال، أو في عطلات نهاية الأسبوع التي كان من الممكن أن يقضوها في مشاهدة الرياضة أو ممارسة ألعاب الفيديو. هل لديك وقت فراغ الآن؟ هل جدولك الزمني به مساحات فارغة خلال الأسابيع القليلة القادمة؟ رائع! إذًا يمكنك أنت أيضًا تحقيق ذلك.
سأوضح لك كيف. وتذكر، على عكس الكثيرين، أنا لا أحاول بيعك شيئًا. freeCodeCamp هي مؤسسة خيرية عامة (501(c)(3))، وكل ما نقدمه مجاني بالكامل. يمكنك استخدام freeCodeCamp إذا أردت، أو يمكنك الاستفادة من أي من الموارد الأخرى التي سأوصي بها هنا. كل ما أريده هو نجاحك. أريدك أن تكون قادرًا على الانطلاق بعد بضعة أشهر والتفوق في سوق العمل ما بعد أزمة كورونا. لذا، استخدم أي أدوات تعليمية تراها مناسبة لتحقيق هذا الهدف العظيم. سأكون هنا لأدعمك بكل الطرق.
دورات مجانية وأدوات تعليمية أخرى عبر الإنترنت
هناك آلاف الدورات التي يمكنني التوصية بها، وسأدرج روابط لقوائم ضخمة منها في نهاية هذا المقال. بدلًا من ذلك، سأركز على مجموعة مختارة بعناية من الدورات التي أرى أنها ستكون استثمارًا ممتازًا لوقتك. المهارات الأساسية التي أوصي الجميع بتعلمها في عام 2020 هي:
HTMLوCSSوJavaScript- مفاهيم علوم الحاسوب، الخوارزميات، هياكل البيانات، وقواعد البيانات
- لغة
Pythonومكتبات علم البيانات الأساسية مثلNumPy - أدوات سطر الأوامر مثل
LinuxوGitوBash
بالإضافة إلى بعض المهارات الأخرى التي ستكون مفيدة للغاية:
- أساسيات الأعمال الصغيرة: كيفية العثور على عملاء مستقلين، القيام بالمبيعات الأساسية، المحاسبة، والجوانب القانونية.
- أساسيات التقدم للوظائف: كيفية اجتياز المقابلات التقنية، وكيفية التفاوض على راتب مرتفع.
- كيفية الحصول على شهادات احترافية يمكن أن تسهل عليك الحصول على وظيفة مطور.
لكل من هذه المهارات، سأوصي بمورد واحد محدد. ومرة أخرى، في نهاية هذا المقال، سأعرض لك قوائم شاملة أخرى من الموارد التعليمية. هناك الكثير من الموارد المجانية التي يمكنك استغلالها لتصبح عبقريًا في المجال الذي تختاره.
تعلم HTML و CSS و JavaScript

تُعد هذه اللغات المكونات الأساسية للشبكة العنكبوتية العالمية. فلكل موقع ويب تزوره، تمثل HTML الهيكل العظمي الذي يوفر البنية الأساسية. أما CSS، فهي بمثابة الجلد الذي يمنح الموقع مظهره الجمالي وتصميمه الأنيق. وتأتي JavaScript لتكون العضلات والأعضاء، التي تضفي الحركة والوظائف التفاعلية على الموقع.
يمكنك تعلم أساسيات هذه اللغات، بالقدر الكافي لبناء مواقع ويب بسيطة، في غضون أيام قليلة من الدراسة الذاتية. إتقان CSS و JavaScript بشكل متعمق سيستغرق سنوات، لكن هذا ينطبق على معظم المهارات التي سأذكرها هنا. باستثناء HTML، يمكنك حقًا تعلمها في يوم أو يومين. نعم، يمكنك بناء مواقع ويب أساسية باستخدام HTML فقط؛ لن تكون بالغة الجمال، لكنها ستعمل بكفاءة (مثل موقع Craigslist).
أفضل طريقة لتعلم هذه الثالوث المقدس في تطوير الويب هي الحصول على أول شهادتين من منهج freeCodeCamp. خلال هذه الرحلة، ستقوم ببناء 10 مواقع ويب، وهو ما سيوفر لك تدريبًا كافيًا لتضيف هذه المهارة إلى ملفك الشخصي على LinkedIn. وكما يوحي الاسم، freeCodeCamp مجاني بالكامل. كما أنه يعتمد على التعلم الذاتي بالوتيرة التي تناسبك، ويعمل مباشرة في متصفحك دون الحاجة لتثبيت أي شيء. يمكنك استخدامه على هاتفك أو جهازك اللوحي، ولكن نظرًا لأنك ستكتب الكثير من الأكواد، فإن لوحة المفاتيح ستجعل الأمور أسرع بكثير. يمكنك البدء في شهادات freeCodeCamp من هنا.
تعلم مفاهيم علوم الحاسوب، الخوارزميات، هياكل البيانات، وقواعد البيانات
يشعر الكثيرون بالقلق من علوم الحاسوب، إما بسبب اعتقادهم بأنهم “ضعفاء في الرياضيات” أو لأنهم خاضوا تجربة سيئة مع دورة في لغة Java قبل سنوات. لكن لدي أخبار سارة لكم جميعًا: علوم الحاسوب ليست بالضرورة مملة أو صعبة. بل يمكن أن تكون ممتعة للغاية!
لا توجد دورة تقوم بعمل أفضل في جعل علوم الحاسوب ممتعة من دورة CS50 الممتازة من جامعة هارفارد. لقد نشرنا الدورة بأكملها خالية من الإعلانات على قناة freeCodeCamp على YouTube. يمكنك العثور على قائمة التشغيل الكاملة هنا. تتكون الدورة من حوالي 17 ساعة من المحاضرات، ومع وصف كل فيديو محاضرة، يوجد مجموعة من المسائل القابلة للتنزيل يمكنك حلها للتأكد من فهمك لكل شيء. وهناك أيضًا ملاحظات المحاضرات القابلة للتنزيل.
تعلم Python ومكتبات علم البيانات الأساسية مثل NumPy
تُعد لغة Python اللغة البرمجية الأكثر شعبية في مجال الحوسبة العلمية، وهو مصطلح شامل يشمل الإحصاء، علم البيانات، والتعلم الآلي. إنها الخيار الطبيعي كلغة برمجة ثانية بمجرد أن تتقن بعض أساسيات JavaScript.
الدكتور تشاك، أستاذ في جامعة ميشيغان، يقوم بتدريس البرمجة منذ عقود. لقد قام بإنشاء دورة Python for Everybody الرائعة. وقد نشرنا دورته الكاملة التي تبلغ مدتها 14 ساعة، خالية من الإعلانات، هنا. (تأكد من مراجعة وصف الفيديو للحصول على أمثلة الأكواد وملاحظات المحاضرات القابلة للتنزيل).

تمتلك Python مكتبة لكل مهمة تقريبًا. ويمكن القول إن المكتبة الأكثر أهمية هي NumPy (تُنطق: نَم-باي). إليك دورة مجانية وخالية من الإعلانات مدتها ساعة واحدة حول NumPy، كاملة مع مستودعات أكواد يمكنك استخدامها للمتابعة والتطبيق من المنزل هنا.

تعلم أدوات سطر الأوامر مثل Linux و Git و Bash
عندما تشاهد مسلسلات مثل Mr. Robot أو غيرها من الأعمال التي تتناول المطورين أو المخترقين، ستلاحظ الكثير من واجهات سطر الأوامر التي تبدو بهذا الشكل:

هذه لقطة شاشة عشوائية من طرفية جهاز Mac الخاص بي. يستخدم المطورون غالبًا واجهات سطر الأوامر (CLI) لأنها تتيح لهم إنجاز المهام بشكل أسرع وأكثر دقة مما يمكن تحقيقه عبر الواجهات الرسومية للمستخدم (GUI).
هناك العديد من أدوات سطر الأوامر التي يستخدمها المطورون بكثرة. أولاً، يستخدمون Linux للخوادم. العديد من هذه الخوادم لا تحتوي حتى على واجهة رسومية شبيهة بـ Windows، لذا فأنت مضطر للتعامل مع سطر الأوامر. وأداة البرمجة النصية لسطر الأوامر التي تستخدمها معظم أجهزة Linux تسمى Bash. يمكنك استخدام Bash كموجه لتشغيل الأوامر. إليك شرح لبعض أوامر Bash الأكثر شيوعًا (قراءة تستغرق 10 دقائق): هنا. يمكنك أيضًا استخدام Bash للبرمجة النصية (على الرغم من أن معظم الناس يفضلون Python لهذه الأغراض في الوقت الحاضر).
إليك دورة تمهيدية مدتها ساعتان حول إصدار من Linux يركز على أمان الحاسوب يُدعى Kali Linux: هنا.

لكن هناك أداة أخرى مهمة يجب على كل مطور معرفتها في عام 2020. لقد اخترعها نفس الشخص الذي أنشأ Linux، وتسمى Git. Git هو نظام للتحكم في الإصدارات (Version Control System) يساعدك على تخزين حالة الكود الخاص بك. إذا ارتكبت خطأً، يمكنك بسهولة العودة إلى إصدار أقدم من الكود. ويجعل Git التعاون في مشاريع الكود الكبيرة مع المطورين الآخرين أمرًا سهلاً، باستخدام مواقع مثل GitHub.
أفضل مورد لتعلم Git هو وثائق GitHub نفسها. إليك مقال جيد يشرح كيفية عمل Git ويأخذك عبر بعض الأوامر الأكثر شيوعًا: هنا.
تعلم أساسيات الأعمال الصغيرة: كيفية العثور على عملاء مستقلين، والمبيعات الأساسية، والمحاسبة، والعقود
قد يكون العثور على وظيفتك الأولى كمطور أمرًا صعبًا. قد تضطر للتقدم لمئات الوظائف قبل أن تنجح في اجتياز عملية المقابلة وتحصل على عرض عمل مُرضٍ. يتردد معظم مديري التوظيف في المخاطرة بمتقدم غير معروف لم يعمل كمطور في أي مكان آخر. هذا لا يقتصر فقط على المطورين الذين علموا أنفسهم؛ فأنا أعرف الكثير من خريجي علوم الحاسوب الذين يواجهون صعوبة في الحصول على عروض عمل (حتى في سوق مزدهر لمطوري البرمجيات).
نصيحتي الشخصية هي: ابنِ سمعتك وشبكة علاقاتك. يمكنك تعزيز سمعتك من خلال بناء أدوات للشركات المحلية. يمكنك البدء بالعمل مجانًا للمنظمات غير الربحية المحلية. قد تساعد كنيسة أو مسجدًا محليًا في بناء موقعهما الجديد، أو تساعد بنك طعام محلي في بناء نظام جديد لإدارة المخزون. ولكن إذا كنت طموحًا، فحاول العثور على عمل مدفوع الأجر مباشرة. الأمر ليس صعبًا كما تتخيل؛ فهناك الكثير من لوحات الوظائف التي تقدم عقودًا لمرة واحدة. قد تتمكن حتى من العثور على عمل في صفحة إعلانات مبوبة محلية (مثل Craigslist).
من خلال بناء سمعتك كمطور مستقل (freelancer)، سيكون لديك بالفعل مشاريع ناجحة تحت حزامك عندما تتقدم لوظائف مطور بدوام كامل. يقدم هذا الدليل المجاني للمطورين المستقلين للويب (Freelance Web Developer Guide) نصائح متعمقة من مطور مستقل مخضرم، ومحامٍ متخصص في قانون الأعمال، ومحاسب. اعتبره “مشروع عملك الخاص كمطور مستقل في صندوق”. إنه يستغرق 3 ساعات للمشاهدة: هنا.
أما بالنسبة لبناء شبكة علاقاتك، فعادةً ما أنصح الناس بحضور الفعاليات التقنية المحلية والتواجد في مساحات المطورين (hackerspaces و makerspaces). ولكن مع انتشار فيروس كورونا، أنصحك بالبقاء في المنزل. استخدم LinkedIn وأضف كل شخص عملت معه أو درست معه. إذا كنت جزءًا من أي مجموعات على Facebook أو خوادم Discord، يمكنك إنشاء مجموعة جديدة وتشجيعهم على الانضمام إليها خصيصًا للأشخاص الذين يخططون للانتقال إلى تطوير البرمجيات. يمكنك أيضًا تقديم نفسك في منتدى freeCodeCamp والبدء في بناء شبكة شخصية من الأشخاص ذوي التفكير المماثل الذين يتعلمون البرمجة.
تعلم أساسيات التقدم للوظائف: كيفية اجتياز المقابلات التقنية والتفاوض على راتب مرتفع
صديقي حسيب قريشي (Haseeb Qureshi) هو لاعب بوكر محترف سابق تحول إلى مهندس برمجيات. كانت أول وظيفة له كمطور في شركة Airbnb براتب 250,000 دولار سنويًا. هذا ليس خطأ مطبعيًا! لقد تمكن من الحصول على عروض عمل من Google و Twitch و Stripe وشركات كبرى أخرى، ثم استخدم هذه العروض للتفاوض فيما بينها.
إليك قصته حول كيفية قيامه بذلك، والتي مليئة بالعديد من النصائح حول ما يمكن توقعه خلال عملية التقدم للوظائف: هنا. وقد كتب حسيب أيضًا دليلًا شاملاً للتفاوض على راتب مرتفع بمجرد أن تبدأ في تلقي عروض العمل. هذه المقالات ضرورية للقراءة ويمكن أن تضيف عشرات الآلاف من الدولارات إلى راتبك الأولي:
- عشر قواعد للتفاوض على عرض عمل (قراءة تستغرق 20 دقيقة): هنا
- كيف لا تفشل في التفاوض على عرضك (قراءة تستغرق 30 دقيقة): هنا
تعلم كيفية الحصول على الشهادات الاحترافية التي تسهل الحصول على وظيفة مطور
يعتمد معظم مسؤولي التوظيف ومديري التوظيف على التعرف على الأنماط. ومن المعروف أنهم يقضون في المتوسط 6 ثوانٍ فقط في مراجعة كل سيرة ذاتية. تُعد الشهادات الاحترافية طريقة سهلة لإثبات لأصحاب العمل أنك تتقن تقنية معينة. كما أنها تزيد من احتمالية ظهورك في أدوات البحث عن السير الذاتية التي يستخدمها أصحاب العمل.
لست مضطرًا للحصول على شهادات احترافية؛ فهي تكلف المال (عادةً حوالي 100 إلى 200 دولار لكل اختبار). ولكن إذا كنت ترغب في الحصول على بعضها، فإنني أوصي بالبدء بشهادات الحوسبة السحابية (cloud certifications). تقريبًا كل شركة كبرى وحكومة على وجه الأرض في طور الانتقال من خوادمها الخاصة إلى الخوادم السحابية. ويمكنك أن تصبح جزءًا من هذا الجهد الضخم للقيام بذلك بأمان. إذا كنت ترغب في العمل في مجال تطوير العمليات (DevOps) أو هندسة موثوقية المواقع (Site Reliability Engineering)، فإن هذه الشهادات السحابية هي خيار جيد.
تنشر freeCodeCamp دورات شهادات سحابية مجانية جديدة كل شهر، وفي النهاية سنغطي شهادات الأمان أيضًا. ولكن في الوقت الحالي، أوصي بالبدء بشهادات Amazon Web Services (AWS). تمتلك أمازون أكثر من نصف صناعة السحابة العامة، وتقريبًا كل شركة من شركات Fortune 500 تستخدم AWS بطريقة أو بأخرى. لقد كتبت دليلًا شاملاً لشهادات AWS السحابية، والذي يتضمن العديد من الدورات المجانية والشاملة (وخالية من الإعلانات) لإعدادك لهذه الامتحانات: هنا.
قوائم ضخمة من الموارد التعليمية المجانية
كما وعدتكم، إليكم بعض القوائم الضخمة من الدورات المجانية. يتم تحديث هذه القوائم باستمرار وستبقيك مشغولًا بالتعلم لوقت طويل. تتضمن هذه القائمة الأولى 450 دورة جامعية مجانية عبر الإنترنت من جامعات Ivy League الثماني المرموقة: هارفارد، ييل، برينستون، براون، كولومبيا، كورنيل، دارتموث كوليدج، وجامعة بنسلفانيا. يمكنك إنجاز جميع هذه الدورات من جهاز الكمبيوتر المحمول أو الهاتف الخاص بك، في الوقت الذي يناسبك. ومرة أخرى، كلها مجانية بالكامل: هنا.
بعد ذلك، قام ديلان إسرائيل (Dylan Israel)، أحد خريجي freeCodeCamp، بتجميع هذه القائمة الرائعة من موارد البرمجة، والتي تتضمن أيضًا الكثير من المجتمعات التي يمكنك الانضمام إليها للحصول على الدعم أثناء تعلمك للبرمجة. قائمة ديلان كانت رائجة على GitHub خلال الأسابيع القليلة الماضية. يمكنك حتى ممارسة مهاراتك في Git والمساهمة بمواردك المفضلة في هذه القائمة: هنا.
الخلاصة التقنية
في الختام، أتمنى لكم ولعائلاتكم السلامة خلال هذه الفترة العصيبة. نأمل جميعًا أن يتعافى العالم من أزمة فيروس كورونا، ولكن يجب علينا أيضًا الاستعداد للكم الهائل من العمل الذي سنحتاج إلى القيام به عندما تستقر الأوضاع. من خلال تعلم هذه المهارات الجديدة والاستعداد لاقتصاد ما بعد كورونا، يمكنك وضع نفسك في موقع يمكّنك من تقديم أقصى فائدة لمجتمعك. كن قويًا يا أصدقائي، وبرمجة سعيدة!
من منظور تقني، يمثل هذا الوقت فرصة ذهبية لإعادة تقييم مساراتنا المهنية وصقل مهاراتنا. إن التحول الرقمي يتسارع، والطلب على المطورين المهرة في تزايد مستمر. الدورات المجانية المتاحة اليوم، بدءًا من أساسيات الويب وصولًا إلى علوم البيانات والحوسبة السحابية، توفر جسرًا لا يقدر بثمن لأي شخص يطمح لدخول هذا المجال أو تعزيز مكانته فيه. إن الاستثمار في المعرفة التقنية الآن ليس مجرد هواية، بل هو استراتيجية حكيمة لضمان المرونة المهنية والنمو في عالم يتغير بوتيرة غير مسبوقة.