Специалисты

Описание

Навыки
Операционные системы Linux, Windows
Языки разработки Java 8-24, скриптовые языки (Bash, Shell, CMD, Powershell), JavaScript
Фреймворки и библиотеки Spring Framework, Spring Core, Spring DI/IoC, Spring Boot, Spring Data JPA, Spring Data JDBC, Spring Security, Spring AOP, Spring Transactional, Log4j, Spring Cloud (Open Feign), Spring Streams, Spring Kafka Streams, Lombok, Mapstruct, Hikari Connection Pool
Базы данных PostgreSQL, MySQL, Redis
Тестирование Spring Test, AssertJ, JUnit5, Testcontainers, Mockito (Mock&Stub), Podam. Мокирование (mocking), Unit-тестирование, интеграционное тестирование
Контроль версий Git (Gitflic, Github, Gitlab)
Архитектура Микросервисы, Монолит, DDD, AAA. Распределённые системы и шаблоны интеграций. Архитектурные шаблоны (Saga, CDC, CQRS, Template, Outbox)
Инфраструктура и DevOps Gitlab CI/CD, Github actions, Docker, K8s (Kubernetes), Grafana, Prometheus, Graylog, ELK Stack (Elasticsearch, Logstash, Kibana), Filebeat,, Jaeger, Zipkin, Graylog
Другие технологии Общие: Шаблоны проектирования (GoF), Алгоритмы и структуры данных. O(n), Clean Code, Владение принципами ООП, Java Core (Семантика, Generics, Exception Handling, Stream API), Concurrency, Организация отказоустойчивости. Оркестраторы. Cloud Ready архитектура.
ORM/миграции: Hibernate, Liquibase, Flyway
Безопасность: Keycloak, OAuth2, JWT, OWASP, CORS, CSRF, SSO.
JVM: JVM (Memory Model, Garbage Collection, Compilation)
Очереди: Kafka, RabbitMQ
Кэширование: Redis
Протоколы: HTTP/REST, WebSocket, gRPC, SOAP
Автоматизация процессов: Camunda BPM
Документирование: Spring Doc, OpenAPI/Swagger
Хранилища: S3, Minio
Облачные технологии: Google APIs, Cloudflare, AWS, Yandex Cloud, Selectel Cloud
Управление проектами Atlassian Jira, Confluence. Agile Scrum, Kanban, Waterfall

Образование: Донецкий национальный технический университет. Информационные системы и технологии в технике и бизнесе. Магистр. 2024.

Опыт
Проект

ERP-система

Описание

Роль в проекте Java разработчик Цель проекта Комплексная модернизация устаревшего ERP-решения для крупного добывающего предприятия, включая проектирование новой архитектуры, разработку интеграционных модулей между всеми системами компании. Архитектура ● Старая система представляет собой монолит с модулями JPMS. Микросервисная архитектура для новых решений. ● Бэкенд Java 8 / Java 21 (Spring Framework). ● Старая СУБД MySQL, новая PostgreSQL. ● Взаимодействие и синхронизации старой и новой БД через модуль DataBridge, который выполняет синхронизацию данных по заданному таймеру. Для работы с сущностями в DataBridge используется Jooq. ● В остальных модулях подсистемы используется Spring с пакетом Spring Data JPA. Непосредственные задачи ● Реализовал механизм двухсторонней синхронизации данных таблицы остатков между старой и новой базами данных. ● Настроил миграцию данных таким образом, чтобы новые записи дополняли существующие остатки в старой БД, не нарушая исторический учет баланса. ● Нашёл и устранил проблемы неправильного отображения полей при переносе данных между таблицами. ● Провёл рефакторинг кода миграции данных для повышения точности и корректности обработки записей. ● Разработал запросы и методы доступа к данным с использованием JPA/Hibernate и Jooq. ● Реализовал интеграцию Collection API для упрощенной обработки больших объемов данных. ● Писал unit-тесты для проверки поведения сервисов и контроллеров. ● Тестировал интеграции отдельных компонентов. Состав команды Владелец продукта, тимлид, системный аналитик, 4 Backend разработчика (Java), 1 DevOps, 1 QA .

Технологии

Java 21, Java 8, PostgreSQL, MySQL, JPA/ORM (Hibernate), Spring Data JPA, Spring Transactional, Spring Security, Spring DI/IoC, Spring MVC, Docker, Unit-тестирование, мокирование (mocking), HTTP/REST, Open API (Swagger), Spring test, Collection API, Liquibase, Jooq, Atomikos

Длительность

Февраль 2025 –Ноябрь 2025 месяцев

Проект

Автоматизированная система кредитования бизнеса

Описание

Роль в проекте Java разработчик Цель проекта Система выдачи кредитов юридическим лицам для автоматизированной обработки кредитных заявок компаний. Платформа позволяет загружать дополнительные материалы, организует экспертный отбор и предусматривает удобный интерфейс для подачи и одобрения заявок. Функционал включает поддержку вложений различных форматов (PDF, изображения), четкую процедуру модерации и прозрачный процесс ранжирования заявок по рейтингу. Архитектура ● Микросервисная. ● Бэкенд Java 17 (Spring Framework). ● БД PostgreSQL. ● Межсерверное взаимодействие по REST API. Для асинхронного взаимодействия применяется Kafka. ● Для безопасности используется Keycloak. ● В проекте настроен аппендер Log4j для сбора логов, также настроена отправка логов в GrayLog. ● Оркестратор бизнес-процессов Camunda. ● BFF – точка входа в API, маршрутизатор и агрегатор всех входящих запросов. Непосредственные задачи ● Участвовал в проектировании архитектуры микросервиса заявок, настройке взаимодействий с остальными сервисами. ● Продумал и реализовал структуру объектов DTO, используемых для обмена информацией между сервисом подачи заявок и другими сервисами. ● Реализовал поток обработки заявок с использованием Camunda (создание заявки, проверка документов, одобрение кредита). ● Спроектировал логику поведения сервиса подачи заявок таким образом, чтобы исключить повторную генерацию кредитной заявки, если информация заявителя осталась неизмененной. ● Реализовал интеграцию с облачным сервисом хранения файлов для сохранения и передачи медиа-вложений заявителей. ● Реализовал запуск асинхронных запросов через Kafka для расчета кредитного рейтинга заемщика и оценки рисков кредитоспособности предприятия. ● Настраивал роли и разрешения в сервисе Keycloak. ● Проводил интеграцию с Graylog для сбора и анализа логов. ● Настроил Zipkin для трассировки запросов. ● Проводил unit-тестирование компонентов с использованием Mockito, писал интеграционные тесты REST-сервисов с применением WireMock. ● Принимал участие в разработке фронт-энд компонента, создании кастомных элементов UI и настройке взаимодействия с бэкендом. Состав команды Руководитель проекта, куратор (владелец продукта), 2 Тимлида, 4 Java-разработчика, 2 frontend-разработчика, 1 DevOps, 2 QA, Scrum-мастер

Технологии

Java 17, PostgreSQL, Kafka, Spring-Cloud, Spring DI/IoC, Docker, мокирование (mocking), JPA/ORM (Hibernate), HTTP/REST, Spring Data JPA, Spring Transactional, Spring Security, Open API (Swagger), Spring test, Unit-тестирование, Logstash, Collection API, Liquibase, SCRUM, Микросервисная архитектура, DevOps, CI/CD, Log4j, Filebeat, Graylog, Zipkin, Keycloak, Yandex Object Storage, Camunda, QueryDSL, Разработка собственных стартеров, FreeMarker, JavaScript, MPA, FetchAPI, Bootstrap, Jira

Длительность

Ноябрь 2023 – январь 2025 месяцев

Проект

Система сбора заказов из маркетплейсов

Описание

Роль в проекте Java разработчик Цель проекта Проект представляет собой решение для автоматизации процесса сбора и систематического хранения данных о заказах клиентов с популярных маркетплейсов. Основная цель — создание простого и интуитивно понятного инструмента, позволяющего массово собирать заказы, автоматически сохранять данные в упорядоченной структуре. Система должна поддерживает механизм управления процессом сбора администраторами и обеспечивает взаимодействие с пользователями с учётом их географического положения. Архитектура ● Монолит. Модульная организация проекта с выделенными слоями: обработка данных, логика, коммуникации. ● Бэкенд Java 11 (Spring Boot). ● БД PostgreSQL. Непосредственные задачи ● Провёл анализ и сбор требований от заказчика. ● Принял участие в разработке архитектуры. составил подробную ER-диаграмму для представления структуры данных. ● Разработал методы для массовой выгрузки сведений о заказах с маркетплейсов. ● Создал алгоритмы обработки больших объемов поступающих данных, реализовал автоматическую проверку и коррекцию некорректных записей. ● Реализовал модели данных в PostgreSQL с учётом группировки по городам и регионам. ● Создал панель управления системой для администраторов, включающую функции запуска и остановки сессий сбора данных, мониторинга текущего состояния системы и отправки уведомлений пользователям. Состав команды Менеджер проекта, 2 Java-разработчика, 1 FullStack-разработчик, 1 QA, бизнес-аналитик, дизайнер

Технологии

Java, Spring Boot, PostgreSQL, Liquibase, Maven, Docker, Model View Controller (MVC)

Длительность

Октябрь 2022 – октябрь 2023 месяца

Проект

Логистическая система учёта информации о грузоперевозках

Описание

Роль в проекте Java разработчик Цель проекта Система предназначена для автоматизации процессов управления грузовыми перевозками и контроля загруженности транспортных средств. Интерфейс приложения реализует возможность удобного выбора товаров для перевозки и отслеживания текущего уровня загруженности транспорта. Логика обработки данных построена таким образом, чтобы минимизировать риск превышения допустимых весовых и объемных характеристик транспортных средств. Архитектура ● Микросервисная ● Сервисы распределены следующим образом: - Сервис аутентификации и авторизации пользователей. - Основной сервис обработки заявок и формирования маршрутов. - Сервис мониторинга текущего состояния транспортировки. - Модуль анализа загрузки транспорта и проверки лимитов по грузоподъемности и объему кузова. ● Бэкенд Java 17 (Spring Boot) ● БД PostgreSQL Непосредственные задачи ● Реализовал бизнес-логику обработки заявок и подготовки маршрутов. ● Разрабатывал сервис анализа нагрузок транспорта, включающего механизмы предотвращения перегрузки и вычисления оптимального порядка загрузки. ● Выполнил интеграцию системы мониторинга статуса грузоперевозок с системой регистрации товародвижений. ● Организовал взаимодействие с внешним API сторонней информационной системы поставщика данных о товарах и заявках на перевозку. ● Принимал участие в создании архитектуры высоконагруженных компонентов, обеспечивающих обработку большого объема данных в режиме реального времени. ● Реализовал механизм хранения и обновления данных о характеристиках транспортных средств и текущих маршрутах. ● Написал API-контроллеры для взаимодействия фронтенд-приложения с внутренними сервисами бэкенда. Состав команды Руководитель проекта, 2 Java-разработчика, 1 Fullstack-разработчик, 1 frontend-разработчик, 1 DBA, 2 QA

Технологии

Java, SQL, Spring Boot, Spring Security, Apache Kafka, Prometheus/Grafana, Kibana/ELK stack, Git, Maven, PostgreSQL, Swagger, PlantUML

Длительность

(Ноябрь 2021 – октябрь 2022 месяца