The Java Elasticsearch Developer will work every day with the following technologies: JAVA, Git, SQL Server, Micro-services, ElasticSearch, Docker, Kubernetes, TFS as CI/CD platform, JavaScript framework like Knockout.js, Vue.js, React or Angular, SonarQube and Artifactory. He or she will be part of a Scrum team and participate in short (2 weeks) iterations.
The main tasks are:
- Contributing to the improvement of the development, write clear and high quality code.
- Design and develop production grade, enterprise level systems that make extensive use of messaging and microservices.
- Communicate in a clean, concise way, not only to peers but also to upper management layers when needed.
- Participate in the Java implementation of applications and micro-services involving integration with search engines, being able to write backend code in a reliable, fast, scalable, and secure way, satisfying requirements and service level agreements.
- Write OAUTH authentication mechanisms.
- Implement validation mechanisms as unit and integration tests.
- Assistance with deployment and configuration of the system.
- Setup CI/CD pipelines in Kubernetes/Docker.
- Estimate the work to be done upon request.
- Write technical documentation.
- Account for secure coding practices, as well as logging and auditing features.
Requirements
- Bachelor Degree in IT or related field with more than 6 years of professional experience in Java Software Development.
- Good knowledge of application development environments like Eclipse or Intellij and Maven and Git.
- Good knowledge of Elasticsearch enterprise search engine, including at least 1 year of professional experience developing Java applications querying and indexing data in an Elasticsearch search index.
- Good knowledge in Enterprise Integration methodologies and patterns.
- Good knowledge of the design and development of components like REST APIs, integrations, micro-services, Proficiency in using REST based frameworks like Spring MVC as well accessories tools like Postman.
- Good knowledge of relational databases Microsoft SQL.
- Good knowledge of Agile software development methodologies: Scrum and Kanban.
- Good knowledge of OOP paradigms and SOLID principles using Java and experience with most common Java frameworks, Spring and SpringBoot.
- Fluent English at a level B2 or higher.