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

كيف تجد المبرمج المنشود لمشروعك  أو لشركتك؟
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

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

  1. Mohamed BinOthman

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

  2. Haneen Z AbdAllah

    مقال مهم للمبرمجين المبتدئين .. ليعرفوا وين رايحين و بأي طريق لازم يمشوا لحتى يكونو الخيار الأفضل لأي شركة برمجية … شكرا كتير لكاتب المقال

  3. Osama Mostafa

    اشكرك بشمهندس على المقال الرائع، ولو اننا اشك اننا ممكن احصل مبرمج يجاوب على هذي الاسئله، خصوصا اذا كانت شركتي مبتدئه

    • Mohammed Abdulbaqi

      مش ضروري نفس الأسئلة يا أسامة … ممكن تقول يكون مثقف برمجياً …

  4. Ahmed Mufleh

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

  5. Paul Jone

    مقال من شخص مخضرم وشخصية اكثر من رائعه وفقك الله
    لي فقط اقتراح ان تم وضع مواضيع توضح للمبتدئين المعلومات القيمة دي من رأي الشخصي زي Clustering & الأداء البرمجي اكيد هذه المقالات حتفيد كثيرا

    وشكرا مرة اخي اخي محمد الي الامام دائما

  6. Mohammed Abdulbaqi

    شكراً يا صديقي… سأخذ ملاحظاتك في الحسبان في مقالاتي القادمة

  7. Mohammed Abdulbaqi

    مش ضروري نفس الأسئلة يا أسامة … ممكن تقول يكون مثقف برمجياً …

  8. Abdo Raafat

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

  9. Thinker Man

    طلبك مبهم ياصاحبي هل تبحث عن مطور برمجيات أم مهندس برمجيات ؟
    software developer or software architect

  10. Abdallah Sabri

    معلومات ممتازة وفعلا بتميز المبرمج التقليدي عن غير التقليدي
    طيب في عندك فكرة لو بدك تلاقي salesman أو Marketing، شو الاسئلة الي ممكن تنطرح؟

  11. Mohammed Daghamin

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

  12. Abq Abri

    مقال رائع جدا
    شكرا جزيلا
    ونرجوا كتابة مقالات متسلسلة مختصة في البرمجة

أضف تعليقًا