يبدو توظيف مبرمج مناسب مهمة من أصعب مهام فرق الموارد البشرية والتقنية. فالسيرة الذاتية تذكر لغات وأطر عمل كثيرة، لكنها لا تكشف مستوى المرشح الحقيقي في كتابة كود نظيف أو حل مشكلة معقدة أو العمل مع فريق. وتكلفة قرار توظيف خاطئ في هذا المجال كبيرة، من مشاريع تتأخر إلى كود يصعب صيانته. في هذا المقال نشرح كيف تقيّم مهارات المبرمجين قبل توظيفهم بطريقة منظمة، وما هو إطار SFIA الذي تستخدمه كثير من الجهات لوصف المهارات الرقمية ومستويات المسؤولية، وكيف توظفه في بناء مسار تقييم عادل وقابل للمقارنة.
لماذا يصعب تقييم مهارات المبرمجين؟
السيرة الذاتية لا تكفي
قائمة اللغات والأدوات في السيرة لا تدل على عمق المهارة. قد يكتب مرشح اسم إطار عمل لأنه استخدمه مرة واحدة في مشروع تدريبي، وآخر أتقنه على مدى سنوات ولم يذكره بالتفصيل.
تنوع التخصصات
كلمة «مبرمج» تشمل أشخاصا يعملون في الواجهات والخوادم وقواعد البيانات والتطبيقات المحمولة والأمن السيبراني، ولكل منهم مهارات مختلفة. اختبار واحد للجميع لا يناسب.
تسارع التقنيات
الأدوات تتغير بسرعة، لذلك يكون الحكم على معرفة أداة بعينها قصير النظر، والأهم قياس القدرة على التعلم والتكيف.
ما الذي يجب أن تقيسه في المبرمج؟
المهارات التقنية الأساسية
• إتقان لغة أو أكثر من لغات البرمجة المطلوبة للوظيفة.
• فهم هياكل البيانات والخوارزميات.
• التعامل مع قواعد البيانات والواجهات البرمجية.
• استخدام أدوات إدارة الإصدارات مثل Git.
حل المشكلات والتفكير التحليلي
• تفكيك المشكلة إلى خطوات صغيرة.
• اختيار حل مناسب من بين عدة حلول.
• تشخيص الأخطاء بطريقة منهجية.
جودة الكود والممارسات الهندسية
• كتابة كود واضح يسهل قراءته وصيانته.
• كتابة اختبارات للكود.
• التعامل مع الحالات الاستثنائية والأخطاء.
• مراعاة الأمان والأداء.
التصميم والبنية البرمجية
من المتوقع للمبرمجين الأكثر خبرة أن يصمموا نظما قابلة للتوسع ويفاضلوا بين الخيارات المعمارية ويشرحوا قراراتهم.
التواصل والعمل ضمن فريق
• شرح القرارات التقنية لشخص غير متخصص.
• تقبل مراجعة الكود والملاحظات.
• التعاون مع المحللين والمصممين ومتخصصي الجودة.
التعلم والتكيف
اسأل عن تقنية تعلمها المرشح مؤخرا وكيف تعلمها وما الذي بناه بها.
ما هو إطار SFIA؟
تعريف الإطار
SFIA اختصار لـ Skills Framework for the Information Age، وهو إطار عالمي محايد للموردين يصف المهارات المهنية في مجال التقنية وهندسة البرمجيات ومستويات المسؤولية التي يمارسها كل متخصص. وهو مستخدم عالميا منذ سنوات طويلة، وتستعمله جهات حكومية ومهنية وشركات كبيرة وصغيرة.
ومن أهم خصائصه:
• لا يحدد مسميات وظيفية ثابتة: يصف المهارات ومستويات المسؤولية لا المسمى الوظيفي.
• محايد: لا يرتبط بمزود أو لغة أو أداة.
• ببنية من بُعدين: مهارات مهنية على محور، ومستويات المسؤولية السبعة على محور آخر.
• يتحدث دوريا: الإصدار الحالي هو SFIA 9، والإصدارات السابقة متاحة للمرجع.
مستويات المسؤولية السبعة
• المستوى الأول (Follow): يعمل تحت إشراف مباشر وينفذ مهام روتينية محددة.
• المستوى الثاني (Assist): يعمل بتوجيه روتيني ويتصرف باستقلال محدود في مهام متنوعة.
• المستوى الثالث (Apply): يعمل تحت توجيه عام ويستخدم التقدير في مشكلات معقدة نسبيا، ويتعامل مع العملاء على مستوى العمل.
• المستوى الرابع (Enable): يعمل باستقلال كبير ويتعامل مع مهام معقدة ومتنوعة، ويؤثر في نجاح المشاريع والفرق.
• المستوى الخامس (Ensure and advise): مستوى الخبرة المستقلة الذي يقدم المشورة ويتحمل مسؤولية إضافية عن النتائج.
• المستوى السادس (Initiate and influence): يبادر ويؤثر على مستوى المنظمة.
• المستوى السابع (Set strategy, inspire and mobilise): يضع الاستراتيجية ويقود المنظمة نحو التغيير.
السمات الخمس التي تعرّف كل مستوى
تصف SFIA كل مستوى بخمس سمات:
• الاستقلالية (Autonomy): ما مدى الإشراف المطلوب واستقلال القرار.
• التأثير (Influence): نطاق تأثير الشخص في الآخرين والقرارات.
• التعقيد (Complexity): مدى تعقيد المهام التي يتعامل معها.
• المعرفة (Knowledge): عمق المعرفة وقدرة تطبيقها في مواقف جديدة.
• مهارات العمل (Business skills): التواصل والتخطيط والتعاون والالتزام بالمعايير.
المهارات المهنية في SFIA
يصنف الإطار المهارات في فئات وفئات فرعية، مثل تطوير البرمجيات والتصميم والاختبار والأمن وتحليل البيانات والعمليات. ولكل مهارة وصف عام ووصف لكل مستوى ينطبق عليها. ولا تمتلك كل مهارة كل المستويات، بل تظهر في المستويات التي توجد فيها فعلا في العمل.
كيف تستخدم SFIA في تقييم المبرمجين؟
الخطوة الأولى: حدد المهارات المطلوبة للوظيفة
اختر من الإطار المهارات التي تناسب الوظيفة، مثل تطوير البرمجيات واختبارها وتصميمها، ولا تضع قائمة طويلة من المهارات.
الخطوة الثانية: حدد المستوى المطلوب
أضف إلى كل مهارة المستوى المطلوب من المستويات السبعة. فمبرمج مبتدئ قد يكون المستوى الثاني أو الثالث، ومبرمج أول المستوى الرابع، وقائد فني المستوى الخامس.
الخطوة الثالثة: حوّل الأوصاف إلى مؤشرات قابلة للقياس
يصف الإطار السلوك بشكل عام، ودورك أن تترجمه إلى مؤشرات يمكن ملاحظتها في اختبار أو مقابلة:
• المستوى الثالث: يحل مشكلة برمجية غير روتينية بطريقة منهجية ويعرف متى يصعّد المشكلة.
• المستوى الرابع: يحقق توازنا بين الأداء والصيانة ويشارك في قرارات تؤثر في المشروع.
• المستوى الخامس: يقدم المشورة للفريق ويضمن الجودة ويقود قرارات البنية.
الخطوة الرابعة: اربط كل مستوى بأداة قياس
• المستويات الدنيا تقاس باختبار برمجي ومهام محددة.
• المستويات المتوسطة تقاس بمراجعة كود ومقابلة تقنية.
• المستويات العليا تقاس بمقابلة تصميم نظام ومقابلة سلوكية وتمارين قيادية.
أمثلة على المستويات في وظائف البرمجة
• مبرمج مبتدئ (المستوى الثاني أو الثالث): ينفذ مهام محددة بتوجيه، ويكتب كودا سليما لمكونات صغيرة، ويتعلم بسرعة.
• مبرمج متمكن (المستوى الرابع): يصمم وينفذ ميزات كاملة باستقلال، ويراجع كود الآخرين، ويشارك في قرارات المشروع.
• مبرمج خبير أو قائد فني (المستوى الخامس): يقود قرارات البنية، ويدرب الآخرين، ويضمن جودة التسليم.
طرق تقييم مهارات المبرمجين قبل التوظيف
فرز السيرة الذاتية وأعمال المرشح السابقة
ابدأ بقراءة السيرة الذاتية ومراجعة أعمال المرشح المنشورة، مثل مشاريع على GitHub أو تطبيقات أطلقها.
• ابحث عن مشاريع حقيقية لا تمارين تعليمية فقط.
• انظر إلى جودة الكود وتاريخ التعديلات وطريقة التوثيق.
• تأكد من أن المرشح هو من كتب الكود فعلا، بأن تسأله عن تفاصيله لاحقا.
اختبارات برمجية عبر الإنترنت
تمنحك فرزا سريعا لأعداد كبيرة، وتقيس الأساسيات مثل المنطق والخوارزميات وحل المشكلات.
• اجعلها قصيرة ومرتبطة بمهام قريبة من العمل الفعلي.
• تجنب الأسئلة التي تقيس الحفظ أو الألغاز البعيدة عن الوظيفة.
• استخدم أكثر من نوع من الأسئلة، مثل كتابة كود واختيار من متعدد وتحليل خطأ.
المهمة العملية في المنزل
يطلب من المرشح إنجاز مهمة صغيرة خلال مدة محددة، ثم تناقش معه الحل في مقابلة لاحقة.
• اجعل المهمة قصيرة تتراوح بين ساعتين وأربع ساعات حتى لا ترهق المرشح.
• اطلب منه شرح قراراته وبدائله عند مناقشة الحل.
• تأكد من أنه صاحب الحل بأسئلة متابعة عن تفاصيل التنفيذ.
المقابلة التقنية
مقابلة منظمة بأسئلة موحدة يقيّم فيها مبرمج متمرس معرفة المرشح وطريقة تفكيره.
• اطرح أسئلة من مواقف واقعية في الوظيفة.
• اطلب من المرشح أن يشرح طريقة التفكير لا الإجابة فقط.
• استخدم مقياس تقييم مكتوبا لكل سؤال.
البرمجة الحية أو البرمجة الزوجية
يعمل المرشح مع مقيّم على مهمة صغيرة في الوقت نفسه، فترى طريقة تفكيره وتواصله وتعامله مع الأخطاء.
• اجعل بيئة العمل مألوفة للمرشح قدر الإمكان.
• ركز على طريقة الحل والتواصل لا على سرعة الكتابة.
• قدم تلميحات عند التعثر وراقب كيف يتفاعل معها.
مراجعة الكود
اعرض على المرشح قطعة كود فيها أخطاء أو نقاط ضعف واطلب منه مراجعتها.
• تكشف هذه الطريقة جودة الفهم والخبرة العملية.
• تقيس القدرة على إبداء الملاحظات بأسلوب بنّاء.
• تناسب المستويات المتوسطة والعليا خاصة.
مقابلة التصميم والبنية
تناسب المستويات العليا، وفيها يصمم المرشح نظاما بسيطا ويشرح قراراته.
• اطلب منه تحديد المتطلبات وطرح الأسئلة أولا.
• قيّم قدرته على المفاضلة بين الحلول وشرح المقايضات.
• راقب كيف يتعامل مع قضايا الأداء والأمان وقابلية التوسع.
المقابلة السلوكية
تقيس التعاون وإدارة الخلافات والتعلم من الأخطاء، فالمبرمج الجيد تقنيا قد يفشل في فريق لا يتواصل جيدا. وقد تستفيد هنا من أسلوب المقابلة المنظمة في بناء الأسئلة والتقييم.
مثال على مسار تقييم متكامل لوظيفة مبرمج
المرحلة الأولى: الفرز الأولي
• مراجعة السيرة الذاتية وأعمال المرشح.
• اختبار برمجي قصير عبر الإنترنت يقيس الأساسيات.
المرحلة الثانية: التقييم العملي
• مهمة عملية قصيرة أو جلسة برمجة حية.
• مراجعة الحل ومناقشته مع مبرمج متمرس.
المرحلة الثالثة: المقابلة المتعمقة
• مقابلة تقنية منظمة عن الخبرة والتصميم.
• مقابلة سلوكية عن العمل ضمن فريق.
• للمستويات العليا، مقابلة التصميم والبنية.
المرحلة الرابعة: القرار
• تجمع الدرجات في جدول واحد حسب المهارات والمستوى المطلوب في SFIA.
• يناقش المقيّمون الفروق بالاعتماد على الملاحظات المكتوبة.
• يعطى المرشح تغذية راجعة مختصرة بعد القرار.
مقياس تقييم مقترح للمبرمجين
يمكن تقييم كل مهارة من واحد إلى خمسة، وربط الدرجات بمستويات SFIA:
• الدرجة 1: لا يظهر المهارة المطلوبة أو يحتاج إلى توجيه مستمر.
• الدرجة 2: ينفذ مهاما بسيطة بتوجيه، وينجز الحل الأساسي.
• الدرجة 3: ينفذ مهاما بشكل مستقل ويتعامل مع الحالات المعتادة.
• الدرجة 4: يتعامل مع حالات معقدة ويفاضل بين الحلول ويشرح الأسباب.
• الدرجة 5: يقدم حلولا متميزة ويتوقع المشكلات ويفيد الفريق بخبرته.
ثم قارن الدرجة بالمستوى المستهدف للوظيفة. فإذا كانت الوظيفة تحتاج المستوى الرابع، فلا يكفي مرشح يظهر مهارات المستوى الثالث إلا إذا كانت خطة التطوير واضحة.
أخطاء شائعة عند تقييم المبرمجين
• التركيز على لغة واحدة: المهارة الجيدة تنتقل بين اللغات، والمهم هو فهم الأسس.
• أسئلة ألغاز بعيدة عن العمل: تقيس القدرة على حفظ الحيل لا الكفاءة الفعلية.
• اختبارات طويلة جدا: تدفع المرشحين الجيدين إلى الانسحاب.
• تجاهل المهارات السلوكية: كثير من مشكلات المشاريع سببها التواصل لا الكود.
• غياب مقياس مكتوب: يجعل القرار قائما على الانطباع.
• عدم تحديد المستوى المطلوب: يخلط بين متطلبات مبتدئ وخبير.
• الاعتماد على مقيّم واحد: يضاعف أثر التحيز الشخصي.
العدالة ومنع الغش في الاختبارات البرمجية
مع انتشار أدوات الذكاء الاصطناعي وسهولة التعاون عن بعد، يجب التفكير في نزاهة الاختبار:
• اطلب من المرشح شرح حله والتعديل عليه في جلسة مباشرة.
• صمم مهاما مرتبطة بسياق خاص بعملك لا يجيب عنها أي أداة جاهزة.
• اشرح للمرشحين ما هو مسموح وما هو ممنوع من أدوات.
• حدد مدة المهمة بشكل معقول، فالمهام الطويلة تظلم من لا يملك وقتا فائضا.
• وفر ترتيبات عادلة لمن يحتاج إلى وقت إضافي أو وسيلة مناسبة.
كيف تساعدك منصة البيان للتقييم؟
تساعدك منصة البيان للتقييم على بناء مسار تقييم للمبرمجين يجمع اختبارات القدرات والاختبارات النفسية والجدارات والمعرفة الوظيفية في تقارير تربط النتائج بمتطلبات الوظيفة. وإذا كنت تريد تحديد المهارات والمستوى المطلوب لكل وظيفة تقنية وربطها بأدوات القياس المناسبة، فيمكن لفريق التقييم مساعدتك في ذلك.
الأسئلة الشائعة
ما هو إطار SFIA بإيجاز؟
إطار عالمي محايد يصف المهارات المهنية في مجال التقنية وسبعة مستويات للمسؤولية، ويستخدم لتحديد متطلبات الوظائف وتقييم الكفاءات وتخطيط التطوير الوظيفي.
هل يلزم استخدام SFIA عند تقييم المبرمجين؟
لا يلزم، لكنه يوفر لغة مشتركة وواضحة تساعد على تحديد المستوى المطلوب ومقارنة المرشحين بمعيار واحد بدل الاعتماد على مسميات مثل «مبرمج أول».
كم مرحلة تقييم يحتاجها المبرمج؟
يكفي في أغلب الوظائف ثلاث مراحل: فرز أولي واختبار عملي ومقابلة متعمقة. وتحتاج الوظائف العليا إلى مرحلة إضافية للتصميم والبنية.
هل تكفي الاختبارات البرمجية عبر الإنترنت وحدها؟
لا تكفي، فهي تقيس الأساسيات وتفيد في الفرز، لكنها لا تكشف جودة التصميم والعمل مع الفريق. والأفضل دمجها مع مهمة عملية ومقابلة منظمة.
كيف أقيّم مبرمجا لا يملك خبرة طويلة؟
ركز على القدرة على التعلم وحل المشكلات وجودة الكود الأساسية، واستخدم مهمة عملية قصيرة ومقابلة موقفية، وقارنه بالمستوى الثاني أو الثالث بدل المستويات العليا.
خلاصة
تقييم مهارات المبرمجين يحتاج إلى مسار منظم يبدأ بتحديد المهارات والمستوى المطلوب، ثم اختيار أدوات تناسب كل مستوى، ثم تقييم الإجابات بمقياس مكتوب وبأكثر من مقيّم. وإطار SFIA يعطيك لغة مشتركة لوصف المستويات من المبتدئ إلى القيادي. وإن أردت بناء مسار تقييم للمبرمجين في جهتك، فتواصل مع فريق البيان للتقييم واحجز استشارة تساعدك على البدء.



