16

بماذا تنصحني لأصل لمستوى احترافي بالبرمجة ؟

بدأت تعلم البرمجة ولكن من البداية، التحقت بدورة علوم الحاسوب بأكاديمية حسوب، لم أنجز الكثير من الدورة، لكن أصبحت متخوفة، وهذه مخاوفي:

ليس لدي أي خلفية فعليا عن هذا المجال، فأصبحت مترددة حيال صعوبته، ولكن ما زال لدي الرغبة في التعلم.

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

هل الأمر يحتاج للحفظ كثيرا؟ خاصة أني ليس لدي هذه المهارة؟

هل هناك برامج معينة تنصحوني بالاستعانة بها؟ أعرف مازال المشوار كبير، ربما هذا سبب مخاوفي، فبمجرد ما بدأت لغة سكراتش ورغم أني أراها سهلة لكن فعليا الدورة كبيرة جدا، وبدأت أسئلة كثيرة تراودني، لذا سؤالي لكل مبرمج ما نصيحتك التي توجهها لي لتساعدني على تحقيق ما تريد؟.

وأين تضعني هذه الدورة في طريق تعلم البرمجة؟


أهلًا بكِ، سيسرني أن أجيب عن كامل استفسارتك بأفضل ما يمكنني، وأرجو منك أن تستوضحي عن أي إجابات ليست واضحة لك.

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

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

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

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

ومع ذلك، أرجو أن تتأكدي تمام التأكد أنني أبحث يوميًا عن الأشياء البسيطة التي يبحث عنها أي مبتدئ في البرمجة، ومن أجمل الأمور أنني أنسى كيف نكتب العنصر في HTML، والأمر المضحك أنني كتبت فصلًا كاملًا عن الفيديو في الويب وتحويله في كتاب "نحو فهم أعمق لتقنيات HTML5" (كان الفصل الأصلي قديمًا فاضطررت إلى إعادة كتابته وتحديثه)، وكتبت توثيق HTML في موسوعة حسوب، وأعرف كل خاصيات مع التطبيق العملي لها، لكنني منذ أيام كنت أبحث عن تضمين الترجمات في الفيدوهات، ووجدت مثالًا كتبتُه بيدي :-) أرجو أن تفهمي من كلامي أنني أعرف وجود التقنية الفلانية، وكيفية استخدامها، وطبقت كل ذلك عمليًا، لكنني لا أحفظ شيئًا منها (وتأكدي أنني لن أحفظه مستقبلًا).

تختلف البرامج المستعملة حسب مجال التطوير الذي أنتِ فيه، لا أريد التخصيص وذكر أسماء مرتبطة بمجالات معينة إذ إنَّ سؤالك عام، فسأجيبك أن تري ما هي البرمجيات التي يستعملها المدرب وتجربي استعمالها، هنالك بدائل لأغلبية البرمجيات لها الوظيفة نفسها، فإذا كان المدرب يستعمل vscode فابحثي في الإنترنت عن بدائل لهذا المحرر، وستجدين الكثير، وأنصحك بتجربتها واختيار أنسبها لك (التجربة خير برهان هنا، والتجربة ستكسبك الخبرة كما سأذكر).

أما النصيحة، فهي من تجربتي الشخصية مع البرمجة والتي تؤكد على النقاط السابقة، بدأت بسن صغيرة وقرأت كتبًا كثيرة ومقالات وشاهدت دورات، لكن أكثر ما أفادني هو التطبيق العملي. فدون التطبيق العملي سيكون كل ما تعلمته نظري وينسى بسرعة (لم تكن برمجياتي الأولى بمستوى رائع، وهذا طبيعي).

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

في النهاية، أرجو لك كل التوفيق في مسيرتك التعليمية والعملية، صحيحٌ أن الطريق طويل، لكنه رحلة جميلة.