The posting
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
- 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.



