Position: Expert Java Developer for Ciklum Digital (TUI)
Company: Ciklum
Experience required: 5y
English level: intermediate

The broad portfolio gathered under the Group umbrella consists of strong tour operators, 1,600 travel agencies and leading online portals, five airlines with around 150 aircraft, over 400 hotels, 17 cruise liners and many incoming agencies in all major holiday destinations around the globe. It covers the entire tourism value chain under one roof. This integrated offering enables us to provide our 27 million customers with an unmatched holiday experience in 180 regions. A key feature of our corporate culture is our global responsibility for economic, environmental and social sustainability. This is reflected in more than 20 years of commitment to sustainable tourism. The TUI Group’s share is listed in the FTSE 250 index, in the Quotation Board of the Open Market on the Frankfurt Stock Exchange, and regulated Market of the Hanover Stock Exchange.

**Description**

On behalf of Ciklum Digital, Ciklum is looking for an Expert 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 existing client. We are looking for technology experts who want to make an impact on new business by applying best practices and taking ownership.

**Responsibilities**
- Lead development team
- 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.)
- 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 architecture preparation, 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
- Must have: Senior mindset, problem solver, deep technical knowledge
- 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 and (more than 5 years)
- Excellent knowledge and experience in AWS (Cloudformation or Terraform is a plus)
- UI knowledge of at least one JS framework (VueJS nice to have)
- Practical commercial experience with:
- REST API development
- Serverless (lambda)
- 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)
- ORM (e.g. Hibernate) (more than 2 years)
- RDBMS (e.g MySQL/MariaDB, PostgreSQL, Oracle) (more than 4 years)
- NoSQL (e.g. MongoDB, ElasticSearch, CouchDB)
- Search Engines (e.g. ElasticSearch, Azure Search, Apache Solr)
- 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 solutions (e.g. AWS, Google Cloud Platform, Microsoft Azure)
- Integration with 3rd party solutions
- Docker
- Continuous Integration tools (e.g. Gitlab Pipeline, Jenkins, TeamCity, Bamboo)
- Builders
- 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 English

**Desirable**
- Certifications on:
- Java
- Spring Frameworks
- Cloud providers
- Delivery processes (SAFe, Agile, etc)
- Nice to have experience with APIGateway, SNS, SQS
- Experience with Leading and Supporting medium to large size solution delivery projects

**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