آفاق مهنية تتجاوز الكود: 23 مسارًا وظيفيًا بديلاً لمطوري البرمجيات

دقائق القراءة: 18

على مدى السنوات الخمس الماضية، ألقيت عشرات المحاضرات كضيف في العديد من معسكرات التدريب البرمجي (coding bootcamps) في شيكاغو. كانت هناك أسئلة تتكرر دائمًا: "ما هي اللغة التي يجب أن أتعلمها بعد ذلك؟"، "كيف أستعد للمقابلات التقنية؟"، "هل توظفون حاليًا؟". ولكن أحد الأسئلة التي فاجأتني حقًا كان: "ماذا لو لم أرغب في أن أكون مطور برمجيات؟".

لقد فكرت في هذا كثيرًا مؤخرًا. فبعد ما يقرب من عقد من الزمن في قيادة فرق المنتجات والهندسة، أدركت أنني مستعد لتحدٍ جديد. لذا، بدأت هذا الصيف في العمل كـtechnical writer مستقل. لم أكن أعلم ذلك عندما حصلت على أول عميل لي، لكنني سرعان ما أدركت أن الكتابة التقنية هي واحدة من العديد من المسارات الوظيفية الصالحة لمهندسي البرمجيات السابقين.

ما الذي يمكن لمطوري البرمجيات فعله أيضًا؟

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

رسم بياني يوضح مسارات وظيفية بديلة لمطوري البرمجيات

أدوار التفاعل المباشر مع العملاء والمستخدمين

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

1. علاقات المطورين، المناصرة، أو التبشير التقني (Developer Relations, Advocacy, or Evangelism)

مع سعي المزيد من الشركات لبناء علاقات مع المطورين الذين هم عملاؤهم أو مستخدموهم أو مناصروهم، يتنامى مجال علاقات المطورين (Developer Relations) بسرعة. يساعد محترفو علاقات المطورين (تسميهم بعض الشركات Developer Advocates، Developer Evangelists، Community Managers، أو DevRels) في إنشاء وبناء مجتمع حول برمجيات شركتهم. غالبًا ما يشاركون في إنشاء تطبيقات تجريبية، وكتابة منشورات المدونات، والتحدث في المؤتمرات، وإدارة حسابات وسائل التواصل الاجتماعي للشركات التي تركز على التكنولوجيا. توظف العديد من شركات التكنولوجيا الكبرى (مثل Facebook، Google، Amazon) فرقًا من محترفي علاقات المطورين. إذا كنت مهتمًا بهذا المجال، فاقرأ عن عمل Mary Thengvall وPJ Hagerty. إنهما اثنان من المؤثرين المفضلين لدي في هذا المجال، ويقدمان معًا بودكاست Community Pulse.

2. التسويق للمطورين (Developer Marketing)

بينما يوجد بعض التداخل مع علاقات المطورين، فإن التسويق للمطورين (Developer Marketing) يركز بشكل أكبر على الخارج. التسويق للمطورين صعب بشكل خاص لأننا لا نحب أن نُباع لنا، لذا فإن العديد من تكتيكات التسويق الأكثر عدوانية التي تنجح في الأسواق الأخرى تعتبر محظورة هنا. كشخص ذو خلفية تقنية، ستفهم بشكل طبيعي طريقة تفكير المطورين، وستكون لديك مصداقية أكبر مما قد يمتلكه المسوق التقليدي. تصدر SlashData الكثير من المحتوى الرائع حول تسويق المطورين، بما في ذلك كتاب حول هذا الموضوع في عام 2018. إذا كنت ترغب في البدء في هذا المجال، فتعلم التسويق عبر الإنترنت: SEO، وسائل التواصل الاجتماعي، تسويق المحتوى، تسويق المؤثرين، وما إلى ذلك. يمكنك ممارسة العديد من هذه المهارات على مدونتك لإظهار معرفتك قبل التقدم للوظائف.

3. مهندس المبيعات (Sales Engineer)

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

4. مسؤول التوظيف التقني (Technical Recruiter)

مهنة أخرى تحصل على سمعة سيئة بين مهندسي البرمجيات هي التوظيف التقني. لقد قابلت بعض مسؤولي التوظيف التقنيين الصادقين والأصليين (مثل Taylor Dorsett وMatt Hoffman من مدينتي شيكاغو)، لكنني قابلت أيضًا بعض مسؤولي التوظيف السيئين والجاهلين الذين يركزون فقط على تصفية المرشحين لتحقيق حصتهم. الخبر السار هو أنه بخلفية في تطوير البرمجيات، سيكون لديك تعاطف ومصداقية أكبر من العديد من مسؤولي التوظيف التقنيين الآخرين. مثل المبيعات، يتطلب هذا المجال شخصية أكثر انفتاحًا وتركيزًا على العلاقات، ولكنه لا يتطلب شهادات أو دورات متخصصة. لسوء الحظ، العديد من الوظائف للمبتدئين في التوظيف التقني تكون في شركات ذات جودة منخفضة، لذا تأكد من التحقق من سمعتها على Glassdoor قبل التقديم.

أدوار المنتجات

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

5. ضمان الجودة أو مهندس الاختبار (Quality Assurance or Test Engineer)

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

6. محلل الأعمال (Business Analyst)

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

7. مدير المشروع (Project Manager)

مثل محللي الأعمال، يجب على مديري المشاريع (Project Managers) فهم متطلبات العمل والقيود التقنية لمنتجهم. الفرق الرئيسي هو أن مديري المشاريع عادة ما يتعمقون في مشروع واحد. غالبًا ما يحددون المهام والموارد للفرق العاملة على المشروع ويتتبعون تقدم المشروع مع اقترابه من الإطلاق. قد تجمع الشركات الأصغر بين أدوار محلل الأعمال وإدارة المشاريع وScrum Master ومدير المنتج بطرق مختلفة، ولكن الشركات الكبرى قد تحدد مسؤوليات منفصلة. تعد مهارات التنظيم الممتازة، وفهم الأعمال، ومهارات التعامل مع الآخرين أمرًا بالغ الأهمية للنجاح كمدير مشروع. يعتمد هذا الدور على قدرتك على إدارة التوقعات وتحفيز الأشخاص الذين قد يكونون أكثر خبرة منك، لذا عليك بناء الثقة بسرعة. طبيعة هذا الدور متعددة الأوجه تجعله مناسبًا للأشخاص التحليليين والتقنيين الذين لا يرغبون في كتابة الكود بعد الآن.

8. قائد فريق سكروم (Scrum Master)

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

9. مدير المنتج (Product Manager)

رسم بياني يوضح تقاطع الرغبة والجدوى والتطبيق في إدارة المنتج

لقد قضيت الكثير من الوقت في عام 2019 في التعرف على إدارة المنتجات لتحسين عملية تسليم المنتجات لدينا في The Graide Network. ينظر مديرو المنتجات (Product Managers) بشكل شمولي إلى منتجات الشركة لضمان أنها مرغوبة (يريدها العملاء)، ومجدية (لها معنى تجاري)، وممكنة (يمكننا بناؤها). القدرة على التفكير على مستوى عالٍ كهذا نادرة، لذا إذا كنت تمتلكها ولديك بعض الخلفية التقنية، فقد تكون ناجحًا كمدير منتج. قد يبدأ مديرو المنتجات للمبتدئين بأجزاء أصغر من المنتج أو كمديري مشاريع في بعض المؤسسات. يمكن أن يمنحك هذا لمحة عن تطوير المنتجات ويساعدك على بناء علاقات مع جميع أصحاب المصلحة الضروريين قبل أن تُسند إليك إدارة منتجك الخاص.

10. مصمم (Designer)

إذا كنت تأتي من خلفية تصميم أو فنية، فإن أن تصبح مصمم واجهة مستخدم (UI) أو تجربة مستخدم (UX designer) مع بعض مهارات البرمجة (coding chops) هو طريقة رائعة للتميز في مجالك. سيسمح لك هذا المزيج من المهارات بالتحدث بشكل أكثر فعالية مع المهندسين وإنشاء نماذج تفاعلية في HTML/CSS بدلاً من مجرد ملفات صور ثابتة. إذا لم يكن لديك الكثير من الخبرة في التصميم، فخذ دورة، وابدأ في بناء محفظة أعمال. ستوظف العديد من الشركات أشخاصًا بدون شهادة إذا تمكنوا من عرض معرفتهم ومهاراتهم. Dribbble هي منصة المحافظ الأكثر شيوعًا التي رأيتها، ولكن يمكنك أيضًا استخدام موقع الويب الخاص بك.

11. مطور بدون كود أو بكود منخفض (No or Low-Code Developer)

لقد أدى الانفجار في أدوات التطوير بدون كود (no-code) والكود المنخفض (low-code) في السنوات القليلة الماضية إلى فتح فرص للشركات التي ترغب في بناء برمجيات بسرعة دون توظيف فريق تطوير. تسمح لك هذه الأدوات بإنشاء تطبيق جوال أو ويب في ساعات بدلاً من أسابيع، ولأنها تتحسن كل عام، تتبنى المزيد من الشركات تطبيقات no-code. يعد Makerpad وNo Code Jobs مكانين جيدين للبدء في البحث عن هذه الأنواع من الوظائف. نظرًا لأن هذا مجال جديد، ستجد مجموعة واسعة من المهارات المطلوبة ومستويات الأجور، ولكن خلفيتك في كتابة الكود ستثبت بلا شك أنها ميزة.

أدوار الدعم والعمليات

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

12. مسؤول النظام أو مهندس DevOps (Sysadmin or DevOps Engineer)

تمتلك شركات البرمجيات الكبيرة مئات أو آلاف الخوادم التي تحتاج إلى تحديث وصيانة وتدوير على مدار العام. بينما غير التبني الواسع للحوسبة السحابية (cloud computing) هذه الوظيفة من توصيل الخوادم فعليًا إلى العمل مع برامج مثل Terraform وKubernetes، لا يوجد نقص في الوظائف في هذا المجال. تقليديًا، كان مسؤولو الأنظمة (System Administrators) مسؤولين عن صيانة وإدارة الخوادم حسب حاجة الفرق الهندسية. مع نمو المؤسسات وانتقالها إلى الاستضافة السحابية، تبنى العديد منها لقب مهندس DevOps ليعكس زيادة الأتمتة المستخدمة في هذه العملية. في الممارسة العملية، هناك الكثير من التداخل بين هذه الأدوار. في كلتا الحالتين، ستحتاج إلى فهم أساسي لأنظمة التشغيل، ومنصات الاستضافة، وأدوات الأتمتة، وبرمجة bash scripting، وهندسة الأنظمة. قد يكون من الصعب العثور على وظائف للمبتدئين في هذا المجال لأنه يتطلب مجموعة واسعة من المعرفة التقنية، ولكنه دور رائع للانتقال إليه إذا كنت تحب جوانب حل المشكلات في الهندسة دون متطلبات واجهة المستخدم/تجربة المستخدم (UI/UX) التي تتطلبها معظم المنتجات الموجهة للعملاء.

13. مسؤول قاعدة البيانات (Database Administrator)

تجمع بعض الشركات بين مسؤولي قواعد البيانات (database administrators) ومسؤولي الأنظمة، ولكن يمكن أن يكون هذا دورًا مميزًا. يتعامل مسؤولو قواعد البيانات مع الأمان، والتزويد، والتوسع، وتحسين أنظمة تخزين البيانات منخفضة المستوى. ستحتاج إلى معرفة بقواعد بيانات SQL وNoSQL، وأفضل ممارسات الأمان، وبعض مهارات البرمجة الأساسية، ولكنك على الأرجح لن تكتب الكود طوال اليوم. ستقلق أيضًا بشأن مشاكل التحسين الدقيقة جدًا مثل إصلاح الفهارس (indexes) وذاكرات التخزين المؤقت (caches). إذا كنت جديدًا في تطوير البرمجيات، فابدأ بتعلم كل ما يمكنك عن قواعد البيانات. ستحتاج إلى معرفة قاعدة البيانات المناسبة لأي تطبيق وكيفية تحسين كل منها على نطاق واسع، لذا قد يكون من الصعب ممارسة هذا بمفردك. إذا كنت ترغب في العثور على بعض مجموعات البيانات الكبيرة للعمل بها، فراجع Kaggle.

14. مهندس موثوقية الموقع (Site Reliability Engineer)

مهندسو موثوقية الموقع (Site Reliability Engineers) مسؤولون عن الاستجابة وإصلاح المشكلات الحرجة التي تظهر في بيئة الإنتاج. غالبًا ما يعني هذا أنهم يتناوبون في قائمة "تحت الطلب" (on-call)، لذا قد تعمل لساعات غريبة. الجانب الإيجابي هو أنك ستصبح جيدًا جدًا في حل مجموعة واسعة من المشكلات غير العادية، وبناء التنبيهات المؤتمتة، وقراءة سجلات الخادم (server logs). نظرًا للطبيعة شديدة التفاعلية لهذه الوظيفة، قد يكون من الصعب الاحتفاظ بمهندسي البرمجيات ذوي الخبرة في أدوار موثوقية الموقع لفترة طويلة. ومع ذلك، يمكن أن يكون مكانًا رائعًا للدخول إذا كنت تواجه صعوبة في العثور على أول دور لتطوير البرمجيات. لقد عرفت اثنين من خريجي معسكرات التدريب البرمجي الذين بدأوا في أدوار SRE قبل الانتقال إلى تطوير البرمجيات. قد تجد حتى أنك تحب التحدي والإثارة في حل المشكلات بوتيرة سريعة.

15. الدعم الفني أو دعم العملاء (Technical or Customer Support)

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

أدوار التدريس والكتابة

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

شخص يكتب على لوحة مفاتيح، يرمز إلى الكتابة التقنية والتدريس

16. كاتب تقني (Technical Writer)

كان تدريبي الثالث في الكلية ككاتب تقني في شركة ضخمة. كانت كتابة جافة إلى حد ما، لكنني استمتعت بتعلم أشياء جديدة كل يوم. لقد اكتشفت منذ ذلك الحين أن الكتابة التقنية لا تعني فقط التوثيق. يمكنك متابعة التدوين التقني أو كتابة الإعلانات التقنية (copywriting)؛ يمكنك إنشاء وثائق داخلية أو خارجية؛ يمكنك إنشاء تطبيقات تجريبية ودروس تعليمية. إنه أحد أفضل المجالات المدفوعة للكتاب، لذا فهو يستحق النظر. إذا سلكت هذا الطريق، فستحتاج إلى أن تكون جيدًا في الكتابة (بشكل واضح)، وتنظيم الأفكار المعقدة، وتعلم أشياء جديدة. كلما كنت قادرًا على التحرير الذاتي، زادت قيمة عملك، لذا استثمر في الأدوات التي تساعدك على أن تصبح أفضل وأكثر كفاءة. يمكنك البدء بالكتابة لبعض برامج الكتابة المجتمعية المدفوعة (paid community writing programs)، وتحويل تلك الخبرة إلى وظيفة بدوام كامل بينما تبني شبكة وعملًا.

17. معلم (Teacher)

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

18. مدرب (Trainer)

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

أدوار التحليل والبحث

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

19. عالم أو مهندس بيانات (Data Scientist or Engineer)

يتضمن هذان الدوران (تجمعهما بعض الشركات) استخدام مجموعات بيانات كبيرة لمساعدة الأعمال أو عملائها على اتخاذ قرارات أفضل. يعمل مهندسو البيانات (Data Engineers) عادة على خط أنابيب استيعاب وتنظيم البيانات (data ingestion and organization pipeline)، بينما يصمم علماء البيانات (Data Scientists) التجارب والخوارزميات (algorithms) التي تحلل هذه البيانات إلى نتائج مفيدة. علم البيانات (AI، Machine Learning، إلخ) هو مجال ضخم له جذور في الرياضيات وهندسة البرمجيات والإحصاء. توجد دورات تدريبية، ومعسكرات تدريب، ودرجات جامعية لعلم وهندسة البيانات، ولكن قد تتمكن من تعلم بعض الأساسيات بنفسك إذا كانت لديك خلفية رياضية قوية. إذا لم يكن الأمر كذلك، ففكر في مراجعة التحليل العددي، وجبر المصفوفات، والإحصاء أولاً. نظرًا لأن تعلم هذه المهارات يستغرق وقتًا طويلاً وعلماء البيانات مطلوبون بشدة، فإن هذا الدور يدفع جيدًا ومن غير المرجح أن يختفي قريبًا.

20. محلل أمني (Security Analyst)

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

21. البحث والتطوير (R&D)

يمكن أن يكون العمل في البحث والتطوير (Research and Development - R&D) تجربة فريدة لشخص لديه مهارات هندسة البرمجيات. تخصص الشركات الكبيرة مثل Google وAmazon جزءًا من أرباحها لتجارب عالية المخاطر ذات عائد محتمل مرتفع تنفذها فرق البحث والتطوير. قد تشمل هذه الفرق متعددة التخصصات مطوري برمجيات، وعلماء بيانات، ومحللي أعمال، ومديري مشاريع. الدخول إلى فريق بحث وتطوير جيد أمر صعب. تميل هذه الأدوار إلى أن تكون تنافسية وتتطلب معرفة متخصصة للغاية حول موضوعات من المحتمل ألا تتعلمها في معسكر تدريب برمجي. ومع ذلك، توظف بعض الشركات قراصنة أخلاقيين (ethical hackers)، ومؤسسين، أو متعددي اللغات (polyglots) للمساعدة في استكمال الفريق وتقديم بعض التفكير الإبداعي.

الاستقلالية والمرونة: ريادة الأعمال

بينما مهنتنا غالبًا ما تسمح بالعمل عن بعد وأحيانًا حتى الإجازات التفرغية (sabbaticals)، قد ترغب في المزيد من المرونة في حياتك. إذا كانت لديك الرغبة في بدء عملك الخاص، فقد تتمكن من العمل 4 ساعات في الأسبوع، أو قضاء ستة أشهر من العام في السفر، أو قضاء نصف وقتك في العمل على مشاريع مفتوحة المصدر (open source projects). الأمر ليس سهلاً، ولكن كمطور برمجيات، لديك ميزة كبيرة على معظم الناس.

22. مستقل أو استشاري (Freelancer or Consultant)

إحدى طرق الحصول على المزيد من الحرية هي ترك وظيفتك من 9 إلى 5 وتصبح مستقلاً (freelancer). كمستقل، ستؤجر نفسك لعميل واحد أو أكثر يدفعون لك بالساعة لكتابة الكود لهم. غالبًا ما توظف الشركات المستقلين للعمل في مشاريع قصيرة الأجل محددة، أو لتنظيف الديون التقنية (technical debt)، أو لملء الفجوات عندما يأخذ موظف إجازة. المستشارون (Consultants) هم مستقلون رفيعو المستوى يحلون مشاكل محددة لعملائهم. بينما قد يكتبون الكود، غالبًا ما يتم استدعاؤهم بسبب خبرتهم أو خلفيتهم الفريدة. الخط الفاصل بين المستقلين والمستشارين غامض جدًا، لذا لا تبالغ في التركيز على الدلالات. البدء كمستقل أو استشاري هو الجزء الأصعب. إذا لم يكن لديك شبكة واسعة، فمن المحتمل أن تعتمد على منصات مثل Upwork أو Toptal للعثور على عملاء. تأخذ هذه المنصات جزءًا كبيرًا من إيراداتك وتجبرك على التنافس مباشرة مع الكثير من المستقلين الآخرين حول العالم. مع بناء سمعة وقائمة عملاء، ستتمكن من الحصول على المزيد من العمل من خلال الإحالات (referrals). الإحالات رائعة لأن العميل يأتي إليك بناءً على علاقة موثوقة بدلاً من إخفاء هوية الإنترنت. إذا أصبحت جيدًا جدًا في العمل الحر أو الاستشارات، يمكنك رفع سعرك بما يكفي لتتمكن من أخذ بعض الوقت بين كل مهمة.

23. مؤسس شركة ناشئة (Startup Founder)

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

الخلاصة التقنية

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

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

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *