Position: Senior Java Developer IRC123994
Company: GlobalLogic
Experience required: 3y
English level: intermediate

Must Have:
Microservices, Java, Gradle, Spring, Spring Boot, Docker
Nice to Have:
OpenShift, Apache Kafka, Kubernetes

Description:
Internationally leading Fintech company and independent provider for the financial industry to both develop and operate its own software. Headquartered in Switzerland with highly qualified domain and IT specialists and has a global customer base of more than hundred financial institutions.

With its core and digital banking software, and its international network of BPO centers, the Client brings trustworthy and efficient banking to the world, delivered through great user experience.

Requirements:
- Experience in software development and design for more than 4 years;
- Excellent knowledge and experience in Java (more than 3 years);
- Good knowledge in Computer Science and Computing Theory:
- Paradigm & Principles (e.g. OOP, SOLID, DDD);
- Architectural, Distributed and Design Patterns;
- Database theory (RDBMS, NoSQL);
- Code testing practices;
- Security patterns;
- Understanding of orchestration and containerisation (Kubernetes);
- Understanding of network interactions, protocols, conventions (REST);
- Commercial experience with:
- Back-End REST API development;
- Web application frameworks, Testing frameworks, ORM (more than 2 years);
- RDBMS (especially PostgreSQL, Oracle) (more than 2 years);
- NoSQL (e.g. MongoDB);
- Messaging systems (Apache Kafka);
- Key-value storages (e.g. Redis);
- Version control systems (GIT);
- Cloud computing platforms (especially OpenShift);
- Docker;
- Continuous Integration tools (e.g. Jenkins, Gitlab Pipeline, TeamCity, Bamboo);
- Build automation tools (Gradle);
- Experience with:
- Creation design of applications, platforms, microservices solutions;
- Troubleshooting, profiling and debugging of applications;
- Different delivery methodologies (e.g. SCRUM, Agile, Kanban);
- Code Review process;
- Refactoring;
- Upper-Intermediate English;

Responsibilities:
- Taking part in the decision-making process in design architecture, solution development, architectural and code review;
- Back-end development and implementation components according to modern software development technologies stack (cloud-based platform, microservice architecture, distributed systems, etc.);
- Proactive position in solution development, processes improvements;
- Design and implement a set of various types of tests (unit, integration, functional, etc);
- Working in an international distributed team;
- Communicate with PM, PO, other engineers, architects, QA and other colleagues and stakeholders;
- Participation on delivering the product roadmap, plannings, creation of estimations;
- To use high coding standards, development best practices and write highly testable and performant code.