Senior Java Developer - Banking
- Full-time
Job Description
We are currently looking for Sr. Java Developer for our Bahrain operations with the following skillsets & terms and conditions:
Academic Qualification
Bachelor’s Degree in Computer Science / Engineering or related field
Experience required:
Years of Experience 7 - 10 years
- 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.
Domain: Banking