Java Spring Boot AWS Kafka (6 years To 12 years)
Tata Consultancy Services · Bengaluru, Karnataka, India
Free to search · AI fit score against your CV · tailor your résumé in one click
Tata Consultancy Services · Bengaluru, Karnataka, India
Responsibilities: • Design, develop, and maintain high-performance, scalable, and resilient microservices using Java and Spring Boot. • Implement and optimize event-driven architectures utilizing Apache Kafka for real-time data streaming and asynchronous communication. • Develop Kafka producers and consumers for efficient message handling, including partitioning, consumer group management, and error handling. • Design and implement RESTful APIs for seamless communication between microservices. • Collaborate with cross-functional teams (front-end developers, QA, DevOps) to ensure successful integration and deployment of microservices. • Containerize microservices using Docker and orchestrate deployments in platforms like Kubernetes (e.g., EKS). • Implement and maintain CI/CD pipelines for automated builds, tests, and deployments. • Monitor and optimize the performance, resource utilization, and reliability of microservices and Kafka components. • Troubleshoot and resolve issues related to microservices, Kafka pipelines, and associated infrastructure. • Ensure adherence to best practices in coding, testing (unit, integration), and design patterns. • Create and maintain comprehensive technical documentation for microservices, Kafka configurations, and architectural designs. Required Experience: • Proven experience in Java development, with a strong focus on Spring Boot and microservices architecture. • Hands-on experience with Apache Kafka, including developing producers, consumers, and understanding its ecosystem. • Experience with building and consuming RESTful APIs. • Familiarity with containerization technologies like Docker and orchestration tools like Kubernetes. • Experience with cloud platforms mainly in AWS is preferred. • Knowledge of database technologies (SQL and NoSQL). • Understanding of software development methodologies (Agile/Scrum). • Strong analytical and problem-solving skills. • Excellent communication and collaboration abilities. • Ability to work independently and manage multiple tasks in a fast-paced environment.