Description

Roles & Responsibilities:

Java & Spring Boot Development:

Design, develop, and maintain robust, scalable, and high-performance applications using Java and Spring Boot.

Implement RESTful APIs, microservices, and integrate third-party services and libraries.

Ensure code quality through code reviews, unit testing, and adherence to best practices.

Elasticsearch Integration:

Develop and maintain Elasticsearch indices for handling large-scale data search and analytics.

Optimize Elasticsearch queries and configurations to enhance performance and relevance.

Integrate Elasticsearch with Java/Spring Boot applications to implement advanced search capabilities.

Monitor and manage Elasticsearch clusters for availability and performance.

Artificial Intelligence (AI) Integration:

Collaborate with data scientists to integrate AI and machine learning models into Java applications.

Develop AI-driven features such as predictive analytics, natural language processing, and recommendation systems.

Continuously explore and implement the latest AI technologies to enhance application functionalities.

JUnit with Mockito for Testing:

Develop comprehensive unit and integration tests using JUnit and Mockito.

Ensure high test coverage and code reliability by implementing mock objects and services.

Debug, troubleshoot, and resolve issues found during testing phases.

Automate test cases and integrate them into CI/CD pipelines.

Collaboration & Documentation:

Work closely with product managers, designers, and other developers to deliver high-quality software solutions.

Participate in Agile/Scrum practices, including sprint planning, daily stand-ups, and retrospectives.

Document technical designs, development processes, and deployment procedures.

Continuous Learning & Improvement:

Stay updated with the latest developments in Java, Spring Boot, Elasticsearch, AI, and testing methodologies.

Contribute to the improvement of team processes, tools, and code quality.

Mentor junior developers and provide technical guidance.

Qualifications:

Educational Background:

Bachelor's degree in Computer Science, Information Technology, Engineering, or a related field.

Technical Skills:

Java & Spring Boot:

Proficiency in Java 8+ and Spring Boot.

Strong understanding of Spring Core, Spring Data JPA, and Spring Security.

Experience in microservices architecture and distributed systems.

Elasticsearch:

Hands-on experience with Elasticsearch, including designing indices, querying, and optimization.

Experience with integrating Elasticsearch with Java applications.

Artificial Intelligence:

Basic understanding of AI/ML concepts and experience with AI libraries (e.g., TensorFlow, PyTorch, Scikit-learn).

Experience in integrating AI models into Java applications.

JUnit & Mockito:

Proficiency in writing unit tests using JUnit and mocking dependencies with Mockito.

Experience in test-driven development (TDD) and behavior-driven development (BDD) is a plus.

Database & Cloud:

Experience with relational and NoSQL databases (e.g., MySQL, MongoDB).

Familiarity with cloud platforms (e.g., AWS, Azure) and containerization (e.g., Docker, Kubernetes).

Tools & Frameworks:

Experience with version control (Git), CI/CD pipelines, and DevOps practices.

Soft Skills:

Strong problem-solving and analytical skills.

Excellent communication and teamwork abilities.

Ability to adapt to a fast-paced, dynamic work environment.

Experience:

1 to 4 years of hands-on experience in Java, Spring Boot, Elasticsearch, AI, and JUnit with Mockito.

Proven track record of developing and delivering scalable software solutions.

Certifications (Optional but Preferred):

Certifications in Java, Spring Boot, Elasticsearch, or AI/ML are a plus

Education

Bachelor's degree in Computer Science