Position: Senior Java Developer
Company: Diceus
Category: Java
Experience required: 5y

About the project:

New mobile App for PI customers. We are developing a new banking mobile application for Android / iOS / Huawei. Our main aim is creating excellent user experiences to make our app interactive, intuitive, and user-friendly with using most common technologies and approaches.

Requirements:
• 5+ years of experience in Java (ver.8+ required; ideally, the most recent version)
• Deep understanding of microservices architectural principles
• Deep practical experience with Spring Boot (MVC, REST, Data, Security, messaging)
• Redis inside microservice layer
• Understanding of CI/CD practices and types of quality gates
• Hands-on experience with unit/integration/API testing for microservices
• Practical experience for various environments with:
— K8s cluster: Docker (+ registry); Prometheus, Grafana; EFK stack: ElasticSearch, FluentD, Kibana; Jaeger; Redis as a microservices’ sidecar; Helm; Node exporter; Kafka exporter; Postgresql exporter; Docker image for openjdk; Calico; Ingress Nginx Controller for Kubernetes); PostgreSQL with Patroni (HA);
Kafka cluster (manager) — CI/CD server (Jenkins, Gitlab, Nexus, SonarQube); Infrastructure provisioning (TerraForm, Terragrunt);
— Components Orchestration (Ansible); OS (Redhat, Centos); Security (Hashicorp Vault)
— Other FWs (Swagger, SpringBoot, etc.)
• Hands-on experience with Kafka and Kafka Streams
• Knowledge of different communication protocols (REST, gRPC, events, messaging)
• Hands-on experience with Docker containerization for different environments
• Hands-on experience with CDC, transactional & high loaded financial\payment systems & payments processing
• Practical experience with ORD (object-oriented design) & ORM (object relational mapping), TDD
• Be familiar with ’The Twelve-Factor App’ principles with perfect usage of Agile Practices, Jira • Taking full responsibility for the results of own work

Nice to have:
•  API design and documentation skills
• Traefik / Ngnix practical knowledge and experience
• Practical experience with backend for frontend (especially mobile app) with topics such as API versioning and monitoring
• Experience with JWT tokens and user sessions
• Ability to describe and document architectural/design decisions
• Practical experience with NoSQL databases
• Oracle SQL
• Flagr

Responsibilities:

Senior Java Engineer who can communicate and collaborate with the teammates on the Bank’s side to achieve success. Ideally, we’re looking forward a technology professional & enthusiast who desires working with banking technologies through adapters / facades development, enjoys expanding the knowledge and share it with others. We need an individual who is good at problem-solving, is an active team player, has good time-management skills, able to perform tasks under pressure of time looking for new challenges.

We offer:
•  Remote work or comfortable office (Kyiv, blvd. Vatslava Havela, 4)
• Flexible work schedule;
• Equipment for work;
• Paid vacation (18 business days) and Statutory Holidays;
• Paid sick leaves (10 business days);
• Non-paid days-off (10 business days);
• Professional growth and developement opportunities;
• Free English lessons.