المسار المهني للمبرمج

تكمن الحقيقة المؤلمة التي لا يرغب العديد من المبرمجين في مواجهتها في كون العديد من وظائف البرمجة لديها ذروة يليها انحدار حتمي. وفي النهاية، سيكون من الصعب عليك كمبرمج العثور على وظيفة والبقاء فيها

المسار المهني للمبرمج

المسار المهني للمبرمج

يعلم الجميع أنَّ المبرمجين يمكن أن يتحولوا في النهاية إلى مديرين أو قادة؛ لكنَّ العديد منهم لا يفهمون التوقعات والمتطلبات الوظيفية التي تؤهلم ليكونوا مديرين؛ فنحن جميعاً نعمل تحت إمرة مدراء، ولكن ماذا يعني أن تكون مديراً؟ وما الذي يُنتظر من المدير القيام به؟ وما الفارق بين مدير على مستوى الإدارة الوسطى وكبير الإداريين؟

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

ملحوظة: تتوقف العديد من المهن الرائعة عند درجات مختلفة من السلم الوظيفي، ليبقى الموظف فيها إلى أن يتقاعد؛ كما أنَّ بعض المهن تتخطى درجات هذا السلم، لكنَّ الأدوار الإدارية والقيادية قد لا تناسب الجميع، وقد تجد أنَّ شغفك بالإدارة قد يتغير على مر السنين؛ ففي العشرينات من عمرك، قد تكره فكرة أن تصبح مديراً، لكنَّك في الأربعينيات من عمرك قد تكره فكرة كتابة المزيد من الأكواد البرمجية؛ لذا من الصعب التنبؤ بهذا، لكن ومع ذلك، من الجيد دائماً معرفة وفهم الخيارات التي قد تتاح أمامك، والعواقب التي قد تترتب على كلِّ خيارٍ منها.

السلم الوظيفي للعمل في مجال البرمجة

مطور برمجيات مبتدئ:

  • 0-3 سنوات خبرة (عادة فور التخرج من الجامعة مباشرة).
  • يمكنه كتابة نصوص برمجية بسيطة.
  • يتمتع بفهم أولي للدورة الكاملة لحياة التطبيق.
  • يتمتع بفهم أولي لقواعد البيانات وخدمات التطبيق (الأرتال “Queues”، التخزين المؤقت في الذاكرة المخبئية “Caching”، إلخ).
  • قد لا يتقن العمل على كل جزء من تطبيق معقد.

عندما تبدأ العمل في وظيفة في مجال البرمجة، قد يكون الأمر مخيفاً ومحبطاً؛ ففي بعض الأيام تشعر أنَّك لا تمتلك الخبرة والمهارة اللازمة، ولا تعرف بالضبط الكيفية التي يمكن بها لأيِّ شخص كتابة تطبيقات ضخمة ومعقدة؛ ثم في أيام أخرى، تجد نفسكَ تتساءل لماذا لم تتم ترقيتك لتصبح مطوراً محترفاً؟ وتنظر إلى كبار المطورين الآخرين وتعتقد أنَّك تقوم بالعمل نفسه الذي يقومون به.

لكنَّ السمة التي تميِّز المطور المبتدئ عن غيره هي نقص الخبرة؛ فحتى أذكى المطورين المبتدئين وأسرعهم تعلماً لم يكتبوا ما يكفي من الأكواد البرمجية، أو يتعاملوا مع أخطاء برمجية – غير متوقعة – بما يكفي للتمتع بالخبرة التي يتمتع بها مطور محترف. 

وفي مصطلحات البرمجة، يُعرف أحد أشكال الخبرة بنماذج تصميم البرامج “Software Design Patterns”P ورغم أنَّه يمكنك قراءة كتب تتحدث عن هذه النماذج، إلا أنَّه سيتعيَّن عليك في حياتك المهنية كتابة ما يكفي من الأكواد البرمجية السيئة – التي تجعل أي برنامج تعمل عليه يفشل – لكي تتمكن من فهم قيمة نماذج تصميم البرامج فهماً صحيحاً ومعمَّقاً.

مطور برمجيات محترف:

  • 4-10 سنوات خبرة.
  • يمكنه كتابة تطبيقات معقدة.
  • يتمتع بفهم معمَّق للدورة الكاملة لحياة التطبيق.
  • يتمتع بمعرفة معمَّقة لقواعد البيانات وخدمات التطبيق. 
  • يتقن العمل على كل جزء من تطبيق معقد.

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

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

مهندس برمجيات
مهندس برمجيات

مطور برمجيات رئيسي أو مهندس برمجيات:

  • 7-10 سنوات خبرة.
  • نفس المهارات الأساسية كمطور محترف.
  • المطور الرئيسي: دور وظيفي انتقالي إلى مدير على مستوى الإدارة الوسطى.
  • مهندس البرمجيات: دور وظيفي تقني غير انتقالي.

إذا أيقنتَ أنَّ الإدارة لا تمثل شغفك بعد أكثر من 7 سنوات من البرمجة، فإنَّ كونك مهندساً برمجياً هو أعلى درجة متبقية في السلم الوظيفي التقني؛ إذ يقوم المهندسون البرمجيون أحياناً بكتابة الأكواد البرمجية، لكن في أغلب الأحيان يصممون أنظمة معقدة يتم تنفيذها بواسطة فرق من كبار المطورين وصغارهم. 

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

في حين يكون المطور الرئيسي مطوراً محترفاً يبحث عنه كبار المطورين وصغارهم للحصول على التوجيه والإرشاد اللازم. ورغم أنَّ المطورين الرئيسيين لا يقومون عادةً بتوظيف أو تسريح المبرمجين؛ إلا أنَّهم يقومون بالكثير من الأعمال التي تتشابه مع عملِ المديرين؛ إذ إنَّهم ينسقون ما يجب القيام به من عمل، ويكونون صناع قرار في أثناء عمل المبرمجين على كتابة الأكواد البرمجية.

مدير على مستوى الإدارة الوسطى:

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

الإدارة هي الدرجة التي تلي درجة هندسة البرمجيات في السلم الوظيفي. 

توجد محاور مختلفة للإدارة؛ فإذا كنت تحب تتبع مسارات العمل “Workstream”، وكنت مهووساً بالتفاصيل؛ فإنَّ إدارة المشاريع تعدُّ مجال عملك الصحيح. أما إذا كنت مهووساً بالمميزات والتحسينات التي تجرى على المنتجات، فإنَّ كونك مديراً للمنتج يعد أمراً مناسباً لك.

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

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

إنَّه عمل شاق ومضنٍ، وغالباً ما يكون بغيضاً.

كبير القادة:

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

يكمن الفارق الواضح بين مدير على مستوى الإدارة الوسطى وكبير القادة في أنَّ كبار القادة يكونون مسؤولين عن المديرين من مستوى الإدارة الوسطى. ومع ذلك، لا يحتاج المديرون غالباً إلى أن يُداروا؛ بل إلى أن تتم قيادتهم؛ إذ يحتاج المديرون من المستوى المتوسط إلى معرفة التوجيهات عالية المستوى التي يحتاجونها في القيادة، لا أن تُملى عليهم توجيهات تفصيلية.

وتتمثل مهمة كبار القادة في اتخاذ قرارات عالية المستوى، وإلهام القوى العاملة لديهم بحيث يكونون مؤيدين لتلك القرارات، ويؤمنوا بالمهمة الملقاة على عاتقهم.

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

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

إنَّها مهمة صعبة جداً ومضنية ومحفوفة بالمخاطر، وكبار القادة لا يولدون وجينات القيادة تسري في عروقهم، بل يكتسبونها اكتساباً؛ إذ يتطلب الأمر كثيراً من الممارسة ليجيد المرء ذلك. 

في الختام

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

المصدر

Shares

مسارات مهنية ذات صلة

تعلم إطار عمل فلاتر Flutter مثل المحترفين

ما مدى أهمية الدور الذي يلعبه تخصصك الجامعي في مسيرتك المهنية؟

تطوير الأعمال الدليل النهائي

error: Content is protected !!
We use cookies to improve your experience on our website. By browsing this website, you agree to our use of cookies.

تسجيل الدخول

إنشاء حساب

كلمة سر منسية