Job Summary
We are seeking an experienced Senior Java Developer to design, develop, and support enterprise-grade microservices for digital banking and enterprise applications. The ideal candidate will have strong expertise in Java 17/21, Spring Boot 3.x, RESTful APIs, Microservices Architecture, Oracle Database, CI/CD, and containerized deployments.
The role involves end-to-end ownership of application components, including solution design, development, testing, deployment, production support, and performance optimization while working in Agile delivery teams.
Key Responsibilities
Software Design & Development
- Design, develop, and maintain enterprise-grade Java applications.
- Build scalable, secure, and high-performance microservices.
- Design RESTful APIs and service contracts.
- Implement business logic using Spring Boot 3.x.
- Develop reusable, maintainable, and production-ready code.
- Ensure coding standards and best practices are followed.
Microservices Development
- Design microservice architecture.
- Define service boundaries.
- Develop inter-service communication mechanisms.
- Implement resilience, fault tolerance, and error handling.
- Develop API endpoints and service integrations.
- Implement observability, logging, and monitoring.
Database Development
- Develop applications using Oracle Database.
- Design and optimize SQL queries.
- Implement data persistence using Spring Data JPA.
- Develop JPA Specifications.
- Perform SQL performance tuning.
- Optimize database access and transactions.
API Development
- Design and develop REST APIs.
- Define API contracts.
- Integrate with internal and external systems.
- Support API versioning and lifecycle management.
- Ensure API security and performance.
Testing & Quality Assurance
- Develop Unit Tests using JUnit 5.
- Write Mockito-based test cases.
- Develop Integration Tests.
- Achieve required code coverage.
- Perform defect analysis and bug fixing.
- Support User Acceptance Testing (UAT).
CI/CD & DevOps
- Manage source code using Git.
- Support CI/CD pipelines.
- Build applications using Maven.
- Manage Maven multi-module projects.
- Deploy applications to:
- Kubernetes
- OpenShift
- Microsoft Azure
- Support automated deployments.
Production Support
- Investigate production incidents.
- Debug application, integration, and database issues.
- Support release management.
- Perform root cause analysis.
- Ensure application stability and availability.
Code Quality & Documentation
- Participate in peer code reviews.
- Maintain technical documentation.
- Document APIs and services.
- Ensure compliance with development standards.
- Maintain governed dependency management.
Collaboration
- Work closely with:
- Solution Architects
- Business Analysts
- QA Engineers
- DevOps Engineers
- Product Owners
- Infrastructure Teams
- Participate in Agile ceremonies.
- Support sprint planning and backlog refinement.
Education
- Bachelor's Degree in:
- Computer Science
- Information Technology
- Software Engineering
- Computer Engineering
- Or equivalent qualification
Required Experience
- Minimum 9+ years of Java development experience.
- Strong hands-on experience with Java 17/21 (Java 25 exposure is an advantage).
- Experience building enterprise microservices.
- Experience in Agile software delivery.
- Experience supporting enterprise production environments.