ما رأيك بمستقبل مطور واجهات المُستخدم Front End web developer؟ وما هي النصيحة التي توجهها لمطور واجهات مستخدم مبتدئ؟
ما هو مستقبل مطور واجهات المستخدم؟
ما هو مستقبل مطور واجهات المستخدم؟
تشير إحصائيات مكتب العمل الأمريكيّ أنّ عدد فرص العمل المرتبطة بمهنة تطوير الويب سوف تنمو خلال السّنوات الثّمانية القادمة بمعدل 27%
كلما ذهبنا للمستقبل كلما تلاشى الفصل بين مطورين، خصوصاً مع كثرة اطر العمل الخاصة بلفرونت اند، اصبح بناء واجهة جميلة سهلاً، والمكتبات المدفوعة تمكنك من بناء واجهات مذهلة، ولا تتطلب متخصص بلفرونت اند[1].
ان يتعلم ادوات وتقنيات جديدة مثل gulp و react و vue وان يبني تطبيقات كاملة عن طريق الاستعانة ب جافاسكرتب لكتابة كود الخلفية.
ان يبني تطبيقات للموبايلات باستخدام امور مثل phonegap و ايونك.
1-مثال:
بالعكس تماما. فمع مرور الوقت، وبالذات بسبب وجود الكثير من الأدوات والتقنيات الجديدة، أصبح الاحتياج لمطور واجهات أمامية مطلوب بشكل أكبر. حتى أن الشركات مثل جوجل وفيسبوك، توقفت عن توظيف مهندسين سوفتوير عامين للعمل على الويب، وأصبحت تعلن عن وظائف متخصصة ببرمجة الويب بشكل خاص فأصبح هناك ألقاب وظيفية مثل Frontend Engineer، Frotend Designer، و UX engineer وهذه الألقاب لم تكن موجودة من قبل. حتى شركتي Quora أصبحت توظف أشخاص مختصين في الfrontend مثلي، بعد أن كانت تعطي مهام الواجهات الأمامية لاي مطور في الشركة.
تطوير الواجهات الأمامية يحتاج للتخطيط والهندسة والاهتمام بالعديد من الأمور كالتصميم والسرعة والاداء وطريقة التطبيق والاختبارات واختيار التقنية المناسبة. وجود الكثير من الأدوات لا يعني الاستغناء عن المهنة، بل كونها أصعب لأن عليك أن تتعلم الكثير في وقت قصير، وعليك أن تجدد معرفتك باستمرار. غير معرفة نقاط قوة وضعف اللغة المستخدمة لتستطيع البرمجة بفعالية وتتغلب على نقاط الضعف أو تجد طريقة للتعامل معها.
هناك نقاط معرفية متخصصة في الواجهات الأمامية من الصعب أن تجد شخص غير متخصص فيها أن يعرفها، كأحسن الطرق للتعامل مع الDOM ومشاكل الpainting والrendering وما يسببها، وتقنيات خاصة بالاداء والسرعة مثل throtteling and debouncing واستخدام الdeveloper tools بفعالية، وأحسن الطرق لاستخدام الevent listeners ومشاكل لغة الجافاسكريبت والطريقة الصحيحة لكتابة الكود فيها، وغيرها. هذه كلها تتطلب شخص لديه خبرة في الواجهات الامامية.
أيضا راتب مطور الويب ارتفع أكثر في السنوات القليلة الماضية ويتوقع أن يستمر بالارتفاع.
انا تحدثت من وجهة نظر فري لانسر،
شركة فيسبوك تقوم بتعيين متخصص بقهوة الاسبيرسو، وآخر متخصص بلكابتشينو، لذلك من الطبيعي ان تقوم بتعيين متخصصين لكل شيئ.
ومحور حديثي كان ان مطور الخلفية بامكانه بناء مشروع كامل باستخدام ui kits لا تعد ولا تحصى، ونصحت مطور الواجهات ان يتعمل تطوير الخلفية باستخدام لغتهم المفضلة وهي جافاسكربت.
على العموم لا ارغب ان ندخل في حروب وجدالات، لان الامر مبني على تجربة كل شخص منا وما يناسبه.
مطور الواجهات الأمامية أيضا يستطيع تطوير مشروع بأكمله باستخدام خدمات مثل firebase.
لكن عندما تتحدث عن شركات متخصصة بصنع السوفتوير فأنت يجب أن تعرف ما تعمل فيه، ليس فقط أن تستخدم خدمات ثالثة بدل وظيفة شخص معين. يعني لو كنت كمطور واجهات أمامية أعرف القليل عن تطوير backend لن أكون بمستوى شخص يعرف كل شيء عنها، وعمل فيها لسنوات طويلة ويعرف أن يطور شيء عالي الجودة. وكذلك الأمر بالنسبة لمطور الbackend كونه يعرف خدمات يستطيع استخدامها ليستغني عن مطور الواجهات الأمامية في مشروع معين، لا يعني أنه يستطيع تغطية عمله في شركة وظيفتها هي السوفتوير وتصنيع شيء عالي القيمة. شركات مثل فيسبوك وجوجل وقورا وغيرها ممن يريدون أن يكون الموظف متخصص ذلك لأنهم من وظيفتهم بناء شيء بأفضل طريقة، وليس بأسرع وأقل عدد من الأشخاص.
هناك مواقف يكون فيها وجود شخص غير متخصص عادي ومفيد، مثل الأيام الأوائل من مشروع ناشيء عندما لا تريد أم توظف الكثير من الأشخاص وتتوقع من كل شخص أن يعمل في أكثر من مجال. أو في فريلانس ممكن أن تجد كمطور أشياء تتناسب مع خبراتك وتستغني فيها عن خبرات شخص اخر لأنك لست بحاجة لموقع عالي الجودة حيث أنه لن يستقبل عدد المستخدمين الذي تستقبله شركة كبيرة مثل جوجل. كل شخص وله عمله وموقعه في الشركة.
مثلا أنا وجدت مهاراتي مفيدة جدا في مسابقات البرمجة والهاكاثون، فزت بالعديد منها لأنني استغنيت عن خدمات الbackend حيث لم تكن مهمة نهائيا ويمكن استبدالها بخدمات تبني فيها بسرعة كبيرة، وحسنت من فرصي بالفوز. في حين أن الاشخاص الذين ركزوا على الbackend تقريبا لم يفوزوا نهائيا ولا في اي مسابقة، لان من عمل على شيء يمكن للحكام رؤيته وتجربته وصل الفكرة بشكل أكبر ممن ركز على اشياء لم يستطع الحكام تجربتها.
كما قلت كل وله مكانه الخاص، وكل يستطيع أن يجد خدمات تعينه ليستغني فيها عن خدمات معينة، ولكن عندما تريد أن تبني شيئا عالي الجودة، استغناؤك عن تخصص معين يعني ضعف مشروعك في ذلك التخصص.
اصبح بناء واجهة جميلة سهلاً
لا اتفق معك في هذا الكلام
صحيح بأن هناك الكثير من الأدوات التي تساعدك في ذلك وتسهل العمل لكن يظل احتراف استخدام هذه الأدوات واستخدامها لبناء واجهات ليس بالأمر السهل كما تقول ولا اعتقد بأن كل من تعلم هذه التقنيات قادر على بناء واجهات احترافية الأمر يحتاج لكثير من الخبرة والممارسة
أنا على سبيل المثال اتقن استخدام React & gulp & angular (بالرغم من أني اركز اكثر على backend) لكني لازلت اعجز عن صناعة واجهات احترافية مثل التي اشاهدها في كثير من المواقع لكني لازلت اتقدم كل يوم
ان يبني تطبيقات للموبايلات باستخدام امور مثل phonegap و ايونك
هل أنت مع هذا
أذكر أنك حاولت مسبقا كتابة تطبيق ليس Nativ و ذكرت أنه بطئء وواجهت مشاكل
أليس كذلك ؟
من خلال اطلاعي على كثير من المواقع وجدت الاهتمام منصب حول الجافا سكربت، فهل هي الأهم فعلا ؟ أم يكفي معرفة الأساسيات فقط ثم تعلم المكتبات التي أشرت لها بالأعلى؟
التعليقات