Position: Expert / Lead Java Developer for Ciklum Digital
Company: Ciklum
Experience required: 5y
English level: upper

**Description**

On behalf of Ciklum Digital, we are looking for an Expert / Lead Java Developer to join our Kyiv team on a full-time basis.

You will join a highly motivated team and will be working on a modern solution for our 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;
- 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 (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.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 is a must;

**Desirable**
- Certifications on:
- Java;
- Spring Frameworks;
- Cloud providers;
- Delivery processes (SAFe, Agile, etc);
- Experience with Leading and Supporting medium to large size solution delivery projects;
- Understanding of orchestration and containerisation (e.g. Kubernetes, Swarm);
- Practical commercial experience with:
- Serverless architecture;
- Provisioning tools (e.g. Terraform, Ansible);
- 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.

**You can:**
- 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).