Резюме
Контакты
Кратко обо мне
- Разработка и рефакторинг серверных приложений (Kotlin 2.0/Java 17, Spring Boot/Ktor, гексогональная архитектура).
- Поиск и устранение проблем производительности в высоконагруженных монолитных приложениях (Spring MVC).
- Разработка CI/CD скриптов для деплоя (GitLab, Jenkins, TeamCity, etc.).
- Разработка несложного UI на Angular 14 (3–4 вкладки, CRUD).
- Опыт работы по Scrum (LeSS) и Kanban.
Проекты
Dec 2024 – now Старший Kotlin разработчик, Altabel Group
Продукт: Приложение для продажи подарочных карт.
Стэк: Kotlin 2.0, Spring Boot 3.0, REST API OAuth 2.0, Keycloak, Kubernetes, Elasticsearch, Loki, Grafana, MariaDB, Gitlab.
Обязанности:
- Дизайн и разработка основных бэкенд-микросервисов.
- Дизайн схемы MariaDB и индексов Elasticsearch.
- Настройка контроля качества кода на базе инструмента
detekt. - Дизайн и реализация CI/CD: пайплайн GitLab, установка агента Gitlab в кластере.
- Дизайн и реализация multi-realm системы авторизации (1 realm на 1 организацию) на базе Keycloak.
- Обновление Keycloak и связанных конфигураций.
- Адаптация шаблонов в Keycloak.
- Настройка и управление репликами Keycloak в кластере Kubernetes.
- Настройка и управление системой логирования и мониторинга: Loki, Grafana.
Sep 2022 – Nov 2024 Старший Kotlin разработчик, Altabel Group
Продукт: Кредитный конвейер для выдачи кредитов физическим лицам.
Стэк: Kotlin 1.8, Spring Boot 3.0, Ktor, ELK
Обязанности:
- Рефакторинг Open API: уход от привязки к внутреннему приложению для возможности интеграции внешних партнёров.
- Разработка функционала по запросам владельца продукта: автоматические погашения, цессия, интеграция с внешним банком для повышения стабильности погашений.
- Участие в обсуждении архитектуры, разработка кода по принципам гексогональной архитектуры, реализация контрактов сервисов (REST, Apache Thrift), интеграционные и юнит-тесты.
Apr 2020 – Jun 2022 Старший Java разработчик, EPAM
Продукт: Корпоративная библиотека.
Стэк: Java 11, Kotlin, Spring Boot/MVC
Обязанности:
- Сократил количество ручной работы для аналитиков производительности посредством интеграции системы (корпоративный инструмент для совместной работы, Spring MVC, Atlassian Confluence, ~100k пользователей, ~1 TB MySQL) с системой для нагрузочного тестирования (REST API, Spring Boot/Data/Security, OAuth 2.0, JWT, Thymeleaf, Apache JMeter).
- Сократил количество обращений от пользователей через настройку JVM GC.
- Сократил количество обращений от пользователей через оптимизацию проблемного SQL-запроса (MySQL).
- Установил процесс анализа производительности приложения и обучил этому двух разработчиков.
- Уменьшил Time to Interactive (TTI) на 0.5 сек. через настройку кэширования на Akamai CDN.
- Провёл несколько лекций для MJC (Minsk Java Community) School.
Apr 2018 – Jan 2020 Старший Java разработчик, EPAM
Продукт: Автоматизация бизнес-процессов для страховой компании.
Стэк: Java 11, Selenium, MySQL, AWS S3
Обязанности:
- Разработал автоматизацию для производственных бизнес-процессов (домен страхования, платформа WorkFusion, Spring MVC, Java 11, Windows Server, Selenium).
- Уменьшил количество обращений от пользователей через улучшение архитектуры существующей автоматизации (монолит) и рефакторинг кода.
Nov 2016 – Mar 2018 Java разработчик, BlazeMeter LTD
Продукт: Генератор тест-планов для Apache JMeter.
Стэк: Java 11, Apache JMeter, AWS EC2, AWS S3
Обязанности:
- Разработал генератор тест-планов (Java 8, Apache JMeter, Spring Boot, AWS) для улучшения UX SaaS-платформы нагрузочного тестирования.
Nov 2015 – Oct 2016 Java разработчик, BlazeMeter LTD
Продукт: Java библиотека для CI/CD плагинов.
Стэк: Java 8, Maven, Nexus, REST API
Обязанности:
- Разработал библиотеку на Java для существующих CI/CD плагинов (Java 8, Maven, Nexus, REST API) для встраивания нагрузочного тестирования в CI/CD процесс.
Jan 2013 – Oct 2015 Java разработчик, BlazeMeter LTD
Продукт: CI/CD плагины для SaaS-платформы.
Стэк: Java 8, Maven, Nexus, REST API
Обязанности:
- Разработал плагины для интеграции CI/CD систем с SaaS-платформой для нагрузочного тестирования (Jenkins, TeamCity, Bamboo).
- Разработал компонент для open-source проекта Apache JMeter DNS Cache Manager, позволяющий равномерно распределить нагрузку с разных локаций во время нагрузочного тестирования.
Навыки
| Название | Уровень | Кол-во лет опыта |
|---|---|---|
| Java (17) | Продвинутый | 9 |
| Kotlin (2.0) | Средний | 4 |
| SQL (PostgreSQL, MySQL, MariaDB, Liquibase) | Продвинутый | 6 |
| Spring (MVC, Boot, Security, Data) | Продвинутый | 4 |
| Ktor | Средний | 1 |
| ORM (Hibernate, Exposed) | Средний | 2 |
| CI/CD (Docker, Jenkins, TeamCity) | Продвинутый | 4 |
| Брокеры сообщений (Apache Kafka) | Средний | 1 |
| AWS (EC2, S3, Route 53) | Продвинутый | 3 |
| NoSQL (Elasticsearch) | Средний | 1 |
| Logging (ELK, Loki) | Средний | 1 |
| Git | Продвинутый | 8 |
| REST API | Продвинутый | 5 |
| RPC (Apache Thrift) | Средний | 1 |
| OAuth 2.0 (Keycloak) | Средний | 1 |
| Анализ производительности | Продвинутый | 2 |
Образование
2001–2006 Дизайн электроники, Специалист, Belarusian State University of Informatics and Radioelectronics (BSUIR)