كيف أتميز في مجال ال Front-End ؟

التميز هو أن يكون لديك ميزة غير موجودة عند الآخرين ومعنى ميزة أنها شيء جيد يفيدك في حياتك أو عملك

إعلانات جوجل

ما هو التميز

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

معادلة بسيطة

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

التطبيقات العملية

نفترض أن جميع العاملين بالمجال تعلموا لغة HTML + CSS + JS وهناك من قام بعمل تصميمات وتطبيقات عملية كثير وهناك الأقل وهناك من لم يقم بالتطبيق نهائيا. قابلت الكثير من الأشخاص قاموا بعمل فوق ال 20 تصميم وكل تصميم منهم مليء بالتطبيقات وال Tricks الجميلة في مجال التصميم وجميع التصاميم مختلفة عن بعضها. دعنا نتخيل كم من الأشخاص سنقوم بإزالتهم من المليون شخص لأنهم لم يقوموا بالتطبيق كثيرا على هذه اللغات ولم يقوم بعمل تصميمات إحترافية, دعنا نقول 200000 شخص والآن تبقى لدينا 800000 شخص في المنافسة.

حل المسائل

مجال ال Front-End مليء بالمنطق “Logic” وفي وجود المنطق تظهر المشاكل والتي تحتاج لوقت طويل لحلها على حسب المشكلة ولتكون مؤهل لحل هذه المشاكل تحتاج للتدريب على حل كثير من المشاكل في حياتك بلغة البرمجة التي تتعلمها لتقوم بتطوير المنطق ومهارة التفكير المنطقي أو ال Logical Thinking فكر معي قليلا كم من العاملين بالمجال قام بحل الكثير من المشاكل في أثناء التعلم وكم عدد المشاكل التي قام بحلها وما هو مستواه في التفكير. هناك من قام بحل جميع المسائل الموجودة في موقع معين مثل Codewars وهناك من قام بحل 10 مسائل فقط في حياته وهناك من لم يقم بحل مشاكل في حياته أصلا لذلك تخيل معي كم من الأشخاص سيتم إزالتهم من المنافسة ؟ يمكن أن نقول 100000 شخص ليتبقى لدينا 700000 شخص في المنافسة.

الأدوات المتقدمة

مع مرور الزمن تظهر الكثير من الأدوات التي تساعدك على عمل المهام بطريقة أسرع وتوفر عليك الكثير من الوقت والجهد وهذه الأدوات تحتاج لتعلم وتحتاج لوقت لإتقانها فمثلا في مجال ال Front-End هناك الكثير من الأدوات النافعة مثل ال PreProcessor الخاصة بال CSS مثل LESS, SASS, Stylus وهكذا وهناك أيضا أدوات تساعدك في إستعمال مميزات لغات البرمجة داخل لغة مثل ال HTML مثل Slim, Haml, Pugjs وهكذا وهناك أدوات تساعدك في عمل المهام اليومية التي تقوم بها وتسمى ال Task Runners مثل Gruntjs, Gulpjs وهكذا وهناك بعض البرمجيات التي يتعامل بها الفريق مع بعضهم مثل برامج الدردشة وإرسال الملفات وإدارة الفريق والقنوات والتطبيقات التي تساعد الفريق مثل Slack, Microsoft Teams وغيرهم من البرامج والتي تحتاج لأن تتقنها في حالة دخلت شركة جديدة أو عملت مع فريق عن بعد فسوق تندمج معهم سريعا في العمل ولن تحتاج لوقت لتعلم هذه البرمجيات. وهناك المواقع التي تساعدك في إدارة مشروعاتك وال Code والإصدارات مثل ال Github, Gitlab فكل هذا تحتاج لتعلمه لتكون ملم بهذه المهارات قبل العمل في فريق وهكذا. في هذه المرحلة تخيل معي كم من الأشخاص لا يعرف هذه المهارات ولم يتعلمها دعنا نقول 200000 شخص والآن تبقى لدينا 500000 شخص في المنافسة.

أطر العمل والمكتبات

أطر العمل والمكتبات الخاصة بالتصميم هي واحدة من المهارات المهمة للعمل في شركات أو مع فريق عموما فهي توفر عليك الكثير من الوقت والجهد, يوجد بها إيجابيات وسلبيات ولكن في العموم هي جيدة خصوصا لو لم تكن تعمل وحدك. وهناك أهم شيء في المجال وهو إطار عمل “Framework” ال JavaScript مثل ال Reactjs, Vuejs وهو من أهم الأشياء التي تميزك في المجال وتعلمهم يوفر عليك الكثير في فهم آلية عمل التطبيقات وهناك من هو متميز جدا وهو الشخص الذي يعرف آلية عمل بناء ال Framework ويعرف ما يحدث وراء الكواليس ويفهم معنى ال Reactivity ويفهم ال Virtual DOM وال Shadow DOM والمفاهيم المتقدمة. وهنا فكر معي كم من الأشخاص سيخرجوا من المنافسة, ربما 200000 شخص مثلا ليتبقى لدينا 300000 شخص في المنافسة.

المعرفة

هناك الكثير من العاملين في مجالك يكتبوا ال Code ويقوم بعمل المطلوب وإنتهى الأمر لكن هناك من يهتم بالبحث عن أفضل طريقة لعمل كل شيء ويهتم بالأداء والسرعة وهذا يتم عن طريق قراءة الكثير من الكتب التي تتيح لك كتابة Clean Code وتسهيل الأمر على نفسك وعلى فريقك في التعامل مع ال Code وتطويره وأيضا تجربة الأدوات وال Functions التي تتعامل بها لتصل لأفضل طريقة لعمل المطلوب وهذه المعرفة تتطلب الكثير من القراءة والتجارب والبحث وهي ليست عند الكثيرين فهناك من يكتب ال Code وبعد أن يعمل لا يحتاج للتعديل ويخاف من الإقتراب منه. هناك الكثير من المواقع التي تساعدك في تقييم ال Code الخاص بك فمثلا إبحث في Google عن JavaScript Benchmark وستجد الكثير من المواقع التي تقارن ال Code لتقيس الأداء والسرعة والجودة. ولنفكر قليلا كم من الأشخاص سيتم إزالتهم من المنافسة ؟ دعنا نقول 100000 ليتبقى لدينا 200000 شخص في المنافسة.

إختبار الوحدات

الشركات المحترمة والفرق المتمكنة تقوم بإختبار تطبيقاتها دائما وهناك الكثير من أنواع الإختبارات مثل Unit Testing, End To End Testing وهكذا وفي مجال ال Front-End تجربة كل وحدة من ال Code والتي تسمى إختبار الوحدات او Unit Testing هي مهارة من أهم المهارات التي تحتاجها الشركات الجيدة والتي تهتم بالجودة في تطبيقاتها وتهتم بتقليلة نسبة ال Issues داخل التطبيق وأيضا تركيزها الكاملة على ال Stability ولن تجد جميع الأماكن التي تعمل فيها تهتم بهذه النقطة رغم أهميتها ويمكن أن نزيل من المنافسة 100000 شخص ليتبقى لدينا 100000 شخص في المنافسة.

أصول الأشياء و إمكانية التعلم

في مجال عملنا ستجد الكثير من التقنيات التي تظهر اثناء عملك والتي تفيدك فعلا وتوفر عليك الوقت والمجهود ولتتعلمها بسهولة تحتاج لمعرفة أصول الأشياء وتتأسس بطريقة سليمة, وتأسسك بطريقة سليمة معناه أن تتعلم فكرة عم ال Framework وليس Framework بعينه لتستطيع التنقل بين ال Frameworks فهذا سيوفر عليك الكثير من الوقت وسيجعلك تستطيع التنقل من اي شيء للآخر في وقت بسيط. مثال آخر كان لي صديق يعمل على لغة ال Python وكان يعمل في شركة قررت أن تنقل تطبيقات من Python + Django للغة PHP + Laravel Framework وصديقي متمكن من فهم أساسيات البرمجة بصفة عامة ويفهم معنى Framework وكيف يتكون وطريقة التعامل معه ويعرف معنى Model ومعنى ال View ويفهم آلية عملهم فلذلك إنتقل للغة الأخرى وفي فترة بسيطة كان مندمج في العمل بدون أي مشكلة لأنه يعرف أن اللغات عبارة عن أدوات ولا توجد حاجة لأن تلتصق بلغة معينة ولكن الصحيح ان تلتصق بمفهوم البرمجة نفسه. وهناك الكثير من الناس بعد الوصول لشركة معينة لا يريد أن يتعلم أي شيء آخر ولا يسعى لتطوير مستواه ويفرح جدا بوظيفته ويقف مستواه التعليمي في هذه المرحلة وقابلت كثيرا من هذا النوع في بيئات العمل التي عملت بها. والآن سنخرج من المنافسة 50000 شخص آخر ليتبقى لدينا 50000 شخص في المنافسة.

المهارات الشخصية

ليس كل شخص يعمل في مجالك يمكن أن يكون مدير للفريق وسوف تقابل الكثير من الناس متمكن في المهارات التقنية لكنه لا يستطع العمل مع الفريق وعنده مشاكل شخصية كثيرة يمكن أن تؤثر بالسلب على مسار العمل, مثلا شخص يغار من باقي الفريق لأنهم ينجزون في العمل, مثلا شخص يجعل حياته الشخصية ومشاكل المنزل تؤثر عليه في العمل ولا يتركها خارج باب الشركة, وهناك الكثير من المشاكل الشبيهة ستجدها في بيئة العمل فلذلك أنت تحتاج لأن تكون محترف بمعنى الكلمة وتبحث عن المهارات الشخصية التي تفيدك لتكون مميز في بيئة العمل ولتصل أيضا لتكون ال Team Leader وهذه المهارات غير موجودة عند الكثير من الناس ويمكننا أن نخرج 40000 شخص من المنافسة ليتبقى لدينا 10000 شخص في المنافسة.

النهاية

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

المقال ليس خريطة تعليمية لتعلم مجال ال Front-End لأنك ربما ستتسائل هناك بعض المهارات غير موجودة مثل ال Algorithm + DS لكنه فقط عبارة عن نقاش عن التميز بصفة عامة وكيف تزيد من فرصتك للحصول على وظيفة.

مشاركة الصفحة

ننصح بإستضافة Hostinger إستخدم كود الخصم Elzero