We are seeking for a Backend Java Developer who is proficient in working with Kafka, Spring WebFlux, and GraphQL. This role requires a balance of skills in these key areas.
Key Responsibilities:
• Develop and maintain backend services using Java with Spring Boot (2.7 or higher), incorporating robust security practices with Spring Security (5.x preferred). Understanding of Oauth and JWT is a plus.
• Design and implement APIs using GraphQL to optimize data retrieval and manipulation in a flexible, efficient manner.
• Understanding of reactive programming techniques and ability to utilize Spring WebFlux for building non-blocking, reactive applications and enhancing system responsiveness and resilience.
• Manage Kafka-based event-driven architectures, including event streaming, topic creation, configuration, and Spring Boot integration with Kafka.
• Hands-on experience creating custom Kafka producers and consumers using Java and Spring Boot for effective message processing and handling.
• Gain familiarity with Confluent Cloud to enhance our Kafka implementation (preferred).
• Strong understanding of implementing and maintaining data management solutions with MyBatis, JDBC, and SQL.
• Efficiently deploy applications on Tomcat, ensuring high availability and performance.
• Use Maven for dependency management and Docker for containerization of applications.
• Proficient in Docker and Kubernetes for container orchestration and application scaling.
• Adhere to test-driven development practices to ensure code quality and maintainability.
• Experience in developing CI pipelines using GitLab CI and managing deployments with Helm is preferred.
Qualifications:
• 3-5 years of experience in backend development, specifically with Java, Kafka, Spring WebFlux, and GraphQL.
• Bachelor’s degree in Computer Science, Engineering, or a related field.
• Strong understanding of reactive programming concepts and their application in Spring WebFlux.
• Proven experience in designing and implementing GraphQL APIs.
• Excellent problem-solving skills and the ability to work independently or as part of a team.
• Strong communication and collaboration skills.