ما هي الخطوات التي يجب ان اتبعها لكي اصبح مطور ويب محترف

السلام عليكم و رحمة الله

اولا انا مبتدئ فى عالم البرمجة عموما...درست لغة VB التي لا تعتبر لغة من الاساس... لكن اريد ان اعمل ك freelancer مطور للويب

انا اريد ان ابدأ مشواري و سأقوم بالتعلم مع نفسي اى شيئ لكن تواجهني بعد الاستفسارات التي اريد معرفتها :

ما هى لغات البرمجة المطلوب تعلمها للعمل ك web developer ?

ما الفرق بين مصمم الويب و مطور الويب ؟؟

لو اردت الدخول فى تصميم ثيمات الwordpress ما هو المطلوب تعلمه لتصميم ثيمات احترافية مثل ثيم صحيفة مثلا ؟

ما هى طبيعة العمل كمطور ويب ؟...بمعني ( هل سأقوم بعمل الاكواد فقط ام ان هناك جزء فني مثل العمل على adobe illustrator او photoshop )

كمبتدئ...ما هى المدة الكافية الغير منقطعة التى من الممكن ان اصبح مطور ويب قادر على تصميم موقع كامل مثل هذا على سبيل المثال designwordpress.net

هل سأقوم بتصميم الشعارات logos و البانرات الخاصة بالموقع و الايقونات و كل هذا ؟؟

هل يمكنني بعد احتراف تطوير الويب ان اتمرن على التصميم و دمج الاثنين معا ؟؟

حاليا بحثت و وجدت مصطلح الUX , UI ...انا اريد ان اعرف الفرق بينهما و طبيبعة عملهما و علاقتهما بتصميم المواقع و ثيمات وورد بريس.؟

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

اسف اذا كان هناك اسئلة ساذجة فانا ما زلت مبتدئ ^_^


Abdulatif01 أضف ردا

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

دعني أجاوب على كل سؤال من أسئلتك على حدة

1- ما هى لغات البرمجة المطلوب تعلمها للعمل كمطور ويب web developer؟

عملية تطوير الويب في هذا الوقت أصبحت تتطلب تعلم عدة تقنيات (لا يشترط ان تكون لغات برمجة) ويجب تفريق هذه التقنيات بحسب مجال التخصص في تطوير الويب الذي ينقسم إلى قسمين، مطور واجهات أمامية front end web developer (يمكن إضافة رابط لدورة الواجهات الأمامية)، ومطور نهايات خلفية back end web developer. فبالنسبة للأول، تحتاج إلى تقنيات HTML و CSS ولغة JavaScript والتي تتكفل كتابتك لشفراتها بكل ما يتعلق بإظهار المحتوى البصري للموقع وتحريكه وإضفاء طوابع جمالية عليه بالإضافة إلى تفاعل المستخدم معه وتحقيق التراسل بين الخادم والمستخدم، بالإضافة إلى جعل عرض الموقع متناسبًا مع حجم الشاشة التي يُستعرض منها، ويمكنك بعدها تطوير مهاراتك بتعلم مكتبات الواجهات الأمامية لتحقيق السرعة في الإنجاز وربما قوة أعلى في أداء الموقع وسرعته، أو سهولة في التعامل مع اللغات السابقة، نذكر من هذه المكتبات Bootstrap, jQuery, React, Angular, أما بالنسبة إلى مطور النهايات الخلفية (يمكن إضافة رابط لدورة جافاسكربت)، فهو يُعنى بعمل الأمور التي تحدث خلف الموقع غير المرئية للمستخدم العادي مثل قواعدة البيانات والطلبيات بين الخادم والمتصفح لعرض الموقع وغيرها من الامور. تحتاج هنا إلى تعلم تقنيات ولغات مثل JavaScript (التي تستخدم للواجهات والنهايات الخلفية على حد سواء) مع Node.js كما توجد الكثير من اللغات والأدوات وأطر العمل، مثلًا:

php وإطار عملها laravel (يمكن إضافة رابط لدورة php)
python & Django
Ruby & Rails (يمكن إضافة رابط لدورة روبي)
C# & asp.net
ويوجد غيرها

أنصحك بقراءة هذا المقال لتعلم البرمجة فهو جيد جدًا وتفصيلي أكثر على جوابك هذا.

2- ما الفرق بين مصمم الويب ومطور الويب؟

كانت عملية تصميم واجهة موقع الويب في وقت ليس ببعيد مسؤولية مطور الواجهة الأمامية في أغلب الأحيان ولكن اليوم، أصبح هنالك متخصصين في تصميم الواجهة تحديدًا متخصص في واجهة المستخدم UI وتجربة المستخدم UX لتصميم واجهة تناسب هدف الموقع وتسهل استخدامه للمستخدم النهائي، بالإضافة إلى العنصر الفني بجعل الواجهة أجمل باستخدام آخر صيحات التصميم الغرافيكي. بعد تصميم الواجهة، يرسل العمل إلى مطور الواجهة الأمامي لتكويدها أي تحويلها إلى HTML و CSS وجافاسكربت ليرسل العمل بعد ذلك إلى مطور الواجهة الخلفي لينشئ السند الخلفي للموقع ويضعه في بيئة الإنتاج ليطلق الموقع على الملأ، وفي أغلب الأحيان الشخص المتخصص في تطوير واجهات الويب يكون هو نفسه المصمم في المشاريع الصغيرة والمتوسطة الحجم.

3- ما هى طبيعة العمل كمطور ويب؟ بمعني هل سأقوم بكتابة الاكواد فقط أم أن هناك جزء فني مثل العمل على adobe illustrator أو photoshop؟

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

4- هل سأقوم بتصميم الشعارات logos والبانرات الخاصة بالموقع والايقونات وكل هذا؟

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

5- بصفتي مبتدئًا، ما هى المدة الكافية الغير منقطعة التى من الممكن ان أصبح مطور ويب قادر على تصميم موقع كامل مثل موقع designwordpress.net؟

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

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

6- هل يمكنني بعد احتراف تطوير الويب ان اتمرن على التصميم ودمج الاثنين معا؟

هل أكرر؟ ابدأ بواحدة :D أتقنها وبعدها ستجد نفسك قادرًا على اتخاذا القرار.

7- حاليا بحثت ووجدت المصطلحين UX و UI فسؤالي هنا، ما الفرق بينهما وطبيبعة عملهما وعلاقتهما بتصميم المواقع وثيمات وورد بريس؟

عزيزي، واجهة المستخدم UI = User Interface هي الواجهة بإضافاتها الجمالية وتقطيعاتها البصرية وما إلى ذلك أما تجربة المستخدم UX = User Exprience هي التركيز على سهولة استخدام الموقع أو التطبيق، كمثال: هنالك موقع يجعلك تدخل عبارة في صندوق البحث، وبعد الضغط على Enter تظهر النتائج، بينما في موقع آخر، سيقترح لك صندوق الإدخال إكمالًا تلقائيًا ناتجًا عن تحليل الموقع لعبارات البحث الأكثر شيوعًا بالموازنة مع محتوى الموقع نفسه وعدة عوامل أخرى، أيهما أسهل وأجدى للمستخدم؟ كلما زادت سهولة الاستخدام، كلما حصلنا على تجربة مستخدم أفضل وزاد عدد المستخدمين وزادت الأرباح. في مثال آخر معاكس: في تطبيق البنك يجب ألا يكون تسجيل الدخول سهلًا :D والأمان في هذه الحالة أولى من السهولة، ف تجد تطبيقات البنوك تطلب منك عنصري أمان وربما ثلاثة، مثلًا تدخل كلمة مرور ومن ثم تأتيك رسالة نصية على جوالك، أو تستخدم بصمة إصبعك، فهنا تكون تجربة المستخدم الأفضل هي الأكثر أمانًا، وكما قلت، لكل مقام مقال.

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

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