الدليل النهائي لتصبح مهندس برمجيات

تعد هندسة البرمجيات أيضًا منطقة عالية الطلب ، حيث تُظهر بحث من اتحاد التوظيف والتوظيف أن مهندسي البرمجيات والمبرمجين هم من بين أكثر المهنيين المرغوبين في المملكة المتحدة ، إلى جانب المحامين والمحامين والمحاسبين القانونيين.
لذا ، كيف يمكنك الدخول في هندسة البرمجيات ، وما هي المهارات والقدرات التي تحتاجها ، وما نوع المهنة التي قد تنتظرها؟
كيف أدخل؟
يعد الطريق المعتاد لتصبح مهندس برمجيات شهادة في علوم الكمبيوتر أو الهندسة الكهربائية أو تكنولوجيا المعلومات حيث ستتعلم ترميز وتصميم تطبيقات البرمجيات قبل دور في الصناعة. الدرجات الأخرى التي نراها عادة والتي مناسبة تمامًا هي الرياضيات والفيزياء بسبب الطبيعة التحليلية للغاية للموضوعات.
ومع ذلك ، تتغير الأوقات-وهناك الكثير من الطرق البديلة إلى جانب المسار التقليدي الذي تقوده الدرجة التقليدية. في الواقع ، هذا جزء من اتجاه أوسع عبر صناعة التكنولوجيا. ال Harvey Nash 2024 Global Tech Talent and Salary Report وجدت أن نصف المتخصصين في التكنولوجيا فقط لديهم شهادة أو مؤهل على مستوى الجامعة-مع اقتحام الباقي الصناعة من خلال مزيج من الطرق بما في ذلك التلمذة الصناعية والتدريب على الصناعة وغيرها من المخططات. على سبيل المثال ، أصبحت Bootcamps أكثر شعبية. هذه دورات قصيرة مكثفة والتي عادة ما تستمر من 8 إلى 16 أسبوعًا وتكثيف تعلم المهارات التي تحتاجها للحصول على وظيفة هندسة البرمجيات في جدول زمني متسارع. كن على علم على الرغم من أن الدورات التدريبية تأتي بتكلفة ، وعادة ما تسير في الآلاف. ابحث عن تلك التي تتضمن وعد مساعدتك في العثور على وظيفة.
وفي الوقت نفسه ، يتم تعليم بعض الأشخاص ذاتيًا ، وربما يتصدرونه من خلال أخذ دورة غير مكلفة نسبيًا على منصات مثل Udemy. ومع ذلك ، هذا هو إلى حد بعيد أصغر مجموعة في الصناعة حيث يصعب تأمين هذا الدور الأولي.
ما هي الأدوار الفعلية الموجودة؟
يقدم البرمجيات مجموعة متنوعة من المهن المصممة خصيصًا للمهارات والاهتمامات المتنوعة. سترى مجموعة متنوعة من المصطلحات لأدوار البرامج – مبرمج البرمجيات أو المبرمج ، ومهندس البرمجيات ، ومطور البرمجيات ، وأكثر من ذلك. في كثير من الأحيان ، تكون هذه الأدوار قابلة للتبديل إلى حد ما ، وهي مجرد الشركات المختلفة تمنحهم أسماء مختلفة. ومع ذلك ، يمكن أن تكون هناك اختلافات في التركيز على ما يفعلونه. عادةً ما يركز مبرمج البرمجيات أو المبرمج على كتابة التعليمات البرمجية فعليًا بينما قد يكون للمطور تحويل أوسع مسؤول عن التطبيقات والأنظمة بما في ذلك التصميم. من المحتمل أن يكون لمهندس البرمجيات ، محولًا كاملًا لدورة الحياة ، مع التركيز على تصميم حلول برامج كاملة وصيانتها.
من المحتمل أيضًا أن ترى مجموعة متنوعة من أسماء الأدوار الأكثر تحديداً بما في ذلك مطور الواجهة الأمامية/الويب ، والمهندس الخلفي ، ومطور الكامل ، ومهندس المحمول ، وغيرها الكثير.
ماذا عن الذكاء الاصطناعي؟
كما هو الحال مع كل شيء آخر يتعلق بالتكنولوجيا ، من المؤكد أن الذكاء الاصطناعي له تأثير. ومع ذلك ، من المحتمل أن يكون محترفو البرمجيات على منحنى الذكاء الاصطناعي لفترة أطول من أي شخص آخر تقريبًا – لقد أصبح جزءًا من كيفية توصيل العمل. يمكن أن تكون الذكاء الاصطناعى التوليدي أداة مساعدة قوية للمبرمجين والمطورين ، ومساعدتهم على كتابة التعليمات البرمجية ، واختبارها ، والتحقق من الأخطاء (وإصلاحها). إنه يسرع العملية ، ويستخدم بشكل صحيح ، يساعد على تحقيق مخرجات عالية الجودة. ومع ذلك ، لا يزال هناك بعض التحذيرات. في مجال الذكاء الاصطناعى الجديد الذي لا يزال جديدًا ، يرتب عدد قليل جدًا من مطوري التطبيقات بأنفسهم كخبراء يظهر هذا البحث. هناك نقص في التوحيد حول عملية تطوير الذكاء الاصطناعي. من المؤكد أن هناك حاجة إلى نظرة عامة على نظرة عامة على الإنسان – لا يمكنك فقط تعيين الذكاء الاصطناعي للعمل وتركها في ذلك. من خلال الهندسة المطالبة الصحيحة ، يمكن لـ AI التوليدي الحصول على مطور جيد على الطريق ، لكننا لسنا في المسرح حتى الآن حيث يمكن لمنظمة العفو الدولية تنفيذ المهمة بأكملها من طرف إلى طرف.
بالنسبة للسؤال ، لذلك ، “هل أحتاج إلى مهارات قوية من الذكاء الاصطناعى لتكون مطور برامج؟” ، الجواب هو أنه في معظم الحالات ليس من المتطلبات الصعبة – ولكنه بالتأكيد يساعد ومن المحتمل أن يصبح متوقعًا بشكل متزايد. يعتمد الكثير أيضًا على لغة البرمجيات التي تتخصص فيها. اللغات الأحدث والأكثر تقدماً مثل Python و Enport-Off مثل Rust و Go بشكل طبيعي تربط مع الذكاء الاصطناعي والتعلم الآلي ، وبالتالي فإن مهارات الذكاء الاصطناعي أكثر أهمية هنا.
ما هي لغات الترميز والمهارات التقنية المطلوبة؟
حاليًا ، نرى أن Python هو أكثر مجموعة مهارات الطلب ، تليها عن كثب Java و JavaScript. نعتقد أن الكثير من الشركات تختار Python لمشاريع أحدث لأنه من السهل التعلم والعمل معها ، وتوافق مع الذكاء الاصطناعي ، وهو متعدد الاستخدامات للغاية. نرى أيضًا الشركات تبحث بانتظام عن مطوري الكامل لمواقعهم ، مما يعني أن المرشحين يحتاجون إلى خبرة في كل من لغات البرمجة الأمامية والخلفية. يعد استخدام مبادئ DevOps أيضًا مجموعة من المهارات التي أصبحت أمرًا ضروريًا لمطوري المستوى الأعلى ، مع استخدام أدوات الحاويات مثل Docker أو Kubernetes الأكثر شعبية. تعتبر Cloud Engineering مهارة أخرى يتم طلبها على أساس منتظم ، مع كون Azure أكثر منصة حالية شعبية تليها AWS و Google Cloud Platform (GCP).
ما هي المهارات والسمات الأخرى التي سأحتاجها؟
بصرف النظر عن القدرة التقنية القوية ، والتي ستبحث عنها معظم الشركات كنقطة انطلاق ، فإن عدد من المهارات الأكثر ليونة تساعد حقًا أيضًا. يتمتع مهندس برمجيات جيد باهتمام كبير بالتفاصيل (لأن الدقة مهمة حقًا) مع القدرة على العمل منطقيًا ومنهجيًا. القدرة على حل المشكلات هي المفتاح ، في حين أن سلسلة صحية من الإبداع ليست شيئًا سيئًا إما لكي تفكر في طريقك حول مشكلة والتوصل إلى حل مبتكر.
غالبًا ما تكون الصورة النمطية لمبرمج شخصًا جالسًا في زاوية مع سماعات رأسه ، وتمتصها في عالمهم. ومع ذلك ، عادة ما تكون المهارات الشخصية الجيدة مهمة حقًا – حيث ستحتاج إلى فهم وترجمة المتطلبات من مستخدمي الأعمال ، وكذلك إجراء مناقشات حول تصميم واستخدام ما ستقوم ببناءه بالفعل من منظور أعمال أوسع.
ستحتاج أيضًا إلى العمل كجزء من فريق هندسي ، وخاصة في بداية حياتك المهنية ، فإن طرح الكثير من الأسئلة أمر أساسي. ستكون القدرة على التعلم من كبار المهندسين والتكيف أثناء التنقل أمرًا حيويًا في النمو إلى مهندس برمجيات أفضل. في بعض الشركات ، تتبنى فرق البرمجيات نهج “برمجة الزوج” حيث يعمل مطور كبير وصغار للمساعدة في هذا التطور – فهي غالبًا ما تتحول بين كونها المبرمج والمراجع ، مما يساعد مطور المبتدئين على التعلم ويجلب أيضًا زوجًا ثانيًا من العيون إلى ناتج المطور الأول. يُنظر إليه عمومًا على أنه نموذج تعليمي وتطوير جيد.
كم سأربح – وماذا عن المقاول الدائم مقابل المقاول؟
هندسة البرمجيات مدفوعة جيدًا ، والتي تضيف إلى جاذبيتها كمهنة. ومع ذلك ، يمكن أن تختلف الرواتب بشكل كبير اعتمادًا على الخبرة والموقع والتخصص. عادةً ما توفر وظائف مستوى الدخول من 30،000 جنيه إسترليني إلى 35000 جنيه إسترليني سنويًا ، في حين يمكن للمهنيين ذوي الخبرة الحصول على 60،000 جنيه إسترليني إلى 90،000 جنيه إسترليني. قد تتجاوز الأدوار العليا ، وخاصة في لندن وغيرها من المراكز الرئيسية ، 100000 جنيه إسترليني سنويًا بسبب وجود الشركات الكبرى ذات الميزانيات الأكبر. تميل قطاعات مثل الخدمات المالية والألعاب إلى دفع أعلى الرواتب والأسعار.
ثم هناك التعاقد – والتي ستدفع بالفعل أكثر من دور دائم. قد يبدو الأمر غير بديهي للبعض ، ولكن في بعض التخصصات ، يكون الطريق الأولي في العمل المؤقت أو العقود بهدف تأمين في نهاية المطاف موقفًا دائم ، في البرمجيات بالنسبة للعديد من الأشخاص ، يكون العكس: يمكنك البدء وتبني تجربتك في دور دائم بهدف أن تصبح مقاولًا لاحقًا (ربما بعد 5 إلى 10 سنوات) عندما يمكنك العمل في المشاريع التي تهتم حقًا بأنها تحظى بالقيادة في المعدل. سيكون هناك العديد من المتغيرات هنا ، بما في ذلك طبيعة العمل وطول العقد ، ولكن يمكن أن يتجاوز معدل اليوم لمطور Java 625 جنيهًا إسترلينيًا ، مع أن معدلات في لندن ربما تصل إلى 750 و 800 جنيه إسترليني. قد يطلب بعض المقاولين 1000 جنيه إسترليني في اليوم.
عامل آخر هو ما إذا كان دور المقاول يجلس داخل أو خارج IR35. من المحتمل أن يكون هذا هو موضوع مقال بأكمله في حد ذاته – ولكن إذا تم اعتبار دور ما في ضمن IR35 (بحيث يعتبر المقاول معادلًا للموظف ويخضع للضريبة في المصدر ، على غرار PAYE) ، فقد تدفع الشركة علاوة ربما 20 ٪ لتعبئة معدل المقاول للتعويض. إذا كان الدور خارج IR35 ، فسيكون المعدل أقل قليلاً – توفير أموال صاحب العمل ولكن عادةً ما يكون أكثر جاذبية للمقاول لأنهم لا يخسرون خصم الضرائب في المصدر.
هل سألائم؟
عادة ما تكون فرق هندسة البرمجيات متعددة الثقافات للغاية حيث يأتي المطورون إلى المملكة المتحدة من جميع مجالات العالم بالنظر إلى مدى نضوج المشهد التكنولوجي ، خاصة في لندن. كانت هندسة البرمجيات ككل صناعة تهيمن عليها الذكور ، لكننا رأينا مؤخرًا عدد المرشحات في السوق على أساس سنوي ، وهو أمر مشجع للغاية.
أين ستأخذني؟
جمال هندسة البرمجيات هو أن الأمر متروك حقًا للفرد كيف يطورون حياتهم المهنية. بالنسبة للبعض ، إنهم راضون عن الاستمرار في كتابة التعليمات البرمجية وكونه جزءًا من فريق التطوير. بالنسبة للآخرين ، إنها بداية الرحلة إلى الرتب-تحمل المزيد من المسؤولية عن الفريق والإداري ، وتصبح رئيسًا للهندسة أو ربما الانتقال إلى مجالات مجاورة مثل الأمن السيبراني أو البيانات ، وحتى في النهاية ، تولى دور التكنولوجيا C-suite مثل CDO أو CTO أو CIO. بمجرد أن تذهب ، كل شيء أن تلعب من أجله.
إيمانويل ساككي مستشار كبير ، ومورغان فوكس ، المستشار الرئيسي في هارفي ناش