Job Description: Java Developer – Kafka & Elasticsearch
We are looking for an experienced Java Developer with strong expertise in Java, Apache Kafka, and Elasticsearch to design, develop, and maintain scalable, high-performance applications. The ideal candidate should have experience building microservices, implementing event-driven architectures, and working with distributed systems.
Key Responsibilities
- Design, develop, test, and maintain scalable backend applications using Java.
- Build and maintain microservices and RESTful APIs.
- Implement event-driven architectures using Apache Kafka for real-time data streaming and asynchronous communication.
- Develop and optimize Elasticsearch queries, indexes, and search capabilities for efficient data retrieval.
- Integrate Kafka and Elasticsearch with Java-based applications.
- Troubleshoot performance issues and ensure application reliability and scalability.
- Collaborate with cross-functional teams to understand requirements and deliver technical solutions.
- Write clean, maintainable, and well-tested code following development best practices.
- Participate in code reviews, debugging, and production issue resolution.
Required Skills
- Strong hands-on experience in Core Java and Java/J2EE.
- Experience with Spring Boot and microservices architecture.
- Strong knowledge of Apache Kafka, including topics, partitions, producers, consumers, and event streaming.
- Hands-on experience with Elasticsearch, including indexing, querying, mappings, and performance optimization.
- Experience developing and integrating RESTful APIs.
- Knowledge of SQL and/or NoSQL databases.
- Familiarity with Git, Maven/Gradle, and CI/CD pipelines.
- Strong problem-solving and debugging skills.
Preferred Skills
- Experience with distributed systems and event-driven architecture.
- Knowledge of Kafka Streams or Kafka Connect.
- Experience with Elasticsearch aggregations, analyzers, and index optimization.
- Familiarity with Docker, Kubernetes, and cloud platforms.
- Understanding of application monitoring, logging, and performance tuning.
Ideal Candidate Profile
- Strong backend development experience with Java.
- Practical experience working with Kafka and Elasticsearch in production environments.
- Ability to independently develop, troubleshoot, and optimize scalable applications.
- Good communication and collaboration skills.