Position: Middle Java Developer for Ciklum Digital
Company: Ciklum
Category: Java
Experience required: 3y
English level: intermediate

**Description**
On behalf of **Ciklum Digital**, we are looking for a **Middle Java Developer** to join our team on a full-time basis.

You will join a highly motivated team and will be working on a modern solution for our client. We are looking for technology experts who want to make an impact on new business by applying best practices and taking ownership.

Our client is one of the UKs leading fintech scale-ups. We are looking for a number of software engineers to join our rapidly expanding technology team. You will be part of a scaling business in a high-quality team that is working on new products and features while solving interesting technical challenges. In this role you will work in a cross-functional co-located team who are asked to solve a problem, rather than handed a task to do. This is an excellent opportunity to work in a high-growth environment with a fast-paced and collaborative culture where you will have access to the latest technologies.

Our client is a payments business providing API-based solutions for commercial and wholesale customers. Client’s customers include neobanks, crypto platforms, travel companies and payroll/accountancy software providers. Businesses no longer tolerate the slow and costly infrastructure provided by legacy institutions – with client’s services, businesses can eliminate historic hidden inefficiencies and build fast-to-market products on top of our award-winning

**Responsibilities**
Back-end development to meet customer’s business needs and implement components according to modern software development environment
Taking part in the decision-making process in application code design, solution development, 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 3 years
Strong knowledge in Computer Science, Computing Theory:
Paradigm & Principles (OOP, SOLID)
Database theory (RDBMS)
Code testing practices
Algorithms
Data structures
Design Patterns
Understanding of network interactions:
protocols
conventions (e.g. REST, RPC)
authentication and authorization flows
standards and practices (e.g. oAuth, JWT)
Strong knowledge and experience in Java  (ideally experience with Java 11)  (more than 2 years)
Practical commercial experience with:
REST API development
Web application frameworks (e.g. Spring Boot Framework) (more than 1 years)
Testing frameworks (e.g.e.g. JUnit, PowerMock, WiresMock) (more than 1 years)
Java related Open Source technologies, such as Spring and Hibernate
RDBMS (e.g MySQL/MariaDB, PostgreSQL, Oracle) (more than 1 years)
Web Servers
Version control systems (GIT)
Docker
Continuous Integration tools (e.g. Gitlab Pipeline, Jenkins, TeamCity, Bamboo)
Builders
Experience of micro-services using SpringBoot or similar
Understanding of OOP and design patterns
Experience with:
Agile software processes and technologies
Code Review process
Refactoring process
Upper-Intermediate English

**Desirable**
Knowledge in:
TDD, BDD
Architectural, Enterprise Patterns
Security patterns, Common attacks types (OWASP)
Deployment patterns
Experience with:
Troubleshooting, profiling and debugging applications
Microservices
Practical commercial experience with:
Key-value storages (e.g. Redis, Memcached)
Messaging systems (e.g. RabbitMQ, Apache Kafka, Active MQ, AWS SQS, Azure Service Bus, Google Pub/Sub)
Cloud solutions (e.g. AWS, Google Cloud Platform, Microsoft Azure)
Serverless architecture
Integration with 3rd party solutions
NoSQL (e.g. MongoDB, ElasticSearch, CouchDB)
Search Engines (e.g. ElasticSearch, Azure Search, Apache Solr)
Quality tools (e.g. SonarQube)
Experience of building a high-performance services-based platform

**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 an 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