المبرمجون الرائعون نادرون.

جيث تبلغ إنتاجيتهم 3 أضعاف إنتاجية مطور عادي و10 أضعاف إنتاجية مطور سيء.
لا يكتب أفضل المطورين في العالم أكواد برمجية صلبة فحسب، بل يمتلكون سمات غير ملموسة مهمة.

وبعد العمل مع الكثير من المطورين، تمكنا من تحديد 7 صفات تميز مبرمجًا رائعًا عن الآخرين.

 

“أفضل المبرمجين يعتبرون أفضل بـ 28 مرة من أسوأ المبرمجين” -روبرت. ل. جلاس

1. التعامل بإيجابية:

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

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

عندما تحتاج إلى تقديم منتج إلى السوق، فسيقوم المبرمج الرائع بإصدار المنتج في الوقت المثالي. لأنهم يهتمون.
المطور المتميز لا يدع غروره يعيق النقد البناء.

ومن الطرق الجيدة لغرس الحس الإيجابي هو منحهم مشاريع مثيرة للاهتمام للعمل عليها، ومنحهم إحساسًا بالملكية، والثناء عليهم على العمل الجيد.

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

 

كيف تختبر هذه المهارة

أمثلة أسئلة المقابلات

• أخبرني عن شخص وجدت صعوبة في العمل معه في الماضي؟

• أعط مثالاً لمشروع واجهت فيه صعوبة في الوفاء بموعد نهائي رئيسي؟

• ما هو الشيء المفضل لديك في وظيفتك الأخيرة؟

2. مهارات اتصال ممتازة

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

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

عادة ما يتحدث المطورين الخارجيين (offshore developers) الرائعين بلغات متعددة بشكل جيد.
في عالم التكنولوجيا، اللغة الإنجليزية هي اللغة الفعلية لمعظم تعاملات التوثيق والمطورين.

كيف تختبر هذه المهارة

أمثلة أسئلة المقابلات

• قم بمحاكاة اجتماع Scrum وشاهد كيف يتفاعلون.

• اعطهم مشكلة / سيناريو وشاهد كيف يتواصلون بشكل فعال.

• اطلب منهم تقديم تقدير زمني للوقت الذي سيستغرقه بناء شيء ما، ومعرفة الأسئلة التي يطرحونها حوله لتحديد تقديرهم.

3. إدارة جيدة للوقت والمهام

مبرمج رائع يعني مبرمج موثوق فيه.

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

كيف تختبر هذه المهارة

تتمثل إحدى الطرق الجيدة لاختبار أي مطور في هذه الصفات هي الدخول في عقد قصير الأجل والحصول على فترة تقييم حيث يقدم الجميع ملاحظات حول المطور.

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

4. القدرة على التعلم السريع

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

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

أفضل مهارة يمكن لأي شخص الحصول عليها هي معرفة كيفية التعلم والتطوير الذاتي.

كيف تختبر هذه المهارة

أمثلة أسئلة المقابلات

• أخبرني عن شيء تعلمته مؤخرًا أو علمت نفسك القيام به؟

• إذا أردت أن تعلم نفسك لغة برمجة جديدة، كيف ستفعل ذلك؟

• ما هو المفهوم في “مجالك” الذي تجد صعوبة في فهمه، وكيف حاولت التغلب على هذه الصعوبة؟

• أسئلة “Guesstimate”، مثل “كم عدد المستخدمين النشطين يوميًا الذين يمكن أن تحصل عليهم لتطبيق مواعدة يستهدف طلاب الجامعات؟”

5. خبرة تقنية عميقة وواسعة

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

سيتبع المبرمجون الناجحون معايير الترميز وسيكتبون كودًا يمكن فهمه والتعليق عليه بحيث يمكن نقله بسهولة إلى شخص آخر.

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

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

كيف تختبر هذه المهارة

• اسأل عن أمثلة عن الأعمال السابقة: هل يمكنهم عرض المنتجات السابقة أو إرسال عينات من التعليمات البرمجية أو لقطات شاشة من تحسينات مختلفة؟ اسأل أيضًا عما إذا كان لديهم موقع ويب خاص بأعمالهم portfolio وملف تعريف GitHub يمكنهم مشاركته.

مقابلة فنية: ضع في اعتبارك إجراء تحدٍ للتشفير التفاعلي. إذا كان المرشح يتقدم ليصبح مطورًا full-stack فمن المنطقي معرفة ما إذا كان بإمكانه إنشاء تطبيق بسيط بواجهة أمامية تتواصل مع بعض نقاط نهاية REST، بدلاً من مطالبتهم بتنفيذ Quicksort على السبورة البيضاء.

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

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

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

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

6. يعمل بشكل جيد ضمن فريق

ميزة أخرى رائعة للمطورين المتميزين هي قدرتهم على مساعدة المطورين الآخرين على التحسن.

يقدمون المساعدة لزملائهم في الفريق عندما يكونون عالقين، ويعلمون مهارات جديدة للآخرين ويكتبون وثائق من شأنها أن تساعد زملائهم في الفريق ليس فقط في مؤسستهم ولكن في مجتمع المطورين بشكل عام.

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

كيف تختبر هذه المهارة

• معرفة ما إذا كان المرشح لديه خبرة في توجيه المطورين الآخرين.

• اسأل عما إذا كانوا يفضلون العمل في فريق أو بشكل مستقل.

• استفسر عما إذا كان المرشح محبوبًا من قبل زملائه في الفريق، أو إذا كان من الممكن أن يكون من الصعب في بعض الأحيان العمل معه.

7. القدرة على التركيز على الصورة الكبيرة

لا يكمل المبرمج المتميز المهام التي تم تعيينها له فحسب، بل يأخذ في الاعتبار التأثير الأوسع على النظام وتجربة المستخدم ككل.

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

كيف تختبر هذه المهارة

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

• معرفة ما إذا كان هناك وقت لم يتفق فيه المرشح مع مدير المشروع بشأن طلب ميزة معينة بسبب الآثار الجانبية السلبية المحتملة.

• ضع في اعتبارك طرح أسئلة حول تصميم UX، حتى لو لم تكن تنوي توظيف موظفًا لدور يركز على التصميم.

والآن كيف يمكن أن تصبح مبرمجًا رائعًا؟

1. مرِن عقلك: مع إمكانية الوصول إلى الدورات التدريبية عبر الإنترنت، لست مضطرًا للذهاب إلى الجامعة لتصبح مطورًا رائعًا.

ومع ذلك، ذهب الكثير من المبرمجين العظماء إلى جامعات جيدة وتخصصوا في علوم الكمبيوتر.

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

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

2. اتبع قلبك: القيام بالأشياء التي أنت متحمس لها سيساعدك تلقائيًا على التحسن. يتمتع أفضل المبرمجين بالفضول، ويستمتعون ببناء الأشياء، ويحبون تأثير التكنولوجيا على العالم.

سيساعدك ذلك على أن تكون أكثر إبداعًا واكتساب المهارات في جميع المجالات.

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

4. قم ببناء صندوق الأدوات الخاص بك: التكنولوجيا تتغير بسرعة. يتم إنشاء منصات جديدة، ولغات جديدة، ويتم انتاج المنتجات بمعدل مذهل.

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

 

الخلاصة

النقص في المواهب يجعل من الصعب جذب وإقناع مبرمج رائع بالدور الذي تقوم بتعيينه من أجله. حيث يزداد الطلب عليهم ويريدون العمل في مشاريع رائعة.

لذا إذا كنت تريد أن تعمل مع أفضل المبرمجين، تحتاج شركتك إلى منتج مثير وثقافة جذابة.

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