Position: Middle Java Developer
Company: Ciklum
Experience required: 2y
English level: intermediate

**Project description:**
Key directions are invention of new games, betting, fintech and software solutions. The company with HQs in Malaga and London develops scalable products that reach hundreds of thousands of users daily. The key area of java/javascript team is to develop, update and support high-load services which umbrella the key company products. The services are payment, customer profiles, accounts etc.

**Responsibilities**
 Back-end development to meet customer’s business needs and implement components according to modern software development environment; This mainly includes Backend development (Java) but also some Frontend development (Angular)
 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, Component, E2E and exploratory testing)
 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 planning
 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 (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.JUnit, PowerMock, WiresMock) (more than 1 years)
 NoSQL (e.g. Cassandra, ElasticSearch, CouchDB)
 Messaging systems (e.g. RabbitMQ, Apache Kafka, Active MQ, AWS SQS, Azure Service Bus, Google Pub/Sub)
 Experience with Kubernetes or other containerisation system (Dockers)
 ORM (e.g. Hibernate) (more than 1 years)
 Web Servers
 Version control systems (GIT)
 Continuous Integration tools (e.g. Gitlab Pipeline, Jenkins, TeamCity, Bamboo)
 Builders
 Familiar with Frontend development:
 JavaScript/Typescript
 Mainstream frameworks or stacks (Angular, React)
 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)
 Cloud solutions (e.g. AWS, Google Cloud Platform, Microsoft Azure)
 RDBMS (e.g MySQL/MariaDB, PostgreSQL, Oracle) (more than 1 years)
 Serverless architecture
 Integration with 3rd party solutions
 Search Engines (e.g. ElasticSearch, Azure Search, Apache Solr)
 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 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