لماذا تشاهد الشروحات ولا تتطور؟ دليل المبرمج للخروج من حلقة المبتدئين

أنت تشاهد الشروحات ليلاً ونهاراً، وتتابع كل قنوات البرمجة، وقد أنشأت تطبيق قائمة مهام، وربما خمسة تطبيقات أخرى مشابهة، ومع ذلك تشعر بأنك لا تزال مبتدئًا. عندما تجلس مع نفسك وتقرر أنك تريد كتابة شيفرة برمجية فعلية، لا تعرف من أين تبدأ. وعندما تواجهك مشكلة أو خطأ، تأخذه كما هو، دون حتى أن تقرأه، وتلقي به في ChatGPT أو Stack Overflow دون أن تفهم أصل المشكلة. أنت هنا تتعلم، لكنك لا تتطور.

إذا شعرت أن هذا الكلام ينطبق عليك وترغب في معرفة حل هذه المشكلة، فهذا ما سنتعرف عليه في هذا المقال. لا تقلق، أنت لست وحدك، وبعد الانتهاء من هذا المقال، ستكون قد عرفت الحل، وسأقدم لك خطوات عملية يمكنك تطبيقها بدءًا من اليوم. دعنا نرى معًا الآن ما هو أصل المشكلة.

التعلم لا يعني التقدم الحقيقي

يعتقد الكثير من الناس أن مجرد مشاهدة شرح لموضوع ما يعني أنك قد تعلمته. مشاهدتك لشروحات بايثون لا تعني أنك تعلمت بايثون. أخذك لشيفرة برمجية من GitHub ووضعها في مشروعك لا يعني أيضًا أنك تفهم ماذا تفعل وما الذي يحدث خلف الكواليس. إذا أتممت تحدي برمجة لمدة 100 يوم، فهذا لا يعني أيضًا أنك أصبحت مبرمجًا.

الأمر يشبه تمامًا مشاهدة مباراة كرة قدم كل يوم؛ هذا لا يعني أنك عندما تنزل إلى الملعب ستعرف كيف تلعب الكرة. الفكرة نفسها هنا: مشاهدة الشيفرة البرمجية ليست أبدًا مثل كتابتها بيدك.

رحلة علي ومحمد: مثال واقعي

دعنا الآن نرى رحلة علي ومحمد التي استمرت لمدة ستة أشهر في تعلم البرمجة، ونرى إلى أين وصل كل منهما.

رحلة علي

كان علي يشاهد كل يوم شروحات خاصة بالبرمجة ويحل بعض المسائل من وقت لآخر. وكان يفعل شيئًا آخر، حيث يبدأ في تعلم JavaScript ثم لا يكملها، فينتقل إلى C++ ولا يكملها، ثم إلى Python ولا يكملها. يبدأ في أخذ معلومات بسيطة من كل لغة. ثم يجد أن الذكاء الاصطناعي رائج فيقرر تعلمه، ومرة أخرى يقرر تعلم الأمن السيبراني، ثم تطوير الويب. وعندما يقرر أخيرًا أن ينشئ مشروعًا بما تعلمه، فإنه يقوم بنفس المشاريع التي أنشأها في البداية.

علي يخاف بشدة من الأخطاء. حرفيًا، عندما يواجه خطأ في البرنامج الذي يعمل عليه، يغمض عينيه، يمسك الخطأ ويلقي به في ChatGPT، ثم يغمض عينيه مرة أخرى ويأخذ الحل ويضعه في برنامجه ويشغله. إذا عمل، فهذا ممتاز. إذا لم يعمل، يكرر نفس العملية.

بعد ستة أشهر، يقول علي: “لقد نسيت أساسيات في البرمجة ولا أستطيع تحديد ما تعلمته. كما أنني لا أعرف كيف أبدأ في مشاريع، وإذا بدأت، فإنها تكون مشاريع بسيطة جدًا لا تفعل أي شيء ذي قيمة”.

رحلة محمد

أما محمد، فقد قرر أن يتبع نهجًا مختلفًا. اختار لغة برمجة معينة وبدأ يركز عليها فقط. بعد أن تعلم القليل، فكر محمد مع نفسه وتساءل: “ما الذي أحتاجه لمساعدتي في هذه الفترة؟ أريد أن أعرف كم أنفق كل يوم”، وقرر إنشاء تطبيق يعرض له إحصائيات عن إنفاقه الأسبوعي والشهري.

بدلاً من تحميل تطبيق جاهز أو استخدام برنامج أنشأه شخص آخر، قرر أن ينشئ البرنامج بنفسه. بدأ فعلاً في العمل على البرنامج، وواجهته الكثير من المشاكل والأخطاء، وحرفيًا لم يكن يعرف من أين يبدأ. لكن كانت لديه الفكرة، وهي أنه يريد أن يصنع شيئًا لنفسه يساعده هو شخصيًا.

على الرغم من أن الموضوع كان صعبًا، تعلم محمد من هذه التجربة أشياء كثيرة جدًا، وبدأ يشعر بالفخر بنفسه. لقد تمكن فعلاً من إمساك شيء ملموس بيده والقول: “أنا أنشأت هذا الشيء”. لم يعد يقول لصديقه: “لقد تعلمت لغة C++ أو Python”، بل يقول له: “لقد أنشأت هذا التطبيق” أو “هذا الموقع” أو “هذا البرنامج”.

الأمر المميز أيضًا أن محمد بدأ يكتب تعليقات على الشيفرات البرمجية التي يكتبها ليتذكرها وليشرحها لنفسه. وعندما يواجه أخطاء معينة، لا يهرع إلى جوجل أو ChatGPT لحلها على الفور، بل يحاول التفكير فيها أولاً. وبعد ذلك، إذا لم يصل إلى حل، يبدأ في البحث.

وهناك شيء جيد آخر يفعله محمد، قد يكون مزعجًا في البداية لأنه يحتاج إلى اعتياد، وهو أنه يكتب كل أسبوع ماذا تعلم، وما هي الأخطاء التي واجهته، وكيف يمكنه تطوير نفسه في هذا المجال.

بعد نفس الستة أشهر، أصبح لدى محمد مناعة من البرمجة والأخطاء، وأصبح لديه ثقة في نفسه تمكنه من الدخول في مشاريع أخرى، وهذه المشاريع بالطبع ستكون أكبر من التي أنشأها. كما أنه يقول شيئًا مهمًا: “اختر مشروعًا لا تعرف كيف تنجزه، وابدأ فيه. لا تسر وراء الشروحات.”

كلاهما قضى نفس الوقت في التعلم. محمد أصبح لديه ثقة في نفسه في البرمجة وبدأ يقوم بمشاريع حقيقية، بينما لا يزال علي يتساءل هل JavaScript أفضل أم لغة C++.

تلخيص المشاكل والحلول العملية

دعنا نلخص هذه المشاكل ونأخذ خطوات عملية يمكننا البدء فيها من اليوم. لا تقلق، الموضوع بسيط حقًا، وإذا بدأت من اليوم، فسيحدث فرقًا كبيرًا معك.

المشكلة الأولى: المشاهدة لا تعني التطبيق، والنسخ لا يعني الإبداع

الكثير من الناس يشاهدون الشروحات كأنهم يشاهدون فيلمًا. يتابعون خطوة بخطوة لكن دون أن يسألوا أنفسهم: “لماذا؟ ماذا سيحدث هنا لو غيرت هذه الشيفرة؟ لماذا كُتب هذا الجزء هكذا؟”. إنهم لا يطبقون بأيديهم.

الحل: حوّل أي شرح تشاهده إلى تحدٍ. كيف؟ إذا قطعت جزءًا جيدًا من الدورة التدريبية التي تتابعها وانتقلت إلى المقطع التالي، حاول ألا تشاهده كاملاً. شاهد أول دقيقتين فقط لتفهم ما يريد المحاضر شرحه، ثم أوقف المقطع وحاول تنفيذ الفكرة بنفسك. على الأرجح لن تنجح من المرة الأولى، ولكن على الأقل تكون قد حاولت. وعندما تعود لمشاهدة الشرح، ستكون مركزًا على “في ماذا أخطأت؟” و”أريد أن أفهم كيف تم عمل هذا الجزء”.

إذا لم ينجح هذا معك وكان المقطع طويلاً، لنفترض 20 دقيقة، سيكون من الصعب على عقلك تطبيق كل شيء دفعة واحدة. حاول تقسيم المقطع إلى أجزاء صغيرة؛ كل خمس دقائق، أوقف المقطع وطبق ما شاهدته. بهذه الطريقة، أنت “تخدع” عقلك بدلاً من محاولة تطبيق 20 دقيقة مرة واحدة، فحتى تصل إلى الدقيقة 20، ستكون قد نسيت ما قيل في الدقيقة الخامسة أو الثالثة، وستضطر إلى إعادة المقطع من البداية. هذا التقسيم مهم جدًا وسيحدث فرقًا كبيرًا، وسيشعرك بالإنجاز.

المشكلة الثانية: الخوف من الأخطاء (Bugs)

أنت لا تخاف من الأخطاء لأن لونها أحمر في المحرر، بل تخاف منها لأنك ترى حقيقة مستواك، أو الوهم الذي يصور لك ذلك، قائلاً: “انظر، مستواك ليس جيدًا، أنت مليء بالأخطاء، وكل شيفراتك خاطئة، فاترك هذه البرمجة كلها”.

في حين أن الحقيقة التي يجب أن تكون على يقين منها في البرمجة هي أنها مليئة بالأخطاء. لا يوجد إنسان في مجال البرمجة لا يخطئ. في الواقع، معظم وقتك تقضيه في حل المشاكل، وتعريف البرمجة نفسها هو “حل المشاكل”. والمشاكل ما هي إلا أخطاء.

حاول قدر الإمكان أن تفكر في الخطأ وتقرأه قبل أن ترسله إلى ChatGPT، لأن هذا الخطأ قد يظهر معك بشكل متكرر، وفي كل مرة ستشعر وكأنك تراه لأول مرة، لأنك فعلاً لا تقرأه. أنت ترميه، تأخذ الحل، وتلصقه في برنامجك ليعمل. لا تخف من الأخطاء؛ كل يوم تظهر لك أخطاء جديدة، فأنت تتعلم حقًا.

المشكلة الثالثة: متلازمة الكائن اللامع (التنقل المستمر)

تقضي أسبوعًا في HTML، ثم أسبوعًا في Python، ثم أسبوعًا في C++، وتظل تتنقل بين كل مسار والآخر. هذا الأمر خاطئ جدًا، وهو ما يسمى بـ “متلازمة الكائن اللامع”، حيث تنجذب إلى أي شيء يلمع في عينيك وتبدأ في تعلمه.

الحل: ركز على مسار تقني (stack) واحد أو تقنية واحدة. ابدأ في تعلمها وأنشئ عليها مشروعًا واثنين وثلاثة. إذا أردت بعد ذلك التبديل إلى تقنية أخرى، يمكنك ذلك. لكنك في كل مرة تبدأ في شيء جديد، فإنك تعيد التقدم من الصفر. حاول قدر الإمكان أن تنجز مشاريع قبل الانتقال إلى شيء جديد تريد تعلمه.

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

الشروحات تقدم لك خطوات منظمة ومرتبة، وهذا شيء جيد جدًا. لكن المشروع الحقيقي يضع أمامك خطوات غير مرتبة، ويعرضك لمشاكل واقعية، ومن المفترض أن تتعامل مع كل هذا. هذه هي التجربة التي ستعلمك حقًا.

إذا أردت أن تتحمس لإنشاء المشاريع، انظر إلى ما تحتاجه في حياتك وابدأ في إنشائه. لا تفكر في أنك تحتاج إلى إنشاء لعبة معقدة ونشرها على متجر التطبيقات لتكتسح العالم. حاول أن تبدأ ببساطة بأشياء تحتاجها في حياتك الشخصية أو الاجتماعية.

كلما كنت تنشئ شيئًا لنفسك، ستتحمس حقًا لإكمال هذه المشاريع.

خلاصة الطريقة: تعلم، جرب، أفسد، أصلح، اشرح

إليك ملخص لكل ما قلناه، وطريقة لتعلم أي شيء جديد:

  1. تعلم: شاهد شرحًا أو اقرأ مقالات في الشيء الجديد الذي تريد تعلمه.
  2. جرب: اكتب أمثلة بنفسك من الصفر.
  3. أفسدها: حاول إفساد الشيفرة التي كتبتها عمدًا.
  4. أصلح: ابدأ في إصلاح ما أفسدته.
  5. اشرح: إما أن تشرح المفهوم لنفسك، أو إذا كانت لديك القدرة على الشرح لشخص آخر، فافعل ذلك. هذه هي الطريقة التي ستثبت بها المعلومة.

تعلم، جرب، أفسد، أصلح، اشرح.

هذه خمس خطوات إذا طبقتها، فستحدث فرقًا كبيرًا معك.

شارك المقال

أحدث المقالات

CONNECTED
ONLINE: ...
SECURE
00:00:00