يصمم مهندس البرمجيات الأول ويطور وينفِّذ ويدعم حلول برمجية آمنة وقابلة للتوسع وذات جودة عالية تتيح منتجات البنك الرقمية وخدماته التقنية. يقود تنفيذ مبادرات برمجية معقدة، ويؤسس أفضل ممارسات الهندسة، ويضمن التميز التشغيلي، ويتعاون مع فرق متعددة الوظائف لتقديم حلول تقنية موثوقة وقابلة للصيانة عالية الأداء. يعزز مهندس البرمجيات الأول التميز الهندسي من خلال دفع جودة البرمجيات، والأتمتة، والابتكار الفني، وممارسات التطوير الآمن، والتحسين المستمر مع توجيه المهندسين والمساهمة في مبادرات التحول التكنولوجي للبنك. المسؤوليات الأساسية: يرشد ويدرب مهندسي البرمجيات من خلال التوجيه الفني، وتبادل المعرفة، ومراجعات التصميم، والتنمية المهنية المستمرة. يحقق التحسين المستمر من خلال تحديد الفرص لتحسين بنية البرمجيات وعمليات التطوير والأتمتة والكفاءة التشغيلية وممارسات التكنولوجيا. يحافظ على الوثائق الفنية، ومعايير التطوير، وإجراءات التشغيل، ومخازن المعرفة لدعم إدارة دورة حياة التطبيق المستدامة. يضمن الامتثال لسياسات تكنولوجيا البنك، ومعايير أمن المعلومات، والمتطلبات التنظيمية، وأطر حوكمة هندسة البرمجيات. يؤدي أي واجبات أخرى تتسق مع نطاق الدور كما يحددها مدير الخط.
الملف المرغوب فيه للمرشح
درجة البكالوريوس في علوم الحاسوب، هندسة البرمجيات، تكنولوجيا المعلومات، أو تخصص ذي صلة. قد يُنظر في خبرة عملية معادلة. الحد الأدنى 6 سنوات من الخبرة المهنية في هندسة البرمجيات، بما في ذلك خبرة في تصميم وتطوير ودعم تطبيقات وخدمات من الطراز الإنتاجي. خبرة مثبتة في تقديم حلول برمجية مؤسسية قابلة للتوسع عبر دورة حياة التطوير البرمجي كاملة. خبرة قوية مع أحد أو أكثر من لغات البرمجة الحديثة مثل بايثون، جافا، غو، تايب سكريبت، دارت، أو تقنيات مشابهة. خبرة في تطوير ودعم واجهات برمجة التطبيقات RESTful، والميكروسيرفيسز، والتطبيقات الموزعة، وبنية البرمجيات الحديثة. خبرة في قواعد البيانات العلائقية، ونمذجة البيانات، وتكامل API، وتحسين أداء التطبيق، وتطوير التطبيقات السحابية الأصلية. خبرة مع خطوط أنابيب CI/CD، وممارسات DevOps، وتقنيات الحاويات، والبنية التحتية كرمز IaC، ومنصات السحابة مثل OCI وAWS وAzure وGoogle Cloud. معرفة بممارسات هندسة البرمجيات الأفضل بما في ذلك التحكم في الإصدار، والاختبار الآلي، والبرمجة الآمنة، ومراجعة الشيفرة، وإدارة الإصدارات. يُفضل وجود خبرة في تطوير أو دعم حلول الذكاء الاصطناعي، والتعلم الآلي، أو الأتمتة الذكية."
The Senior Software Engineer designs, develops, implements, and supports secure, scalable, and high-quality software solutions that enable the Bank's digital products and technology services. He/She leads the delivery of complex software initiatives, establishes engineering best practices, ensures operational excellence, and collaborates with cross-functional teams to deliver reliable, maintainable, and high-performing technology solutions.The Senior Software Engineer promotes engineering excellence by driving software quality, automation, technical innovation, secure development practices, and continuous improvement while mentoring engineers and contributing to the Bank's technology transformation initiatives. Key Accountabilities: Mentors and coaches software engineers through technical guidance, knowledge sharing, design reviews, and continuous professional development. Drives continuous improvement by identifying opportunities to optimize software architecture, development processes, automation, operational efficiency, and technology practices. Maintains technical documentation, development standards, operational procedures, and knowledge repositories to support sustainable application lifecycle management. Ensures compliance with the Bank's technology policies, information security standards, regulatory requirements, and software engineering governance frameworks. Performs any other responsibilities consistent with the scope of the role, as assigned by the line manager.
Desired Candidate Profile
Bachelor's degree in Computer Science, Software Engineering, Information Technology, or a related discipline. Equivalent practical experience may be considered. Minimum of 6 years of professional software engineering experience, including experience designing, developing, and supporting production-grade applications and services. Demonstrated experience delivering scalable enterprise software solutions across the full software development lifecycle. Strong experience with one or more modern programming languages such as Python, Java, Go, TypeScript, Dart, or similar technologies. Experience developing and supporting RESTful APIs, microservices, distributed applications, and modern software architecture. Experience with relational databases, data modelling, API integration, application performance optimization, and cloud-native application development. Experience with CI/CD pipelines, DevOps practices, containerization technologies, Infrastructure as Code (IaC), and cloud platforms such as OCI, AWS, Azure, or Google Cloud. Knowledge of software engineering best practices including version control, automated testing, secure coding, code reviews, and release management. Experience developing or supporting Artificial Intelligence, machine learning, or intelligent automation solutions is preferred.