Responsibilities
Develop and maintain scalable backend applications using Java and Spring Boot within distributed and microservices-based environments.
Design and integrate RESTful services and enterprise APIs for business-critical applications.
Develop batch-processing solutions using Spring Batch for high-volume and scheduled workloads.
Implement API integration and management capabilities using WSO2 API Manager.
Develop application components using enterprise integration and messaging technologies such as Apache Camel and RabbitMQ.
Build and maintain data-access components across relational and NoSQL database environments, including DB2, MySQL, Oracle, MongoDB, and Redis.
Containerize and deploy Java applications using Docker and Kubernetes.
Implement automated build, testing, and deployment workflows using Jenkins and CI/CD pipelines.
Implement application quality and code-analysis practices using SonarQube.
Support centralized application logging, monitoring, and troubleshooting using ELK Stack and distributed tracing tools such as Zipkin.
Develop automated unit and integration tests using JUnit and Mockito and participate in code reviews and technical design activities.
Requirements
Minimum 8+ years of strong hands-on experience in Java and Spring Boot with enterprise application development.
Proven experience developing microservices and REST APIs for distributed applications.
Hands-on experience with Spring Batch for batch-oriented application processing.
Practical experience with WSO2 API Manager or comparable API management platforms.
Experience with Apache Camel and/or enterprise messaging technologies such as RabbitMQ.
Strong database experience with DB2 and relational SQL databases, with exposure to NoSQL technologies such as MongoDB or Redis.
Hands-on experience with Docker and Kubernetes for containerized application deployment.
Strong experience with Jenkins and CI/CD automation.
Practical experience using ELK Stack for application logging, monitoring, and troubleshooting.
Experience with Zipkin or comparable distributed tracing technology.
Hands-on experience with JUnit and Mockito for automated testing.
Experience with SonarQube for static code analysis and software quality practices.
Experience in enterprise integration, distributed systems, API-based architecture, and application performance.
Experience working with Linux-based application environments and Agile development practices.