كيف تجد المبرمج المنشود لمشروعك أو لشركتك؟

كيف تجد المبرمج المنشود لمشروعك  أو لشركتك؟
0

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

في هذه الأيام، نلحظ أن العديد من الشباب صاروا يتهافتون بشكل كبير على كليات المعلوماتية ليتخصصوا في الحوسبة، يرجع ذلك بسبب شغفهم بالتكنولوجيا و البرمجيات من حولهم، و لربما بسبب إنبهارهم بمشاهدة أحد أقرانهم و الذي قد بدأ بكتابة مجموعة الأسطر و الرموز لعرض النص “Hello World” في وسط صفحة ويب أو على شاشة الهاتف أو ربما لمحاولة إختراق موقع معين!!!

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

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

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

المبرمج النهم:

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

إليك بعض الأمثلة لأسئلة يمكن توجيهها للمتقدمين للمقابلة الشخصية (طبعاً الأسئلة قد تختلف بحسب المتطلبات الوظيفية لمشروع شركتك) :

مطور ويب:

#         ماذا تعرف عن الـ CMS ؟ و ما هي أشهرها؟

#         ما هو إطار PHP المفضل لديك؟ هل قمت بكتابة إطارك الخاص من قبل؟

#         ماذا تعرف عن الـ Graph API؟

#         ماذا تعرف عن بروتوكول OAuth؟ و ما الجديد في OAuth 2.0؟

مطور تطبيقات موبايل:

#         ما الذي تعرفه عن مشروع Tizen؟

#         ماذا تعرف عن Apache Cordova؟

#         برأيك ما هي أفضل الحلول لتحديث و مزامنة بيانات التطبيق عبر الإنترنت؟

#         ماذا تعرف عن الـ NDK؟

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

الأداء ثم الأداء:

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

أمثلة لبعض الأسئلة التي يمكن توجيهها بخصوص الأداء البرمجي:

#         ما هي أهم الأسباب لحدوث Memory Leak؟

#         ماذا تعرف عن الـ Deadlock؟

#         ما هي الأدوات التي تفضلها لمراقبة الأداء (Heap – Threads …)؟

#         ما الذي تعرفه عن الـ Clustering؟

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

المساهمة في المجتمعات البرمجية

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

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

إذا كان المتقدم من هذه الطينة من المبرمجين فتلك علاوة كبيرة له و قد تكون محظوظاً به لأنه بذلك قد أكتسب العديد من المهارات منها:

#         العمل مع فرق من جنسيات مختلفة

#         كتابة الكود وفقاً للمعايير العالمية (بدلاً من كتابة أكواد معقدة أشبه بالمعكرونة)

#         العمل على إنجاز وظائف معينة في المشروع و التركيز في تخصص واحد

#         القدرة على تنظيم الأكواد البرمجية و تهيئتها لأي تعديل أو تطوير مستقبلي

#         حب تقديم المساعدة للغير و تقديم النصائح و الإستشارات المختلفة

توثيق البرمجيات:

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

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

مصدر الصورة

0

شاركنا رأيك حول "كيف تجد المبرمج المنشود لمشروعك أو لشركتك؟"