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

Responsibilities:

Participate in the design, extend and support the stack functionality – transactional logic, game play events, campaign and bonus logic, compliance requirements, etc
Assist customer support and site owners in resolving production issues in a timely manner
Propose and implement improvements and optimizations of the tech stack
Collaborate with the product owners and stakeholders on grooming and estimating stories
Work closely with the front-end team and BI specialists on any back-end dependencies

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 (Java 8 or above)(more than 2 years)

Practical commercial experience with:
REST API development
You are experienced with Spring Framework (Spring Boot, Spring Cloud, Spring Integration and Spring Web) (more than 2 years)
Testing frameworks (e.g.g. JUnit, PowerMock, WiresMock) (more than 1 years)
ORM (e.g. Hibernate) (more than 1 years)
RDBMS (e.g MySQL/MariaDB, PostgreSQL, Oracle) (more than 1 years)
Hands-on experience with Kafka
Experience with messaging – RabbitMQ, ActiveMQ etc
Web Servers
Version control systems (GIT)
Cloud computing platforms (Google Cloud Platform)
Experience with CI/CD – (we are currently using GitLab, but any other system like Bitbucket, Bamboo, Jenkins etc. will also count)
Docker
Continuous Integration tools (e.g. Gitlab Pipeline, Jenkins, TeamCity, Bamboo)
Builders
You possess solid OOP skills
Experience with Event-Driven systems, Event sourcing, CQRS
Experience with Container Orchestration tools (we are currently using Kubernetes and Nomad)
Experience in supporting production systems, analyzing logs, dashboards etc. (we are currently using the ELK stack)

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)
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)
Past working experience in a Gambling/Casino company or understanding the Gambling/Casino business domain
Understanding of React/Redux or a relevant experience

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