ماذا يعني أن تكون مهندس برمجيات ؟ وليس مبرمجا !

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

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

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

دعونا نذكر أهم النقاط التي تبين الفروق:

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

    Divide and Conquer
    مبدأ حل المشاكل عن طريق فرق تسد
  •  التركيز في حل المشكلة: هناك شعرة في طريقة التفكير الذي يركز كيف يمكننا حل المشكلة, وبين من يفكر في المشكلة نفسها وفي عراقيلها, هناك حل لكل مشكلة ولكن طريقة التفكير والتي تنعكس مباشرة في الأداء.the-solution-oriented-divorce
  • المنظومة الإدارية: إحترام المنظومة الإدارية وطريقة العمل, يزيد إنتاج المجموعة ويدعم الإدارة لتحسين الآلية, هذا لا يعني عدم إقتراح تحسينات, وهذا ما يدركه مهندس البرمجيات ويعمل في صالحه, عكس الفني أو المبرمج البحت الذي قد يفكر دائما في التركيز فقط على كتابة أسطر الشيفرات والأكواد, وقد يهمل أو يتجاوز النظام المتبع لنظره أنه مكلف وغير لازم مثل كتابة التقارير, أو إجتماع دوري…إلخ. لذلك فمن الصعب  للبرمج البحت أن يصعد في السلم الوظيفي أو يترقى, لأن هذه النقطة تجعله اليد المنفذة دائما التي تبعد عن الإداريات وفهم إدارة الفرق والتخطيط وتضعف طريقة تواصله وعمله المشترك.
  • المرونة: فهو مستعد للتغير نمط العمل, عكس فكرة الصندوق الثابت والذي دائما ما يقاوم التغيير. وهذا ما يتيح للمهندس إلى تعلم المزيد من المهارات مثل التواصل, العرض, حضور الإجتماعات, كتابة التقارير ونحو ذلك.
  • التصميم: تصور الحل قبل البدء فيه, الإستعانة برسم مخططات مسبقة قبل التنفيذ الفعلي, تعطي فن وأبعاد في كيفية حل المشاكل, فهو دائما ما يميل إلى تصميم الحلول قبل التنفيذ المباشر لها والإنخراط في كتابة الأكواد البرمجية, حتى وأثناء كتابته لها فهو يكتب خطوط عريضة وإشارات ويبدأ بتعبئتها شيئا فشيئا.

  • التحسين المستمر: لا يسعى المهندس إلى تسليم العمل الذي يعمل فقط.فدائما ما يجد من ضرورة تحسين العمل أكثر, وربما يطيل الوقت وربما يعيد ما قد فعله من جديد, لأنه غير راضي عن طريقة عملها!
  • التعلم المستمر: بالتأكيد هي حال المهندس دائما, فعندما ينظر إلى ما قام بفعله مسبقا قد يضحك, نظرا لما يعرفه الأن, فهو في تطور دائم, عن وسائل تحسين الآداء والنواحي الفنية.
  • التواصل: التواصل الدائم بمشاركة المعلومة عبر التواصل وجها لوجه, كتابة التقارير, إرسال البريد. وهو ما يجعل العمل الجماعي دائما على إطلاع بأي مشكلة أو تحدي قد يحدث.

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

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

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

أما إن كانت شركة تطور من برمجيات معقدة وتحتاج إلى عمل جماعي, فإن خيار المهندس هو من أفضل الخيارات لديها, لذلك نحن في رزن نبني أنظمة متعلقة بالتجارة الإلكترونية وتطبيقاتها, وتتطلب هذه الأنظمة منظومة لتطويرها, فيغلب على الكادر الطابع الهندسي (58% من الكادر).

دمتم بود, إلى تدوينة أخرى

4 التعليقات

  1. بارك الله فيك من اروع واجمل بل واقوي ماقرأت في هذا الموضوع زادك الله علما وفي ميزان حسناتك ان شاء الله.

أترك رد