Position: Expert Java Developer
Company: Ciklum
Category: Java
Experience required: 5y
English level: upper

**Description**
Modulr is one of the UKs leading fintech scale-ups and the #2 fastest growing technology company in the UK, according to D&amp;B. 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.

Modulr is a vibrant FinTech scale-up who are rethinking business payments. We automate payment flows, embed payments within business platforms, and enable customers to build new payment products and services giving them a modern alternative to traditional banks. Our customers use a simple RESTful API which has processed over 70 million transactions with a value of over £60 billion to date.

We have attracted over £38 million in investment funding including £10m from Banking and Competition Remedies fund as well as venture capital from several firms including PayPal Ventures. Modulr was ranked 18th on LinkedIn’s 2019 Top Start-ups List in UK and we have won multiple awards and listing including Emerging Payments and FinTech50.

We have 9 teams in product and technology who deliver work in an Agile fashion. We use a mix of Agile methods and we don’t favour a particular one; we’d rather be open- minded and honest with what works for us. We prefer self-organising teams who work together to maximise the value we create.

**Responsibilities**
‣ Lead and improve the decision-making process in design solution architecture, solution development, architecture and code review;
‣ 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 7 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;
◦ Deployment 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 (ideally experience with Java 11) (more than 5 years);
‣ Practical commercial experience with:
◦ REST API development;
◦ Web application frameworks (e.g. Spring Boot Framework) (more than 4 years);
◦ Testing frameworks (e.g.e.g. JUnit, PowerMock, WiresMock) (more than 4 years);
◦ Java related Open Source technologies, such as Spring and Hibernate;
◦ RDBMS (e.g MySQL/MariaDB, PostgreSQL, Oracle) (more than 4 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 of micro-services using SpringBoot or similar;
◦ Strong understanding of OOP and design patterns;
◦ Experience of building a high-performance services-based platform;

Experience with:
◦ Leading Team;
◦ 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 is a must. ;

**Desirable**
‣ Certifications on:
◦ Java;
◦ Spring Frameworks;
◦ Cloud computing platforms (AWS, GCP, Microsoft Azure);
‣ Understanding of orchestration and containerisation (e.g. Kubernetes, Swarm);
‣ Knowledge in Deployment patterns;
‣ Practical commercial experience with:
◦ Serverless architecture;
◦ Provisioning tools (e.g. Terraform, Ansible);
◦ Quality tools (e.g. SonarQube).

**Personal skills**
‣ Supervise individuals and teams, and work under general direction within a clear framework of accountability. Lead, support and monitor progress against agreed quality and performance criteria. Facilitate effective working relationships between team members;
‣ Perform a broad range of complex technical or professional activities, in a variety of contexts. Investigate, define and resolve complex issues.
‣ Drive distributed cross-functional teams. Influence customers and team members on the project level.
‣ Contribute to project team composition planning, conduct interviews. Facilitate selection, assessment and onboarding processes, and Ciklumers’ allocation on projects.
‣ Communicate fluently, and can present complex information to both technical and non-technical audiences.
‣ Identify, proactively rise and manage risks (resolutions, corrective actions and lessons learned).

**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.