Position: Senior Java Developer
Company: Ciklum
Category: Java
Experience required: 3y
English level: upper

We are a leading global product engineering and digital services company that unites 4000+ seasoned professionals globally on various projects in healthcare, fintech, travel, sportswear, entertainment, and security. Ciklum delivers high-impact technology solutions to Fortune 500 and fast-growing organizations worldwide. 
About the role:
As a Senior Java Developer, become a part of a cross-functional development team working for Santander.
PagoNxt helps people and businesses prosper by delivering the best-in-class innovative payment solutions to our customers.
Our technologies, solutions, and teams help our clients solve all their daily payment needs in a broad range of services, including merchant, international trade, or peer-to-peer payments.
With headquarters in Madrid and a team of 1,400 payment experts worldwide, PagoNxt delivers its value proposition to more than 1,1 million merchants and 300k international SMEs and corporates worldwide.
More than 170 years of banking experience and 145 million clients worldwide support PagoNxt as the backbone of the payments strategy of Banco Santander.
Because we are all about Payments because we are the Next generation.

Responsibilities
Back-end development to meet customer’s business needs and implement components according to modern software development environment (cloud-based platforms, microservice architecture, etc.)
Taking part in the decision-making process in design application architecture, solution development, architecture and code review
Develop and review feature design documents and provide inputs/update to specifications for the solution
Design and implement a set of various types of tests (unit, integration, functional, etc)
Proactive position in solution development, processes improvements
Working in an international distributed team in an Agile environment
Communicate with PMs, engineers, Architects, QA and other colleagues and stakeholders
Delivering the product roadmap and plannings
To use high coding standards, software best practices and write highly testable, automatable and performant code over the whole SDLC
Requirements
Experience in software development for more than  5 years
Excellent knowledge in Computer Science, Computing Theory:
Paradigm & Principles (OOP, SOLID, DDD, TDD, BDD)
Database theory (RDBMS, NoSQL)
Code testing practices
Algorithms
Data structures
Architectural, Enterprise and Design Patterns
Security patterns, Reverse engineering resistance, Common attacks types (OWASP)
Understanding of network interactions:
protocols
conventions (e.g. REST, RPC)
authentication and authorization flows
standards and practices (e.g. oAuth, JWT)
Excellent knowledge and experience in Java (more than 3 years)
Practical commercial experience with:
REST API development
Web application frameworks (e.g. Spring Boot Framework) (more than 2 years)
OAuth 2 (more that 3 years)
Testing frameworks (e.g.e.g. JUnit, PowerMock, WiresMock) (more than 2 years)
ORM (e.g. Hibernate) (more than 2 years)
Integration (Apache Camel)
RDBMS (e.g MySQL/MariaDB, PostgreSQL, Oracle) (more than 2 years)
Key-value storages (e.g. Redis, Memcached)
Messaging systems (e.g. RabbitMQ, Apache Kafka, Active MQ, AWS SQS, Azure Service Bus, Google Pub/Sub)
Web Servers
Version control systems (GIT)
Cloud computing platforms (e.g. AWS, Google Cloud Platform, Microsoft Azure)
Docker
Continuous Integration tools (e.g. Gitlab Pipeline, Jenkins, TeamCity, Bamboo)
Builders
Experience with:
Troubleshooting, profiling and debugging applications
Creation software architecture and design of complex applications, platforms, microservices solutions
Agile software processes and technologies
Code Review process
Refactoring process
Fluent or Upper-Intermediate English
Desirable
Certifications on:
Java
Spring Frameworks
Cloud computing platforms (AWS, GCP, Microsoft Azure)
Kubernetes
Kafka
Understanding of orchestration and containerisation (e.g. Kubernetes, Swarm)
Knowledge in Deployment patterns
Practical commercial experience with:
Serverless architecture
Integration with 3rd party solutions
NoSQL (e.g. MongoDB, ElasticSearch, CouchDB)
Experience with Search Engines (e.g. ElasticSearch, Azure Search, Apache Solr)
Provisioning tools (e.g. Terraform, Ansible)
Quality tools (e.g. SonarQube)
What's in it for you
Career growth opportunities
Realization of your innovative ideas in building new Ciklum Solutions and Services
Friendly collaborative teams and enjoyable working environment
Professional skills development and training programs
Variety of knowledge sharing, training and self-development opportunities
State of the art, cool, centrally located offices with a warm atmosphere which creates really good working conditions