خارطة طريق مطور الويب لعام 2020 - دليل مرئي لتصبح مطورًا للواجهة الأمامية أو الخلفية أو DevOps

هناك العديد من الطرق التي يمكنك اتباعها لاكتساب المهارات التي تحتاجها لتصبح مطورًا.

هناك مناهج خطية تعلمك القليل من كل شيء - مثل منهج تطوير المكدس الكامل الخاص بـ freeCodeCamp.

ثم هناك قوائم ضخمة من المهارات - وأحيانًا قوائم بالموارد - يمكنك استخدامها "لاختيار مغامرتك الخاصة" من خلال عملية التعلم.

واحدة من أفضل قوائم المهارات هذه هي خارطة طريق المطور لكمران أحمد ، والتي يقوم بتحديثها بانتظام.

هذه ليست قائمة عادية من الموارد. لقد رسم كامران بعناية جميع المهارات التي يشعر أنها ضرورية لاقتحام مجالات التنمية المختلفة.

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

هذا صحيح - لديه قوائم بالأدوات والموارد المطلوبة للمسارات التالية:

  • تطوير الويب للواجهة الأمامية
  • تطوير الويب الخلفي
  • DevOps (المعروف أيضًا باسم "موثوقية الموقع" - يعد هذا نوعًا من التطور لدور مسؤول النظام القديم)

المهارات التي يحتاجها جميع المطورين بغض النظر عن تخصصهم

بالإضافة إلى هذه المسارات ، يوصي كامران أيضًا كل من يريد العمل كمطور بتعلم المهارات التالية:

بوابة - التحكم في الإصدار

Git هو نظام قوي للتحكم في الإصدارات اعتبارًا من عام 2020 يتم استخدامه عالميًا تقريبًا. إذا كنت لا تعرفه - نعم فهو مرتبط بـ GitHub و GitLab ، ويمكنك تعلم كيفية استخدام هذه الأدوات أيضًا.

الاستخدام الأساسي للمحطة - سطر أوامر Bash و SSH ومهارات أخرى

قد يكون هذا هو Terminal على جهاز Mac أو موجه Windows DOS أو Bash / ZSH. لاحظ أنه بغض النظر عن نظام التشغيل الذي تستخدمه ، فمن المحتمل أن تتعلم Linux. حتى إذا كنت لا تستخدمه لبيئة الكمبيوتر المحمول / سطح المكتب ، فمن شبه المؤكد أنك ستستخدمه للخوادم.

هياكل البيانات والخوارزميات

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

فهم كيفية عمل الويب: HTTPS و APIs

هناك الكثير من المفاهيم الأخرى التي يمكنك تعلمها. أوصي بالعمل من خلال دورة علوم كمبيوتر جيدة للمبتدئين للبدء. إليكم جميع محاضرات هارفارد في CS50 بدون إعلانات على قناة freeCodeCamp على YouTube.

أنماط التصميم ، YAGNI ، KISS ، SOLID

لا أعتقد أن المبتدئين بحاجة إلى فهم عميق لهذه الأشياء ، لكن ذلك لن يضر.

أنماط التصميم هي في الأساس طرق تم اختبارها عبر الزمن لتنفيذ أنواع مختلفة من أنظمة البرامج وهياكل التشفير. يمكنك تعلم هذه تدريجيا كلما تقدمت.

بالنسبة لحساء الأبجدية ، فإليك ما يمثله هذا:

  • YAGNI - لن تحتاجها - الفلسفة التي تعتقد أنك ستحتاج إلى كتابتها في معظم الكود البرمجي والميزات التي ستحتاج إلى تنفيذها ستتضح أنها غير ضرورية
  • قبلة - اجعلها بسيطة ، سخيفة! - كلما أبسطت في الحفاظ على مشاريعك ، أصبحت حياتك أسهل عندما يتعلق الأمر بالصيانة.
  • SOLID - هذا هو ذاكري لـ " مسؤولية فردية ، مفتوح ، مغلق ، استبدال Liskov ، فصل الواجهة ، انعكاس التبعية". نعم - ليست أشياء للمبتدئين ، لكن انظر إلى هذا إذا كنت فضوليًا.

خارطة طريق تطوير الويب الأمامي

تركز خارطة الطريق الأولى لكمران على تطوير الويب للواجهة الأمامية.

ها هي خارطة طريق الواجهة الأمامية بالكامل:

أفكاري حول خارطة طريق الواجهة الأمامية

هذه قائمة قوية من المهارات الأساسية.

بصفتك مطورًا للواجهة الأمامية ، ستعمل بالتأكيد مع HTML و CSS و JavaScript - الكثير والكثير من JavaScript.

الأشياء الوحيدة التي أعتقد أنها غير ضرورية هنا:

  • معالجات CSS الأولية. هذه تعتبر ضرورية ، لكن CSS نفسها أضافت العديد من الميزات التي جعلت هذه المعالجات الأولية مفيدة للغاية. يقوم freeCodeCamp حاليًا بتدريس Sass ، لكننا في طور التخلص التدريجي من ذلك أيضًا.
  • هندسة CSS: لا أعتقد أن هذه ضرورية ما لم يكن تصميم أنظمة CSS جزءًا كبيرًا من عملك اليومي.
  • القليل من nitpick: يعد TypeScript طريقة واعدة لتقليل الأخطاء البرمجية والتعليمات البرمجية بثقة. نحن نضيف هذا إلى الإصدار 7.0 من منهج freeCodeCamp الأساسي. أعتقد أن هذا يجب أن يكون أكثر بروزًا على خريطة الطريق ، لكنه موجود هناك.
  • تجميع الويب هو شيء جميل في رأيي. بدأ المطورون في فعل أشياء مثيرة معها ، ولكن سيمر بعض الوقت قبل أن تصبح هذه التكنولوجيا في كل مكان حقًا.

خارطة طريق تطوير الويب الخلفية

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

إليك خارطة طريق النهاية الخلفية بالكامل:

أفكاري حول خارطة طريق النهاية الخلفية

أنا أتفق مع كل شيء هنا.

نعم ، يجب أن تتعلم SQL وقواعد البيانات العلائقية

أريد أن أوافق بشدة على توصيته بأن تتعلم قاعدة بيانات علائقية.

نعم - يمكن لقواعد البيانات مثل MongoDB و Neo4j أن تفعل الكثير من أجلك ، وهي أكثر ملاءمة لأنواع معينة من التطبيقات من قواعد البيانات العلائقية.

ولكن لا يزال يتعين عليك تعلم SQL وفهم كيفية عمل قواعد البيانات العلائقية.

أوصي بـ PostgreSQL (التي نستخدمها في العديد من المشاريع في freeCodeCamp) ، لكن قواعد البيانات العلائقية الأخرى متشابهة جدًا.

إليك دورة freeCodeCamp المجانية لمدة 4 ساعات على SQL ، والتي ستعلمك الأساسيات.

وإذا كنت ترغب في التعمق أكثر ، فإليك الدورة التدريبية المجانية لمدة 8 ساعات حول تصميم قاعدة البيانات الارتباطية.

كيفية اختيار لغة برمجة تطوير النهاية الخلفية اليمنى

أريد أيضًا إضافة ملاحظة حول اختيار اللغة.

على الرغم من وجود العديد من اللغات - ويمكنك فعل أي شيء بشكل أساسي بأي لغة - أوصي بشدة بتعلم Node.js (JavaScript) أو Python كلغة أولى.

فيما يلي دليل مفصل حول لغة البرمجة التي يجب أن تتعلمها أولاً.

خارطة طريق DevOps

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

إليك خارطة طريق DevOps بالكامل:

أفكاري حول خارطة طريق DevOps

لينوكس ، لينوكس ، لينوكس.

أيضًا ، أوصي بالعمل كمطور أولاً ، ثم بالتدريج للتخصص في DevOps.

إليك مقدمة سريعة مدتها 30 دقيقة عن مجال DevOps والتي من المفترض أن تمنحك فكرة أفضل عما إذا كان DevOps شيئًا يثير اهتمامك.

هذا كل شئ. ما رأيك؟ هل ترك كامران أي مهارات أو تقنيات أساسية؟ اترك تعليقًا ودعنا ننشر هذا.

أيضًا ، إذا كان لديك أي موارد نجحت حقًا في تعلم هذه المهارات ، فشاركها أدناه كتعليق.

ترميز سعيد!

- كوينسي