Kiryl L., Java/Kotlin Software Engineer

Back-End Web (5.0 yr.)
english B2 (Upper-Intermediate) English
seniority Senior (5-10 years)
location Georgia

Summary

- A software engineer with over 5 years of experience in e-commerce and FinTech domains.
- Boasts a strong grasp of Java, Kotlin, JavaScript, and TypeScript, having used them in various projects.
- Proficient in back-end development with advanced knowledge of Spring frameworks, Hibernate, REST API design, and integrating systems like Elasticsearch and Kafka.
- Has experience in integration payment systems such as Google Pay and Apple Pay.
- Skilled in database management systems such as PostgreSQL, MySQL, and MongoDB.
- Demonstrates expertise in containerization with Docker and Kubernetes and is adept in CI/CD practices using tools like GitLab CI/CD and Jenkins.

Main Skills

Java, Java/Kotlin Software Engineer

Java 5 yr.

Kotlin, Java/Kotlin Software Engineer

Kotlin 2 yr.

Programming Languages

Java 5 yr. JavaScript 3 yr. Kotlin 2 yr. TypeScript 3 yr.

JavaScript Frameworks

Angular 3 yr.

UI Frameworks, Libraries, and Browsers

Bootstrap 3 yr. Bootstrap 4 3 yr. CSS 4 yr. HTML 4 yr.

Java Frameworks

Hibernate Spring 2 yr. Spring Boot

Java Libraries and Tools

JAX-RS JSON 1 yr. Spring Cloud Spring Core 3 yr. Spring Data 5 yr. Spring model-view-controller (MVC) framework Spring Security

Android Libraries and Tools

Kotlin 2 yr.

Databases & Management Systems / ORM

AWS ElasticSearch 1 yr. ELK stack (Elasticsearch, Logstash, Kibana) 1 yr. Hibernate Liquibase 4 yr. MongoDB 2 yr. MySQL 1 yr. PostgreSQL 4 yr. Redis 1 yr.

Cloud Platforms, Services & Computing

Spring Cloud

Amazon Web Services

AWS EC2 5 yr. AWS ElasticSearch 1 yr. AWS Security Groups 5 yr.

QA, Test Automation, Security

Apache Maven Apache Maven 2 yr. JUnit Mockito

Collaboration, Task & Issue Tracking

Atlassian Confluence 5 yr. Jira 5 yr.

Virtualization, Containers and Orchestration

Docker 5 yr. Docker Compose 5 yr. Kubernetes 3 yr.

Version Control

Git 5 yr. GitHub 3 yr. Github Actions GitLab 2 yr.

Deployment, CI/CD & Administration

GitLab CI 2 yr. Gradle 3 yr. Jenkins 3 yr.

Logging and Monitoring

Grafana 1 yr. Prometheus 1 yr.

SDK / API and Integrations

GraphQL 2 yr. RESTful API Swagger

Message/Queue/Task Brokers

Kafka 4 yr.

Other Technical Skills

JAX RS 3 yr. Jolt 1 yr. Spring WebFlux Spring Web model-view-controller (MVC) framework Testcontainers
ID: 600-149-870
Last Updated: 2023-12-07

Work Experience

Software Developer, E-COMMERCE

 05.2022 – 12.2023

Summary: The project is a commercial web application for selling gym certificates. The platform provides integration with the GooglePay payment system. Users have a wide range of functions. Administration features provide flexible application resources management. Project backend is based on JAX-RS for offering support to generated RESTful web services

Responsibilities:

  • Providing Global Search with Elasticsearch;
  • Created API for ElasticSearch easier access with REST approach;
  • Design and implementation of reactive RESTful APIs with WebFlux;
  • Concurrent proceeding complex data using Spring WebFlux;
  • Configuring Spring Security roles;
  • Implementing Spring Cloud Config Server;
  • Configuring Hibernate Fetch Mode with Spring Data JPA;
  • Implementing an API to parse documents and search JSON-formatted data in the Elasticsearch database using Jolt;
  • Configuring replication of Kafka;
  • Participating in risk assessments as a part of feature-driven development (FDD);
  • Implement the features according to the specifications and design documentation;
  • Load balancing configuration between microservices (optimization taking into account high traffic);
  • Database migrations with Liquibase;
  • Changelog storing using Liquibase;
  • Integrating third-party payment systems such as Google Pay;
  • Implement business logic for payment card processing;
  • Handling debit and credit card processing; 
  • Develop reusable components and services using component-based architecture provided by Angular;
  • Optimizing Angular performance;
  • Integrations with external services;
  • Implementing data access layer for the MongoDB;
  • Developing RESTful endpoints to Cache application-specific data in in-memory data Redis cluster; 
  • Creating Conceptual Data Models, Use Case Diagrams, Class Diagrams;
  • Implementation of integration tests using TestContainers; 
  • GitLab CI/CD pipelines processing;
  • Solving major software version compatibility issues;
  • Supporting and bug fixing on front-end and backend.

Environment: Java, TypeScript, Spring (Boot, Data, MVC, Security, Cloud, WebFlux), Angular, Hibernate, Liquibase, PostgreSQL, MongoDB, Redis, Gradle, REST, JAX-RS, JSON, Jolt, HTML, CSS, ELK, Apache Kafka, GitLab CI/CD, TestContainers, Docker, Docker-Compose, Kubernetes, Prometheus, Grafana, JUnit, Mockito, Swagger, Git, GitLab, Jira, Confluence.

 

Software Engineer, CORE BANKING SYSTEM

08.2021 – 04.2022

Summary: Implementation of a modern banking system comprising many business modules focusing on trade finance web applications for legal entities.

Responsibilities: 

  • Designing and development of the business logic layer components using Spring;
  • Database design development;
  • Developing and optimizing DB queries;
  • Implementing backend business logic using Spring;
  • Implement Object-Relational mapping using Hibernate and Spring Data JPA;
  • Adding configuration of Spring beans using their lifecycle stages;
  • Implementing DAO for the MongoDB;
  • Writing scripts with Liquibase for DB migration;
  • Storing changelog files with Liquibase;
  • REST API implementation;
  • Implementation of the authorization and authentication of the application using Spring Security;
  • Proceeding complex JSON-formatted data;
  • Optimization of database requests for JSON-formatted complex data;
  • Kafka consumers and producers implementation;
  • Implement business logic for payment card processing;
  • Payment card transaction handling;
  • Creating CI/CD Jenkins jobs;
  • Writing technical documentation;
  • Writing unit tests using JUnit and Mockito; 
  • Developing integration tests using TestContainers;
  • Bug fixing.

Technologies: Java, Spring (Boot, Data, MVC, Security), Hibernate, Liquibase, PostgreSQL, MongoDB, Maven, REST, JSON, Apache Kafka, Jenkins, TestContainers, Docker, Docker Compose, JUnit, Mockito, Swagger, Git, GitHub, Jira, Confluence

 

Software Developer, HUMAN RESOURCES SYSTEM

06.2019 – 07.2021

Summary: Automated, integrated personnel management system with functionality that offers quick access to helpful information for employees. It also allows sending user requests to the company’s internal systems to resolve various issues swiftly.

Responsibilities: 

  • Building RESTful services that produce and consume JSON-formatted data using JAX-RS;
  • Designing PostgreSQL database;
  • Storing database changelogs using Liquibase;
  • Configuring Spring Boot properties for working in different environments;
  • Using Spring Config Server to improve microservices configuration process; 
  • Implementing reactive WebFlux modules;
  • Resolvers implementation for GraphQL;
  • Implement frontend features with Typescript/JavaScript;
  • Kafka consumers and producers implementation;
  • Optimizing Apache Kafka message processing;
  • Using Kotlin's coroutines for writing both asynchronous and non-blocking operations;
  • Using Kotlin's suspend functions to define asynchronous operations within WebFlux handlers; 
  • Write and execute unit tests using Kotlin’s testing frameworks;
  • Preparing Docker configuration files for application deployment in different environments;
  • Use Kubernetes to orchestrate the deployment, scaling, and management of Docker containers;
  • Developing Angular components;
  • Implementing reusable HTML page patterns using Angular;
  • Moving from regular HTML tags to semantic ones; 
  • Implementing responsible flexbox layouts using Bootstrap and CSS;
  • Animating pages using Bootstrap and CSS;
  • Gathering requirements, preparing technical and validation documents;
  • Participating in code review; 
  • Bug fixing;

Technologies: Kotlin, JavaScript, TypeScript, Spring (Boot, Data, MVC, Security, Cloud, WebFLux), Angular, Hibernate, Liquibase, PostgreSQL, Gradle, REST, JAX-RS, JSON, HTML, CSS, Bootstrap, GraphQL, Apache Kafka, Jenkins, Docker, Docker-Compose, Kubernetes, Mapstruct, JUnit, Mockito, Swagger, Git, GitHub, Jira, Confluence.

 

Software Engineer, DANCE STUDIO APPLICATION

Duration: 04.2018 – 05.2019

Summary: A web application for clients to select dance classes by various criteria, purchase memberships, make online enrolments, and view all the related statistics. Allows marking client visits, generating financial reports, etc.

Responsibilities:

  • Communicating with the customer and clarifying solution details;
  • Implementing business features;
  • Developing and optimizing MySQL database queries;
  • Implement Object-Relational mapping using Hibernate;
  • REST API implementation;
  • Implementation of the authorization and authentication of the application using Spring Security (JWT);
  • Integrating modern payment systems such as Google Pay and Apple Pay;
  • Creating Docker images and docker-compose files;
  • Mapping XML to JSON;
  • Handling JSON requests and responses;
  • Debugging and solving technical problems;
  • Writing technical documentation;
  • Developed data insertion forms and validated them using JavaScript;
  • Design UI with Bootstrap/HTML/CSS;
  • Preparing GitLab CI/CD jobs;
  • Developing integration tests using TestContainers;
  • Writing unit tests;
  • Code refactoring;
  • Bug fixing.

Technologies: Java, JavaScript, Spring (Boot, Data, MVC, Security), REST, JSON, MySQL, Hibernate, HTML, CSS, Bootstrap, JUnit, Mockito, TestContainers, Docker, Docker Compose, Swagger, Git, GitLab, GitLab CI/CD, Maven, Jira, Confluence.

Education

Software Engineering and Computer Science

Ready to hire Kiryl L.
or someone with similar skills?

All developers are available for an interview. Let's discuss your project/vacancy.
Book A Call