Position: Back-end Software Engineer
Company: Raiffeisen Bank
Category: Java
Experience required: 3y
English level: intermediate

**You will join a project My Raif**
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.

**We will support you professionally and personally:**
• You will work in a large international company that provides possibilities for professional and personal growth
• Involvement into challenging, large-scale and diverse projects which have impact on our customers
• Become a part of a highly professional and successful team with an international company culture
• Stability and a social package that includes 28 days of paid vacation, medical insurance, official employment
• Wellbeing activities: free online workouts, yoga, psychological sessions, free library
• Work-life balance
• Great corporate events and Team building activities
• Competitive salary and bonuses for your efforts and contribution

**Preferred qualifications:**
• 3+ years of experience in Java (ver.11+ 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

**Would be a big plus**
• 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

**Your responsibilities:**
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.

**Our team on social media:**
www.facebook.com/raiffeisencareer
www.instagram.com/raiffeisencareer