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