ليس دجال: محاربة تعب الجبهة
نشرت: 2022-03-10لقد تحدثت مؤخرًا مع صديق مطور خلفية حول عدد الساعات التي أمضيها في البرمجة أو التعرف على الكود خارج العمل. أراني مقطعًا من كتاب العم بوب "Clean Code" ، والذي يقارن الساعات التي يقضيها الموسيقيون مع آلاتهم في التحضير لحفلة موسيقية للمطورين الذين يتدربون على الكود لأداء العمل.
يعجبني هذا القياس ولكني لست متأكدًا من أنني اشتركت فيه بالكامل ؛ هذا النوع من التفكير هو الذي يمكن أن يسبب الإرهاق في المقام الأول. أعتقد أنه من الرائع إذا كنت ترغب في تعزيز مهنتك وتوسيع مجموعة مهاراتك ، لكن القيام بذلك كل ساعة من اليوم ليس مستدامًا.
إجهاد الواجهة الأمامية حقيقي جدا. لقد رأيت عددًا من المنشورات حول إجهاد JavaScript ولكني أعتقد أن المشكلة تمتد إلى أبعد من تلك اللغة المحددة.
لكي أكون واضحًا ، هذا ليس صراخًا آخر حول مدى سوء كل شيء وكل شيء يتحرك بسرعة كبيرة - أنا أحب أن التكنولوجيا تتطور بسرعة كبيرة. وبالمثل ، يمكنني أن أقدر كيف يمكن أن يكون الأمر مربكًا وشعرت بالتأكيد بالنفور في بعض الأحيان.
مزيد من القراءة على SmashingMag:
- الحيل القذرة من الزوايا المظلمة للواجهة الأمامية
- قصيدة مطور الواجهة الأمامية للمواصفات
- كيف تستعد لمقابلة عمل أمامية
بقدر ما أستطيع أن أقول ، هذه مشكلة ذات شقين .
الأول هو أنه بصفتك مطورًا للواجهة الأمامية ، تعتقد أنه من المتوقع أن يكون لديك كل ما يلي في ترسانتك:
- HTML (كتابة ترميز نقي ودلالي)
- CSS (معياري ، قابل للتطوير)
- منهجيات CSS (BEM ، SMACSS ، OOCSS)
- معالجات CSS الأولية (شيء مثل LESS و SCSS و PostCSS)
- Modern CSS (Flexbox، Grid)
- شبيبة
- JS الحديثة (ES6 ، ترقيعي)
- أطر عمل JS (Angular و React و Vue [أدخل الأحدث هنا]
- منهجيات JS (البرمجة الوظيفية ، OOP)
- مكتبات JS (Immutable، Ramda، Lodash)
- مبادئ التصميم المتجاوب
- الاختبار (TDD)
- أطر الاختبار (الياسمين ، الكرمة)
- SVG
- WebGL
- تقنيات الرسوم المتحركة
- إمكانية الوصول
- سهولة الاستخدام
- أداء
- أدوات البناء (نصوص Grunt و Gulp و NPM)
- حزم الأصول (حزمة الويب ، المتصفح)
- النظام البيئي NPM
- معرفة المراوغات المختلفة للمتصفح
- منهجيات رشيقة
- التحكم في الإصدار (عادة Git)
- أساسيات التصميم المرئي
- المهارات الناعمة ، وإدارة الوقت
- فهم أساسي لأي لغة خلفية يتم استخدامها
علاوة على ذلك ، فأنت إما تنغمس في أشياء مثل:
- عمال الخدمة
- تطبيقات الويب التقدمية (PWA)
- مكونات الويب
والثاني هو أن عملك اليومي ربما لا يغطي كل شيء أو يمنحك الوقت لتعلم كل شيء ، فكيف ستتأكد من أن لديك كل الأدوات تحت تصرفك؟

الآن ، كمستهلك ، يمكنك:
- اشترك في مجموعة من النشرات الإخبارية الأسبوعية الخاصة بالتنمية
- تصفح موجز تويتر الخاص بك
- احضر جلسة أسبوعية لمتابعة فريق الواجهة الأمامية في العمل
- لديك قناة Slack خارج العمل مع عدد قليل من المطورين الذين تتحدث معهم أيضًا
- تابع البرامج التعليمية عبر الإنترنت (التي نأمل ألا تكون قديمة)
- استخدم موقعًا للتدريب على دورات الفيديو مثل Frontend Masters
- شراء كتب تطوير الويب (نأمل ألا تكون قديمة)
- احضر اللقاءات
- حضور المؤتمرات
- حضور الدورات التدريبية
كمساهم يمكنك:
- اكتب بلوق / مقالات المجلات
- اشتغل في التحدث
- قم بتشغيل بودكاست
- المساهمة في مشاريع مفتوحة المصدر
- لديك مشاريع جانبية خاصة بك
لقد وجدت مؤخرًا أن انتباهي ينقسم إلى ثلاث طرق ، كنت أركز ثالثًا على كتابة التعليمات البرمجية ، مع سماعات الرأس على نصف الاستماع إلى المناقشات حول الكود أثناء الدردشة على Slack حول الكود. قررت أن هذا يكفي - كل فتحة كانت مسدودة بالكود وكنت منهكة ذهنيًا.
في حين أن هذا بالتأكيد في النهاية القصوى ، أنا متأكد من أن الآخرين منكم قد جربوا شيئًا مشابهًا. علاوة على كل هذا ، من المحتمل أن يكون لديك وظيفة بدوام كامل ، وأسرة ، وأصدقاء ، وهوايات. لا عجب أن هناك الكثير منا يشعر بالإرهاق ويتساءل عما إذا كنا قد اتخذنا الاختيار الوظيفي الصحيح .
أعرب بعض زملائي في الواجهات الأمامية عن اهتمامهم بتعبئة كل شيء وتحويل الوظيفة إلى وظيفة واحدة حيث يمكنهم إيقاف تشغيلها عند الساعة الخامسة. لكن جزءًا مني يعتقد أن هذه الوظيفة تجذب نوعًا معينًا من الأشخاص ، وإذا أردنا التخلص من كل شيء وأصبح وكيل عقارات بدلاً من ذلك ، فلا تزال تريد أن تكون أفضل وكيل عقارات يمكنك أن تكون. حضور اجتماعات الوكالات العقارية وتتبع اتجاهات أسعار المنازل في وقت فراغك. منذ عدة أقمار كنت أعمل في مجال التمويل وكنت لا أزال أدرس في المساء وأقرأ من حوله لأصبح من أمهر المهارة في المجال الذي اخترته.
لسنا وحدنا في هذا التخصص ، فالكثير من المهن تتطلب قدرًا كبيرًا من التفاني والتعلم خارج العمل. ربما يكون الشيء في تطوير الواجهة الأمامية هو أن التكنولوجيا تتطور بسرعة كبيرة بحيث تشعر وكأن شخصًا ما يواصل تحريك منشورات الهدف. يبدو أنني أتلقى كل يوم بريدًا إلكترونيًا يقول إن تقنية "XYZ" ميتة. وأنا متأكد من أنه لا يمكن أن يكون صحيحًا لأنه بخلاف ذلك لم يكن لدينا أي تقنية متبقية.
النظام البيئي في حالة تغير مستمر وأعتقد أن هذا يمكن أن يكون شيئًا جيدًا. أنا شخصياً أحب أن أكون في دور حيث يمكنني أن أتعلم باستمرار وأطور نفسي ، لكن هذا لا يعني أنني لا أشعر بالارتباك في بعض الأحيان.

مع أخذ ذلك في الاعتبار ، إليك بعض الأشياء التي أحاول تذكرها من أجل منع رأسي من الانفجار بالإضافة إلى بعض النصائح العامة حول كيفية تجنب الإرهاق.
نحن جميعًا في ذلك معًا
المطورين الذين أعرفهم ، سواء في العمل أو خارجه ، هم من بين أذكى الأشخاص الذين أعرفهم. لكنهم جميعًا يشعرون بالإرهاق. لدى معظمهم نوع من قائمة الرغبات الخاصة بالتقنيات التي يحاولون تعلمها. قد يكون هناك عدد قليل من الأشخاص الذين يعرفون كل شيء ويكونون على رأس كل شيء ، لكن الغالبية منا في نفس الموقف بالضبط.
لا نزال نعتمد جميعًا على Google و Stack Overflow لتوصيلنا خلال اليوم ولدينا عدد كبير جدًا من علامات التبويب المفتوحة المليئة بالإجابات على الأسئلة المتعلقة بالويب. انت لست وحدك!
كن سعيدًا بمعرفة أنك لست مطورًا سيئًا لمجرد أنك لم تجرب كل ما يستخدمه الأطفال الرائعون حتى الآن.
نعم ، حتى "مشاهير الويب" في نفس المكان ...
لا توجد طريقة يمكنك من خلالها معرفة كل شيء ، ويميل مطورو نجوم موسيقى الروك الذين تتابعهم على Twitter إلى أن يكونوا جيدين حقًا في مجالات قليلة لكل منهم. ستلاحظ أنها نفس المناطق التي اشتهروا بها لكونهم على دراية بها. مرة أخرى ستكون هناك استثناءات لكنها مجرد بشر مثلنا. :)
متلازمة الدجال حقيقية ولدينا جميعًا
أعرف العديد من مطوري الواجهة الأمامية العظماء الذين لن يتقدموا للوظائف لأنهم سيشعرون بأن عملية الاحتيال تجري لهم دون معرفة كل الأشياء الموجودة في متطلبات الوصف الوظيفي. اقتبس من واحد منهم:
"90٪ من JDs التي أراها تجعلني أفكر" Argh ، لقد تأخرت كثيرًا! "في الواقع ، هذا يزعجني كثيرًا ، لدرجة أنني أفكر في البقاء في منصبي الحالي ، وأحاول فقط الضغط من أجل المزيد من المال ببساطة لأنني أشعر بأنني "تخلصت من ذلك" هنا.
الحقيقة هي أن معظم مواصفات الوظائف هذه عبارة عن مهزلة. قام صديقي بارد بتجميع هذه الصورة الرائعة التي توضح الفرق بين ما تقوله مواصفات الوظيفة الأمامية وما تعنيه.

فقط تذكر ، سيكون على ما يرام . لقد شعرت بأن كل وظيفة حصلت عليها من عمقي في البداية ، ولكن في النهاية تعتاد على أدواتهم وسير العمل ، وتتعلم وتصبح مطورًا أفضل لها.
لا تخف من التعلم في الوظيفة ، فإن أفضل طريقة لاكتساب مهارات جديدة هي استخدامها كل يوم.
إذا كنت مصابًا بمتلازمة المحتال ، فمن المحتمل أنك في الواقع مطور لائق لأنه بخلاف ذلك لن تكون مدركًا لما يكفي لإدراك ذلك.
ثبّت أساسياتك
من السهل أن يتشتت انتباهك بسبب اللمعان والجديد ، لكن إذا لم تكن أساساتك صلبة ، فإن الاحتمالات التي تبنيه لن تصمد أمام اختبار الزمن.
كما قال لي صديق لي ذات مرة:
"لطالما كان التركيز على الأساسيات شعارًا لي. إذا كان بإمكانك بناء أسلوب جيد وحل المشكلات ، فهذا كل ما يهم ، كيف يمكنك حلها (الأدوات) قد تغيرت وستتغير دائمًا."
على سبيل المثال ، عندما قفزت React إلى الشهرة ، بدا دائمًا أنها مجمعة مع ES6 ، وركزت على تلك التغييرات أو الإضافات إلى اللغة بدلاً من الفروق الدقيقة في إطار العمل نفسه. بمجرد موت React واختفاءها ، ستستمر المعرفة التي حصلت عليها من متابعة أحدث إصدار من Vanilla Javascript. هناك الكثير من الميزات التي يمكنك اللعب بها في Chrome حتى لا تضطر إلى سحب Babel والتورط في جحيم التبعية للعب بها.
لست بحاجة إلى تعلم كل شيء
هذا حقا هو المفتاح. لا أعتقد أن الأطر والمكتبات والوحدات الجديدة هي التي تقتلنا ، فنحن نعتقد أنه يتعين علينا تعلمها جميعًا.
من خلال التعلم ، أجد أن أفضل رهان هو الحفاظ على تركيزه - في الوقت الحالي ، أتعمق في برمجة JavaScript الوظيفية في ES6.
هناك الكثير من الأشياء الأخرى في قائمتي التي أود أن أتعلمها ، لكني أحاول ألا أشتت انتباهي. على سبيل المثال ، أرغب في تحسين معرفتي بإمكانية الوصول ، واللعب مع Polymer والغوص في بعض أحدث تقنيات CSS مثل Grid ، ولكن إذا بدأت في القراءة عن العديد من المجالات المختلفة في وقت واحد ، فلن أحتفظ بجميع المعلومات. هذه الأشياء الأخرى لا تسير في أي مكان ، سأصل إليها عندما أصل إليها.
تجنب التسرع في محاولة استهلاك كل شيء في موضوع معين. خذ وقتك وتأكد من أنك تفهمه جيدًا.
إذا كنت مثلي ، فستكون لديك قائمة متزايدة باستمرار ، لكن لا تخف من استبعاد العناصر منها. لا يستحق كل شيء استثمار الوقت فيه ويجب أن تحاول التعرف على ما يستحق التعلم وما الذي من المحتمل أن يختفي في غضون عامين. إن قضاء بعض الوقت في تعلم أنماط تصميم البرمجة والتقنيات المعمارية سيكون دائمًا أكثر فائدة على المدى الطويل بدلاً من القفز إلى درجة الحرارة الحالية في أرض الإطار. سينتهي بك الأمر بالتدافع للعب البنغو الطنانة مرة أخرى لفترة قصيرة على المسار.
معظم الشركات لا تستخدم تقنية Bleeding Edge
هناك الكثير من الأشياء الجديدة التي تظهر ، فالويب يتقدم بمعدل مذهل ، لكن عادة ما يستغرق الأمر وقتًا طويلاً قبل أن تبدأ الشركات بالفعل في تبني هذه التقنيات الجديدة. ستنتظر غالبية الشركات حتى تنضج التكنولوجيا لفترة من الوقت وترى أنها أثبتت فعاليتها في هذا المجال.
تم إنشاء Angular منذ ست سنوات وبدأت العمل لأول مرة في شركة ناشئة قررت أنها كانت إطار العمل لها منذ ثلاث سنوات. لقد كان Reactjs موجودًا منذ ما يزيد قليلاً عن ثلاث سنوات وبدأت شركتي الحالية في استخدامه قبل عيد الميلاد مباشرةً. أنا متأكد من أن الكثير من الأطر الأخرى قد جاءت وذهبت في ذلك الوقت. إذا قفزت عليهم جميعًا ، سأصاب بالجنون.
في CSS land ، أصبح Flexbox متاحًا منذ عام 2010 - منذ ستة أعوام! دعم المتصفح لا يزال محدودا. بدأنا استخدامه في الإنتاج في وقت سابق من هذا العام ، لكنني لا أرى أنه يتم استخدامه كثيرًا في البرية في أي مكان آخر.
وجهة نظري هي أنه لا داعي للاندفاع لتعلم كل الأشياء ، في حين أن التكنولوجيا قد تتحرك بسرعة فإن أصحاب العمل المحتملين لديك يتحركون بوتيرة أبطأ بكثير. ليس عليك أن تكون في الطليعة من المنحنى ، فقط تأكد من أنك تراقب مساره.
كلما تعلمت أكثر ، كلما اكتشفت أنك لا تعرف ، وهذا جيد
هذا طبيعي تمامًا. عندما تبدأ ، لا تعرف ما لا تعرفه. ثم تتعلم بعض الأشياء وتقرر أنك عبقري. ثم شيئًا فشيئًا ينكشف هذا الخيال وتبدأ في فهم حقيقة مقدار ما لا تعرفه.
بشكل أساسي ، كلما اكتسبت خبرة أكبر ، تعمقت في الفراغ. عليك أن تتصالح مع هذا ، وإلا فإنه سوف يستهلكك. إذا كان هناك أي شيء ، يجب أن يمنحك هذا الشعور الثقة بأنك تسير في الاتجاه الصحيح. الاحتمالات في المهنة التي اخترناها لن تكون قادرًا أبدًا على الجلوس على العرش بشكل مريح.
لا تقضي كل وقت فراغك في التعلم
من السهل أن تشعر أنك متأخر جدًا وأنك بحاجة إلى البرمجة والتعلم كل دقيقة. هذه تذكرة ذهاب فقط إلى مدينة الإرهاق. خصص بعض الوقت لتطوير مجموعة المهارات الخاصة بك ، واعرف ما إذا كان يمكنك التفاوض مع رئيسك في العمل لبعض الوقت حتى يتم تحديد موعدك وقضاء بقية الوقت في فعل ما تحب.
لقد تلقيت بعضًا من عروض الترميز الخاصة بي في صالة الألعاب الرياضية. التمرين مهم للغاية لعقلك وكذلك لجسمك. حاول أن تفعل ما لا يقل عن 20-30 دقيقة يوميًا لتحافظ على عقلك حادًا وتساعد على منع الإرهاق.
خصص وقتًا لعائلتك وأصدقائك - حاول ألا تتحدث معهم للتسوق!
إنه سوق للمطورين
لا تقلق بشأن العثور على وظيفة الآن. في الوقت الحالي ، نحن في وضع محظوظ جدًا حيث توجد أدوار أكثر من المطورين لملئها. لا أعرف إلى متى سيستمر هذا ، لكن استفد من ذلك الآن!
يمكنك الحصول على وظيفة دون معرفة كل الأشياء. لقد اكتشفت أنه في المقابلات التي أجريتها ، فإن 99٪ من الأشخاص يذمرون ذلك تمامًا.
أسوأ سيناريو ، تذكر أن هناك ذهبًا في الكود القديم. إذا كنت مطورًا يحب الطرق القديمة ، فستظل هناك دائمًا شركات عالقة في التكنولوجيا القديمة التي تحتاج إلى مطورين للعمل على برامجهم.
خاتمة
آمل أن تكون بعض هذه المؤشرات قد ساعدت في التخفيف من بعض الإحباطات التي قد تشعر بها. أسوأ شيء يمكنك القيام به هو الوصول إلى الحافة وتصبح منهكة تمامًا لأنه بمجرد أن تصبح كذلك ، من الصعب جدًا استعادة هذا الشغف الذي كان لديك لما تفعله ولماذا بدأت في القيام به في المقام الأول.
ترميز سعيد!