أهلاً بك في “كودينج في أي”. في هذا المقال، سنتحدث عن بعض النصائح الهامة جداً والتي ستحدث فرقاً معك قبل أن تختار تخصصك في مجال البرمجة. من المهم أن تتابع هذا المقال حتى النهاية، ولا تنسَ قراءة المقالات التي نشرناها سابقاً لكي تستفيد منها كثيراً. والآن، لنتحدث عن موضوعنا.
أهمية مرحلة التأسيس في البرمجة
في البداية، أهم شيء يجب عليك فعله هو أن تتعلم أساسيات البرمجة. كنت قد تحدثت في مقال سابق عن هذا الموضوع، ولكنني لم أشرح مدى أهمية أساسيات البرمجة. لذا، لنتحدث الآن عن مرحلة التأسيس في البرمجة. هذه المرحلة هامة للغاية قبل أن تبدأ في التفكير في التخصص في أي مجال من مجالات البرمجة.
التعمق في المفاهيم الأساسية
من المهم جداً أن تتعلم المفاهيم البرمجية الأساسية. على سبيل المثال:
- الدوال (Functions)
- الحلقات التكرارية (Loops)
- المصفوفات (Arrays)
وهناك مفاهيم أخرى كثيرة لن نتطرق لشرحها الآن، حيث يمكننا أن نخصص مقالاً لكل مفهوم منها. هذا المقال لن يغطي كل هذه المفاهيم التي يجب أن تتعمق فيها كثيراً جداً، فهذا هو السلاح الذي ستعتمد عليه في مجال البرمجة.
بعد أن تتعلم هذه الأساسيات، ستنتقل إلى ما يسمى بـ البرمجة كائنية التوجه (Object-Oriented Programming)، وهذه قصة أخرى يجب أن تتقنها تماماً. مع البرمجة كائنية التوجه أو بعدها - الترتيب ليس شرطاً - يجب أن تتعلم هياكل البيانات والخوارزميات (Data Structures and Algorithms). كلما تعلمت أكثر في هذا المجال وطورت من نفسك فيه، كلما أصبحت متمرساً في المجال.
بالتزامن مع رحلة التعلم هذه، حاول أن تتدرب على حل المشكلات (Problem Solving) أكثر فأكثر، لأن هذا سينمي لديك المنطق والتفكير المنطقي، والذي بدوره سيساعدك كثيراً جداً في رحلتك في تعلم البرمجة.
استكشاف التخصصات البرمجية
بعد أن أخذت وقتك وتأسست بشكل صحيح في مجال البرمجة، ستنظر بعد ذلك إلى عدة نقاط قبل اختيار تخصصك. ستأخذ فكرة عن كل مجال؛ فكرة بسيطة تعرفك ماذا يقدم هذا المجال، كيف يعمل، ما هي متطلباته، وما هي وظائفه ومرتباته المستقبلية. حاول ألا تفضل مجالاً على آخر قبل أن تأخذ فكرة أعمق عن هذا المجال، وليست فكرة لمجرد أنك قرأت مقالاً عنه. حاول أن تبحث كثيراً، وسيكون هذا هو طريقك الذي ستسير فيه في مجال البرمجة.
مرونة التخصص
وأريد أن ألفت نظرك إلى نقطة معينة: التخصص لن يكون حكراً عليك. على سبيل المثال، لن تقول: “أنا مطور واجهات أمامية (Front-end Developer) ولن أفعل شيئاً سوى تطوير الواجهات الأمامية”. بالطبع، الأمور لا تسير هكذا. يمكنك ببساطة مع تطوير الواجهات الأمامية أن تتعلم شيئاً آخر وتطور من نفسك، لا توجد أي مشكلة على الإطلاق. إذا ألقيت نظرة على الواجهات الخلفية (Back-end) واستمررت في عملك كمطور واجهات أمامية كما أنت، فسيكون لديك خلفية عن كيفية عمل الموقع وكيفية الربط بين الواجهات الأمامية والخلفية. هذه الأمور بالطبع ستفيدك كثيراً جداً، سواء كنت مطور واجهات أمامية، أو خلفية، أو أياً كان. لا توجد مشكلة إذا كانت لديك فكرة عن كل شيء.
ماذا لو لم توفق في تخصصك؟
أريدك أن تضع في اعتبارك وأنت تختار المجال الذي ستعمل فيه، أن هذا ليس هو الشيء الوحيد الذي ستفعله في حياتك. لنفترض أنك اخترت مجالاً مثل الواجهات الأمامية (Front-end) وتعلمته وعملت فيه، ولكن الأمور لم تسر معك كما يجب أو لم توفق في الأمر، فاعلم أن الأمر برمته يعتمد على التوفيق في النهاية. إذا لم توفق في مجال ما، فلا تقل إن هذه هي نهاية الطريق أو آخر المطاف، وتقرر البحث عن وظيفة أخرى. لا، بل عد وابنِ على ما لديك وطور نفسك في مجال آخر وجرب مجدداً. ربما يكون مجال الواجهات الخلفية هو مجالك المناسب. أنت من سيعرف ذلك بنفسك. لهذا السبب قلت لك إنها مجرد نصائح تساعدك على اختيار التخصص المناسب لك؛ لا أحد يستطيع أن يخبرك بأنك ستعمل في الواجهات الخلفية أو الأمامية أو تطبيقات الجوال.
أهمية التطبيق العملي وبناء معرض الأعمال
لذا، حاول أن تعمل على تطوير نفسك وتدرب كثيراً، وحل مسائل كثيرة ونفذ مشاريع. طبق في أي مجال تتعلمه. الشيء الوحيد الذي سيساعدك في هذا المجال والذي سيجعلك قوياً فيه هو تطبيقك العملي والمشاريع التي تنفذها. أي مكان مرموق الآن عندما يوظف أشخاصاً، لا يسأل: “كم عدد الدورات التي حصلت عليها؟”، بل يسأل: “كم مشروعاً طبقت ونفذت؟ أرني أعمالك”.
يجب أن تنشئ معرض أعمال (Portfolio) لنفسك، ليكون معرضاً لأعمالك تعرض فيه كل ما أنجزته. وهذا أمر يساعدك كثيراً جداً في أن تنشئ علامة تجارية شخصية لنفسك وتسوق لها، وستصل إلى أن تعمل على مشاريع كبيرة.
وكما قلت وسأظل أقول، أساسيات البرمجة هامة جداً، لأن هذا الطريق هو الذي سيجعلك بعد ذلك ترى المجال الذي تريده وتحاول أن تقرر بالفعل. بعد تعلم الأساسيات، ستجد نفسك تلقائياً تميل إلى مجال معين.
مصادر مقترحة للتعلم
هناك أكثر من مسار لأساسيات البرمجة، ويمكننا أن نخصص مقالاً عنهم لاحقاً. ولكن بشكل عام، أكثر شخصين أرشح لك أن تبدأ معهما في أساسيات البرمجة هما بشمهندس أسامة الزيرو وبشمهندس محمد أبوهدهود. هؤلاء الأشخاص بذلوا مجهوداً جباراً جداً في رحلة تعلم أساسيات البرمجة وحل المشكلات وهذه الأمور، فبالتأكيد ستستفيد منهم. وسنخصص مقالات لكل مسار من هذين المسارين لكي تعرف مسارك بالضبط.
هذا كل شيء. شكراً لك على القراءة، وإلى اللقاء في مقالات قادمة.