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

**Responsibilities**

Develop new and change existing integrations
Perform and support migrations
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 5 years
Experience in event-based and SOAP-based integration design and development
Experience with data migrations
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
Practical commercial experience with:
Spring Boot Framework 2+ years
Messaging systems, specifically Apache Kafka 1+ years
SOAP and REST API development
Search engines, either Elasticsearch 1+ years
NoSQL, specifically Cassandra or Mongo
Kubernetes
Linux
Oracle DB / PostgreSQL
Gitflow
Testing frameworks (e.g.e.g. JUnit, PowerMock, WiresMock, Serenity BDD)
ORM (e.g. Hibernate)
Web Servers
Version control systems (GIT)
Continuous Integration tools (e.g. Gitlab Pipeline, Jenkins, TeamCity, Bamboo)
Builders

Experience with:

Agile software processes and technologies
Code Review process
Refactoring process
Upper-Intermediate English

**Desirable**

**Knowledge in:**

TDD, BDD
Security patterns, Common attacks types (OWASP)
Deployment patterns
Experience with Product Lifecycle Management solutions
Experience with:
Troubleshooting, profiling and debugging applications
Microservices
Practical commercial experience with:
Integration with 3rd party solutions
Quality tools (e.g. SonarQube)
Personal skills
Good analytical skills
Good team player, motivated to solve complex tasks
Strong communication and problem-solving skills
Self-motivated, self-disciplined and result-oriented
Strong attention to details and accuracy

**What's in it for you**

Close cooperation with client
Dynamic and challenging tasks
Ability to influence project technologies
Projects from scratch
Team of professionals: learn from colleagues and gain recognition of your skills
European management style
Continuous self-improvement