5 علامات تدل أنك مبرمج خبير.


senior-programmer
blog.edx.org
هناك مجال واسع من المهارات التي يمتلكها المطورون - والأقدمية في كثير من الأحيان لا تحدد معيار الفرد. إذن ما الذي يجعل البعض متفوقين على أقرانهم ؟ ما الذي يميزهم عن القطيع ويجعلهم أفضل من المتوسط ؟

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

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

  • النماذج البرمجية.

البرمجة الإجرائية والكائنية التوجه والوظيفة هي ثلاثية من نماذج البرمجة، إلى جانب مبادئ SOLID للتصميم الكائني التوجه وتقنيات كتابة كود نظيف والتي تشكل جزءًا كبيرا من أنماط التفكير خلف كتابة الكود.

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

يمكن لأي شخص كتابة التعليمات البرمجية - تمامًا كما يمكن لأي شخص كتابة رسالة نصية أو مراجعة قصيرة للكتاب على Amazon. لكن هذا النوع من الكتابة ليس بنفس مستوى رواية ستيفن كينج. تعمل نماذج البرمجة كقوة إرشادية وراء كود المطور الخبير مثلما تفعل الحبكة لكًتاب الخيال. تتكون جميع اللغات من صيغ والتي يفهمها كبار المطورين على مستوى عميق لم يختبره كثير من المطورين المبتدئين والمتوسطين.
  • القدرة على الإبداع.

عندما نبدأ في عالم حلقات "for" وجمل "if-else" لأول مرة، فإننا نميل إلى العثور على الإجابات في شكل كود جاهز للنسخ واللصق. كيف يفهمونه, هذا ما يميز بين المطورين المبتدئين و المتوسطي المستوى.

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

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

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

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

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

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

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

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

"المعلم المتوسط يقول. المعلم الجيد يشرح. المعلم المتفوق يوضح. المعلم العظيم يلهم. "- ويليام آرثر وارد
كبار المطورين الحقيقيين لديهم شغف معين بهم يلهم أقرانهم الأقل خبرة في مجالهم ، مما يساعد على تلميع الجيل القادم من الماس.

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

هناك مستوى من الإتقان المطلوب لتصبح معلماُ لأي شيء. في حين أن "الخبرة" قد تأتي في شكل مشاريع على سيرهم الذاتية ووقت طويل في شركات مختلفة، فإن التدريس مهارة متاحة فقط لأولئك الذين يفهمون حرفتهم حقًا.

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

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

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

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


لا تنس كتابة رأيك في المقال إذا أعجبك, وإذا كان لديك أي آراء أو اقتراحات فسأكون سعيدا بتلقيها.


مترجم.



 

تعليقات

المشاركات الشائعة من هذه المدونة

30 شيء تمنيت لو عرفتها عندما بدأت في البرمجة(الجزء الأول).

ما هي مبادئ SOLID؟ ولما يجب أن يعرفها كل مطور؟

كيف تصبح مطور ويب وتحصل على وظيفة في أسرع وقت؟ (الجزء الثاني)