Job Description
Roles & Responsibilities
We are currently looking for Sr. Java Developer for our Bahrain operations with the following skillsets & terms and conditions:
Knowledge of API Management.
Knowledge of Java (Java 8/11/14), OOP principles, SOLID/DRY.
Knowledge of Java Concurrency & Multithreading.
Knowledge of Microservices.
Knowledge of Spring Framework + Spring Boot + Micro-Services development with JPA.
Ability to design and implement RESTful APIs.
Knowledge of message queuing systems (e.g., IBM MQ, Kafka).
Knowledge of HTTP/HTTPS protocol, web servers, relational database design and SQL scripting (MySQL).
Knowledge of NoSQL technologies (MongoDB).
Knowledge of UI technologies (HTML5, Thyme leaf/JSP, JSF, Prime faces, CSS, JavaScript, jQuery).
Knowledge of Security & Identity protocols (OpenID, TLS, OAuth, SAML, SSO, PKI encryption & key management).
Knowledge Testing, debugging, follow best practice in (Git) Version Control System.
Knowledge of DevOps.
Must have Banking / Financial Services experience.
Job Responsibility
Design, develop, and maintain Java (8/11/14) applications using OOP and clean-code practices (SOLID/DRY).
Build and enhance backend services using Spring Framework/Spring Boot, ensuring high performance and scalability.
Develop, expose, and consume RESTful APIs (JSON) and support SOAP/WSDL/XML integrations when required.
Implement microservices architecture using JPA/Hibernate, including service communication and API lifecycle management.
Design and optimize data models; write efficient SQL and manage relational databases (e.g., MySQL) and NoSQL (MongoDB).
Apply concurrency and multithreading to improve throughput, reliability, and overall system responsiveness.
Implement security and identity standards including OAuth2/OpenID Connect, SAML/SSO, TLS, and PKI concepts
Troubleshoot production issues, handle multiple support cases in parallel, and perform root-cause analysis.
Develop and execute testing/debugging activities, ensuring code quality and adherence to engineering best practices.
Use Git for version control and support CI/CD/DevOps practices, preferably using Azure DevOps pipelines and boards.
Collaborate with cross-functional teams to gather integration requirements.
Document integration flows, technical specifications, and support procedures.
Desired Candidate Profile
Academic Qualification Bachelor s Degree in Computer Science / Engineering or related field
Experience required: Years of Experience 7 - 10 years
وصف الوظيفة
الأدوار والمسؤوليات
نحن حاليًا نبحث عن مطور جافا أول لعملياتنا في البحرين بالمهارات والشروط التالية:
معرفة إدارة واجهات برمجة التطبيقات (API).
معرفة بجافا (Java 8/11/14)، مبادئ البرمجة الكائنية، SOLID/DRY.
معرفة التزامن والخيوط المتعددة في جافا.
معرفة الخدمات المصغرة (Microservices).
معرفة إطار عمل Spring + Spring Boot وتطوير الخدمات المصغرة مع JPA.
القدرة على تصميم وتنفيذ واجهات RESTful APIs.
معرفة أنظمة قائمة الانتظار للرسائل (مثل IBM MQ وKafka).
معرفة بروتوكول HTTP/HTTPS وخوادم الويب وتصميم قواعد البيانات العلائقية وبرمجة SQL (MySQL).
معرفة تقنيات NoSQL (MongoDB).
معرفة تقنيات الواجهة الخلفية (HTML5، Thymeleaf/JSP، JSF، PrimeFaces، CSS، JavaScript، jQuery).
معرفة بروتوكولات الأمن والهوية (OpenID، TLS، OAuth، SAML، SSO، تشفير PKI وإدارة المفاتيح).
معرفة الاختبار وتصحيح الأخطاء واتباع أفضل الممارسات في نظام التحكم في الإصدارات (Git).
معرفة DevOps.
يفضل وجود خبرة في القطاع المصرفي / الخدمات المالية.
المسؤوليات الوظيفية
تصميم وتطوير وصيانة تطبيقات جافا (8/11/14) باستخدام ممارسات OOP ونظافة الشفرة (SOLID/DRY).
بناء وتحسين الخدمات الخلفية باستخدام Spring Framework/Spring Boot، مع ضمان الأداء العالي والقابلية للتوسع.
تطوير، عرض، واستهلاك واجهات RESTful APIs (JSON) ودعم تكامل SOAP/WSDL/XML عند الحاجة.
تنفيذ بنية الخدمات المصغرة باستخدام JPA/Hibernate، بما في ذلك اتصال الخدمات وإدارة دورة حياة API.
تصميم وتحسين نماذج البيانات؛ كتابة SQL فعال وإدارة قواعد البيانات العلائقية (مثل MySQL) وNoSQL (MongoDB).
تطبيق التزامن والخيوط المتعددة لتحسين الإنتاجية والموثوقية واستجابة النظام بشكل عام.
تنفيذ معايير الأمن والهوية بما في ذلك OAuth2/OpenID Connect، SAML/SSO، TLS، ومفاهيم PKI.
استكشاف أخطاء الإنتاج، معالجة حالات دعم متعددة بالتوازي، وإجراء تحليل السبب الجذري.
تطوير وتنفيذ أنشطة الاختبار/التصحيح، وضمان جودة الشفرة والالتزام بممارسات الهندسة الجيدة.
استخدام Git للتحكم في الإصدارات ودعم ممارسات CI/CD/DevOps، ويفضل استخدام Azure DevOps pipelines وboards.
التعاون مع فرق متعددة الوظائف لجمع متطلبات الدمج.
توثيق تدفقات الدمج، والمواصفات التقنية، وإجراءات الدعم.
المرشح المثالي
المؤهل الأكاديمي درجة البكالوريوس في علوم الحاسوب / الهندسة أو مجال ذي صلة
الخبرة المطلوبة: سنوات الخبرة 7 - 10 سنوات