About the Role
The software engineer will be responsible for developing and maintaining search and data processing systems using Elastic, Spring Framework, Kafka, and event-driven processing.
Key responsibilities include optimizing and scaling search and data processing infrastructure to handle growing data volumes and user requests, collaborating with cross-functional teams to define, design, and ship new features, following best practices for data indexing, search optimization, and data integrity, monitoring system performance, troubleshooting issues, and ensuring high availability and reliability.
The ideal candidate will have a strong proficiency in Java and experience with Java batch processing, hands-on experience with Kafka and distributed messaging systems, solid understanding of data structures, algorithms, and software design principles, experience with cloud platforms and infrastructure (e.g., AWS, GCP, Azure), experience with CI/CD pipelines, containerization (Docker, Kubernetes, PCF, AKS), and microservices architecture.
Qualifications
* Bachelor's or master's degree in computer science, engineering, or a related field.
* 5+ years of professional software engineering experience.
* Proven experience with Elasticsearch and other search technologies.
* Strong proficiency in Java and experience with Java batch processing.
* Hands-on experience with Kafka and distributed messaging systems.
* Solid understanding of data structures, algorithms, and software design principles.
* Experience with cloud platforms and infrastructure (e.g., AWS, GCP, Azure).
* Experience with CI/CD pipelines, containerization (Docker, Kubernetes, PCF, AKS), and microservices architecture.