رحلة تعلم البرمجة طويلة وشاقة، ولكي تجعل الرحلة أسهل عليك وتصبح الأمور أفضل، أنت تحتاج إلى من يساعدك، تحتاج أن يكون معك فريق، وأن يكون معك أشخاص يتعلمون نفس ما تتعلمه لتتشاركوا الخبرات وترفعوا من مستوى بعضكم البعض. في هذا المقال، سأقدم لك نصائح كثيرة تمكنك من تحقيق ذلك بعد تكوين الفريق، وسأوضح لك ما يجب عليك فعله وما لا يجب عليك فعله للوصول إلى مستوى محترم أنت ومن معك.
المرحلة الأولى: تجميع الفريق
أهم مرحلة هي مرحلة تجميع الفريق. إذا كنت تتعلم مجالًا مثل الواجهات الأمامية (Front-end) أو الخلفية (Back-end)، فأنت تحتاج الآن إلى إيجاد أشخاص يدرسون نفس ما تدرسه ويكونون قريبين من مستواك. ليس من الضروري أن يكونوا في نفس مستواك بالضبط، فلا مشكلة إن كان أحدهم أعلى منك قليلاً أو أقل منك قليلاً.
كيف تجد أعضاء الفريق؟
- يمكنك نشر منشور على ملفك الشخصي.
- اطلب من شخص مشهور أن يشاركه لك.
- اكتب تعليقًا عند شخص مشهور.
- انشر في أي مجموعة من مجموعات البرمجة أو أي مجتمع تقني تتعامل معه.
مثال على المنشور:
“أيها الزملاء، أنا أتعلم حاليًا تطوير الواجهات الأمامية باستخدام React، ومستواي هو أنني أدرس منذ ثلاثة أشهر. أبحث عن شركاء دراسة.”
من المهم جدًا تحديد المستوى حتى لا ينضم شخص إلى الفريق وتكون بينكم فجوة كبيرة. إذا كان الفارق بينك وبينه سنتين من الدراسة، فأنت ستتعطل وهو لن يستفيد منك شيئًا. وإذا كان أقل منك بكثير، كأن يكون قد بدأ للتو بينما أنت تدرس منذ ستة أو ثمانية أشهر، فستكون هناك فجوة كبيرة تجعله يعطلك، وهكذا ستتوهون جميعًا ولن يستفيد أحد. لكن إذا كان المستوى متقاربًا، بفارق شهر أو شهرين من الدراسة، فلا مشكلة، ستتمكنون من تقريب وجهات النظر وستكونون جميعًا على نفس المسار.
بعد تكوين فريقك، الذي يفضل أن يتكون من أربعة أو خمسة أشخاص (وحتى ثلاثة عدد مناسب)، قم بإنشاء مجموعة على WhatsApp أو Telegram وأضف الأعضاء إليها، ثم اتفقوا على موعد يومي ستتقابلون فيه. في النقاط التالية، سأوضح لكم ما ستفعلونه بعد تكوين الفريق.
المرحلة الثانية: اختيار مصادر التعلم
بعد أن أنشأنا المجموعة واتفقنا على كل شيء، نحتاج إلى تحديد المصادر التي سنتعلم منها. في العادة، عندما يسألني شخص عن تعلم شيء من أكثر من مصدر، أنصحه بالتركيز على مصدر واحد حتى لا يتشتت ذهنه. لكن هنا لدينا فرصة عظيمة، فنحن أكثر من شخص. لمَ لا يتعلم كل شخص من معلم مختلف ويأخذ خبراته؟ هكذا يكون لدينا أكثر من شخص يتعلم من أكثر من محاضر، نأخذ خبراتهم وأفكارهم، وفي النهاية كل هذا سيصب في مكان واحد وسنستفيد منه جميعًا.
هذه ميزة عظيمة جدًا. لكن لسبب ما، إذا شعرت أن الموضوع يسبب تشتتًا أو أن كل معلم يسير في اتجاه مختلف، فعليكم بالعودة جميعًا للتعلم من شخص واحد تثقون به واخترتموه، وناقشوا ما يشرحه معًا.
المرحلة الثالثة: آلية التعلم اليومية
أنشأنا المجموعة، وحددنا موعدًا للاجتماع وتوقيته. الآن، هناك موضوع معين نحتاج إلى تعلمه. لنفترض أننا نتعلم إطار عمل وهناك مفهوم مثل MVC (Model-View-Controller) نحتاج إلى فهمه لنكمل رحلتنا.
كل واحد منا سيخوض رحلته التعليمية بطريقته، سواء من مصدر واحد أو من عدة مصادر كما ذكرنا. كل شخص له طريقته في التعلم: واحد يشاهد الشروحات ثم يقرأ مقالات ويبحث كثيرًا ويتحدث مع ChatGPT، كل شخص بحسب ما يناسبه. المهم في النهاية أن هذه المعلومات كلها ستصب في مكان واحد وسيستفيد منها الفريق كله.
سؤال مهم: لو أن لدينا شخصين يتعلمان نفس الشيء، طُلب من الأول أن يتعلم هذا الشيء لأنه سيفيده في مساره المهني. أما الثاني، فطُلب منه نفس الطلب، لكن أُضيف إليه أن لديه عرضًا تقديميًا (presentation) غدًا في الجامعة سيشرح فيه هذا الموضوع أمام ألف طالب. برأيك، من منهما سيدرس بضمير أكبر؟
بالتأكيد الشخص الذي لديه عرض تقديمي؛ لأنه يخشى أن يكون مخطئًا أو أن تكون هناك معلومة لم يفهمها بشكل كامل، لأنه سيشرحها أمام عدد كبير من الناس. هذه هي عظمة وجود الفريق، فالشخص يعرف أنه سيذهب لشرح الموضوع لأكثر من شخص، لذا سيدرس بضمير مضاعف عن المذاكرة العادية.
في النهاية، سيعود الجميع وكل واحد سيشرح للآخر المعلومة بالطريقة التي فهمها بها. تخيل أن أربعة أشخاص يشرحون نفس المعلومة، ستتأكد منها وستفهمها بطريقة رائعة مهما كانت عقليتك. هناك من يقول: “لا يعجبني شرح هذا أو ذاك، هناك شخص معين فقط هو من أستوعب منه”. الآن لديك ثلاثة أشخاص يشرحون، فمن الصعب جدًا ألا تفهم المعلومة من أي منهم. المعلومة تُعرض أمامك ثلاث مرات، بالإضافة إلى المرة التي درستها فيها بنفسك، أي أربع مرات. من الصعب جدًا ألا تفهمها وتتقنها.
المرحلة الرابعة: أدوار الفريق والقيادة
أثناء الدراسة، أنا متأكد أن أحدكم سيكون مستواه أعلى من البقية بقليل. يُفضل جدًا أن يكون هذا الشخص هو قائد الفريق (Leader). هو من سيتخذ القرارات لاحقًا بشأن الأدوات التي ستعملون عليها، وهو من سيضع القواعد لكم جميعًا بعد استشارتكم طبعًا، وهو من سيوافق على تعديلاتكم ويكون مسؤولاً عن ذلك. هذا يحاكي الواقع، فعندما تتعامل مع فريق عمل حقيقي، سيكون هناك قائد للفريق أيضًا. أنت تعيش الآن نفس التجربة في بداية مسيرتك.
هناك شيء عظيم جدًا لو استطعت تحقيقه، وهو وجود مرشد (Mentor) للفريق بأكمله. هذا المرشد يكون شخصًا خبيرًا (Senior) وقديمًا في المجال، ومستواه أعلى منكم بكثير. هو لا يدرس معكم، بل هو مرجع تعودون إليه في الأوقات الصعبة أو عند وجود مشكلة مستعصية أو شيء غير مفهوم بشكل سليم. قد تضيعون وقتًا طويلاً في أمر ما، بينما هو يمكنه أن يوفره عليكم بكلمتين. إذا كانت هناك أداة تستخدمونها وتسبب لكم مشاكل، يمكنه أن يقترح البديل الأفضل. وجود هذا المرشد سيجعل فريقكم يتقدم خطوات كبيرة ويوفر عليكم وقتًا محترمًا جدًا.
المرحلة الخامسة: استخدام الأدوات الاحترافية
عندما نتعلم ضمن فريق، لا نريد أن يكون الأمر مجرد محاكاة للواقع، بل نريده أن يكون فريقًا حقيقيًا نتعلم فيه المهارات والأدوات التي سنراها ونعمل بها عندما نوفق ونعمل في شركة. هذه فرصة عظيمة لتعلم هذه الأمور الآن.
ابدأ بتعلم Git و GitHub: حتى لو كنت تعمل على مشروع بسيط جدًا أو تتعلم مفاهيم بسيطة وتكتب بضعة أسطر في ملف نصي، تعلم Git و GitHub.
- أنشئ حسابًا على GitHub.
- ليقم قائد الفريق بإنشاء المستودع (Repository) الخاص بعملكم.
- كل يوم، قم بعمل
push
لما تعلمته، حتى لو كان مجرد ملف نصي. - اطلب من القائد أن يعلمك مفاهيم مثل:
Pull Request
Merge
Branch
قد تقول: “هل أرفع ملفًا نصيًا كل يوم؟” نعم، حتى لو عدلت فيه كلمة واحدة فقط، ارفعه. أنت هنا تتعود على استخدام Git، وليس المقصود أن ترفع 50 ملفًا. المقصود هو أن تفهم الفكرة. عندما توفق وتعمل في شركة وتجد Git أو أي نظام تحكم في الإصدارات (Version Control) أمامك، ستجد الأمر سهلاً جدًا عليك.
هذا لا يقتصر على Git و GitHub فقط، بل أي أدوات تستخدمها الشركات. لا مانع من أن تبدأ في استخدامها منذ بداية رحلتك. إذا كانت شركة ما تستخدم Microsoft Teams أو Slack للتواصل، فلمَ تستخدمون أنتم WhatsApp؟ نزلوا هذه الأدوات وابدأوا العمل عليها. ابحثوا عن كل ما سيزيد من مهاراتكم.
المرحلة السادسة: التغلب على عقبات التعلم
من أكثر الأمور التي تعيق الناس في التعلم هو الخجل. يخجل الشخص من أن يقول “لم أفهم هذه الجزئية” أو يخجل من طرح سؤال. الكثيرون يقولون “نعم، نعم، أنا أفهم” وهم يخشون السؤال حتى لا يبدو مظهرهم سيئًا.
الخبر السار هو أننا في عصر ChatGPT ونماذج الذكاء الاصطناعي. يمكنك أن تسأله وتجعله يشرح لك الأمر بتفصيل التفصيل. اطمئن، فهو ذكاء اصطناعي لا يفهم شيئًا مما يكتبه ولا يدرك أنك إنسان. اسأله كما تشاء، فلن يقول لك أحد أنك لا تفهم أو أن استيعابك ضعيف. المهم ألا يمر يوم وتترك شيئًا اتفقتم على فهمه دون أن تفهمه. لا تؤجل شيئًا، لأن كل شيء سيتراكم عليك.
المرحلة السابعة: إضافة المتعة إلى رحلة التعلم (Gamification)
رحلة التعلم، حتى مع وجود فريق، قد تصبح مملة في يوم من الأيام لأنكم تفعلون نفس الشيء كل يوم. تتقابلون في اجتماع لمدة ساعة، تدرسون شيئًا، ثم تشرحونه لبعضكم. في أوقات كثيرة، ستشعرون بالملل بسبب هذا الروتين.
لكسر هذا الروتين، تحتاج إلى إضافة لمسة من “التلعيب” (Gamification).
- يمكنكم عمل تحدٍ أسبوعي بينكم لمعرفة من سينجزه بأفضل شكل.
- يمكنكم حل اختبار (quiz) معًا ومقارنة النتائج.
لست هنا لأعطيك أفكارًا بقدر ما أريد أن أوصل لك النقطة الأساسية: أضف شيئًا ممتعًا إلى رحلة التعلم. يمكنك أن تسأل ChatGPT: “كيف أضيف التلعيب إلى رحلتي التعليمية؟” وسيمنحك أفكارًا إبداعية.
المرحلة الثامنة: تبادل الأدوار والتوثيق
أثناء العمل في الفريق، نحتاج إلى تبادل الأدوار حتى يعيش كل منا جميع تجارب الفريق.
- مراجعة الكود (Code Review): عندما أكتب كودًا وأنتهي منه، يأتي شخص آخر من الفريق ليراجعه ويكتب ملاحظاته عليه، والتي سيستفيد منها الجميع. بعد ذلك، نتبادل الأدوار، هو يكتب الكود وأنا أراجعه.
- التوثيق (Documentation): وأنت تكتب الكود، تعلم كيفية توثيقه. وثّق عملك الذي قمت به حتى يستفيد منه الفريق الذي معك. لا يجب أن يكون أول تعامل لك مع التوثيق في حياتك هو أول يوم عمل في الشركة، فهذه ستكون مشكلة كبيرة. إنها مهارة مهمة يجب أن تتعلمها من اليوم الأول.
بهذا يا صديقي، أستطيع أن أقول لك تهانينا. أنت الآن تتعلم مع فريق، وعندما تنضم إلى شركة، ستجد نفسك تفعل نفس ما كنت تفعله، ولكن في مشاريع حقيقية. أتمنى أن يكون هذا المقال قد نال إعجابكم.