Position: Java developer (with Lithuanian language)
Company: Recruit-Alliance IT
Experience required: 5y
Category: Java
English level: upper
Published: 2023-03-01T00:00:00+02:00

﻿Person should know Lithuanian language ﻿but can be in any European country
Job Description
Technical Stack
Netflix Zuul
For request routing, authentication, internal balancing, sometimes minimal integrations using the proxy method
Spring Cloud Netflix Eureka
Microservices registration, registry
Spring Boot Applications
Implementation of integration logic by microservices architecture.
Apache Pulsar Distributed Messaging and Streaming Platform
Integrated messaging system
PostgreSQL
Keeping the state of integrations
Gitlab
CI/CD
Oracle AQ
Data soure/dest interface
Grafana, prometheus
Monitoring, alarming solutions
Description:
New Integrations from system A to B through EIMS.
It is necessary to implement agreed integration templates, to be able to implement source/dest integration points: we read Oracle AQ, put it in Apache Pulsar along the way, performing validation, mapping, error handling actions.
Integration must realize resiliency templates: transient error handling, redelivery with delay, etc. (already implemented, for example).
Modification and completion of existing integrations (as the first point, only modification of existing ones).
Add monitoring and alarming Grafana solutions for certain integrations according to the expressed need. Additional R&D may be required, although the requirements themselves are not complex. For example: according to a certain integration, count the amount of logged ERROR and send an email if it is exceeded.
Improvement of Apache Pulsar Administration UI tool according to expressed needs. The only case where front-end knowledge is required, but the tool is internal.
A good understanding of Apache Pulsar technology is required.
Seniority level:
In order to work smoothly, the programmer must:
Know or quickly understand enterprise integration templates, solution design patterns.
Have experience in implementing microservices arch solutions.
Have experience with message brokers, data transmission patterns: p2p, fan out (a.k.a. broadcast).
Have experience in writing unit tests, quality code (the EIMS team uses SonarQube)
Be able to implement solutions according to the provided data contract level arch. documentation.
Technical stack: 
1) JAVA 11 (After Spring boot 3 is released, we will upgrade to 17)
2) Spring Boot 2.x / Gradle 7.x
3) Spock framework for tests
4) Apache Pulsar message broker. The cluster is built.
5) Grafana
6) Prometheus
7) ELK (open distro)
 Spring Framework, Spring Reactive is used.