Job Description: Java Microservices Developer
Job Responsibilities
- Designing, developing, and maintaining high-performance, scalable microservices using Java 17 and the Spring Boot framework.
- Building reactive and non-blocking applications using Spring WebFlux to handle high-concurrency workloads efficiently.
- Developing and consuming RESTful APIs, following industry best practices and ensuring proper documentation.
- Implementing event-driven architecture using IBM MQ and Apache Kafka for seamless asynchronous communication between services.
- Collaborating with cross-functional teams, including frontend developers, architects, and product owners, to deliver end-to-end solutions.
- Writing clean, maintainable, and well-documented code while adhering to coding standards and best practices. Participating in code reviews, providing constructive feedback, and ensuring code quality across the team.
- Troubleshooting production issues, performing root cause analysis, and implementing effective fixes.
- Contributing to continuous improvement initiatives by identifying opportunities for optimization and automation.
Skill Matrix
Mandatory Skills
1. Java 17
- Expert-level understanding of Java 17 features, including records, sealed classes, pattern matching, and enhanced switch expressions.
2. Spring Boot
- Strong hands-on experience in building production-grade applications using Spring Boot.
3. Spring WebFlux
- Proficiency in developing reactive, non-blocking applications using Spring WebFlux and Project Reactor.
4. REST APIs
- Expertise in designing, developing, and securing RESTful APIs, with proper versioning and error handling.
5. Microservices
- Solid experience in microservices architecture, including service discovery, API gateways, circuit breakers, and distributed tracing.
6. IBM MQ
- Hands-on experience with IBM MQ for enterprise messaging and integration.
7. Apache Kafka
- Strong knowledge of Kafka for building event-driven systems, including producers, consumers, and stream processing.
Good-to-Have Skills
1. MongoDB
- Experience with MongoDB for NoSQL database design, queries, and aggregation pipelines.
2. AWS Cloud
- Familiarity with AWS services such as EC2, S3, Lambda, ECS, and RDS.
3. OpenShift
- Experience deploying and managing applications on OpenShift or similar container platforms.
4. Kubernetes
- Knowledge of Kubernetes for container orchestration, deployments, and scaling.
5. Helm
- Experience with Helm charts for Kubernetes application packaging and deployment.
6. Harness
- Familiarity with Harness for continuous delivery and deployment automation.
7. Git & Bitbucket
- Proficiency in version control using Git and collaboration via Bitbucket.
8. JIRA
- Experience using JIRA for Agile project management and issue tracking.
9. Gradle
- Hands-on experience with Gradle for build automation and dependency management.
10. Lightspeed
- Familiarity with Lightspeed for development acceleration.
11. Kibana
- Experience with Kibana for log visualization, monitoring, and troubleshooting.