Job Description:
Analyze and understand software requirements, provide feedback, and translates the requirements into development tasks. Participates in System Architecture and / or Design activities. Creates and / or participates in creating Architecture and / or Design Documents Writing clean code, testable code, review and refactor code and analyzing data Produce Maintainable, Scalable code for high performance and secured applications. Conducts Unit Testing Conducts Code Reviews for Self and / or others Capable of troubleshooting and conducting root-cause analysis for issues and incidents. Resolves Incidents and Fixes Bugs in SWCapable of supporting legacy applications and code produced by others. Participates in SW Deployments and Supporting Deployment Issues in Collaboration with Other teams as needed. Capable of self-organizing and prioritizing tasks and duties
Qualifications:
A Bachelor’s degree in Computer Science, Information Technology, Engineering or a related discipline. Maximum 8 years of experience in a similar field including at least 2 years as a lead. Ability to work both independently and in a team-oriented, collaborative environment is essential. Demonstrated knowledge of multiple Agile frameworks and broad experience with Software Development Lifecycle (SDLC) for integrated systems. Strong understanding of Object-oriented principles and programming Understanding of fundamental design principles for building a scalable application Ensure the best possible performance, quality, and responsiveness of applications Understanding of Design patterns and various Architecture methodologies Knowledge of HTTP Protocol, REST, XML, J2EE, Java Script, Microservices, AJAX a plus, Dev Ops Tools and CICD, GIT, Jira Ticket Tracking, Unit Testing Knowledge in JEE, Spring MVC, Spring Boot, Spring Security, Maven, Angular JS, Jasper Reports, PLSQL. Knowledge in Domain Driven Design.
وصف الوظيفة:
تحليل وفهم متطلبات البرمجيات، وتقديم الملاحظات، وترجمة المتطلبات إلى مهام تطوير. المشاركة في أنشطة هندسة و/أو تصميم الأنظمة. إنشاء و/أو المشاركة في إنشاء وثائق الهندسة و/أو التصميم. كتابة كود نظيف وقابل للاختبار، ومراجعة الكود وإعادة هيكلته، وتحليل البيانات. إنتاج كود قابل للصيانة والتوسع للتطبيقات عالية الأداء والآمنة. إجراء اختبارات الوحدة (Unit Testing). إجراء مراجعات الكود لنفسك و/أو للآخرين. القدرة على استكشاف الأخطاء وإصلاحها وإجراء تحليل السبب الجذري للمشكلات والحوادث. حل الحوادث وإصلاح الأخطاء في البرمجيات. القدرة على دعم التطبيقات القديمة والأكواد التي أنتجها الآخرون. المشاركة في عمليات نشر البرمجيات ودعم مشكلات النشر بالتعاون مع الفرق الأخرى عند الحاجة. القدرة على التنظيم الذاتي وترتيب أولويات المهام والواجبات.
المؤهلات:
درجة البكالوريوس في علوم الكمبيوتر، أو تكنولوجيا المعلومات، أو الهندسة، أو تخصص ذي صلة. خبرة لا تزيد عن 8 سنوات في مجال مماثل، بما في ذلك سنتين على الأقل كقائد فريق. القدرة على العمل بشكل مستقل وضمن بيئة جماعية تعاونية أمر أساسي. معرفة مثبتة بأطر عمل Agile المتعددة وخبرة واسعة في دورة حياة تطوير البرمجيات (SDLC) للأنظمة المتكاملة. فهم قوي لمبادئ البرمجة كائنية التوجه (OOP). فهم مبادئ التصميم الأساسية لبناء تطبيق قابل للتوسع. ضمان أفضل أداء وجودة واستجابة ممكنة للتطبيقات. فهم أنماط التصميم ومنهجيات الهندسة المختلفة. معرفة ببروتوكول HTTP، REST، XML، J2EE، Java Script، Microservices، AJAX تعتبر ميزة إضافية، أدوات Dev Ops و CICD، GIT، تتبع التذاكر عبر Jira، اختبارات الوحدة (Unit Testing). معرفة بـ JEE، Spring MVC، Spring Boot، Spring Security، Maven، Angular JS، Jasper Reports، PLSQL. معرفة بالتصميم القائم على النطاق (Domain Driven Design).