Специалисты
Операционные системы
Linux (Ubuntu, CentOS), Windows
Языки разработки
Java (SE/EE, версии 8–17), SQL (ANSI SQL), Bash (базово)
Фреймворки и библиотеки
Spring Boot, Spring WebFlux, Spring MVC, Spring Security, Spring Data JPA, Spring Transactional, Spring AOP, AspectJ, JPA/Hibernate, MyBatis, Liquibase, Flyway, Camunda, Zeebe, Kafka Client, RabbitMQ, ActiveMQ, Redis, Hazelcast, Elasticsearch, Reactor, Mockito, JUnit, TestContainers, Thymeleaf, OpenAPI/Swagger
Архитектура
● Микросервисная архитектура (Spring Boot, Kafka, REST, Redis, WebFlux, Camunda, NiFi)
● Монолитные REST-приложения
● Cloud-ready архитектура, отказоустойчивость, масштабируемость (Sharding, Partitioning, Master-Slave, Eventual Consistency)
● Архитектурные шаблоны: Saga, CDC, CQRS, Template, DDD
● Подходы: SOLID, DRY, KISS, YAGNI
● Clean Code, GoF-шаблоны, событийно-ориентированная архитектура
● Участие в проектировании архитектуры, API и распределённых систем
● Оптимизация производительности и взаимодействие с оркестраторами (Camunda, Zeebe)
Тестирование
Unit- и интеграционное тестирование (JUnit, Mockito, Spring test, TestContainers), Mock-тестирование (Mockito, MockMVC), Тестирование REST API (корректность ответов, заголовки, безопасность, производительность), Использование H2 и TestContainers для изолированных тестов, Настройка автоматических прогонов в CI/CD, Покрытие тестами бизнес-логики и BPMN-процессов
Базы данных
MySQL, PostgreSQL, SQLite, MongoDB, Redis, Elasticsearch
ANSI SQL, транзакции, ACID, нормализация, индексы
ORM-инструменты: Hibernate, JPA, MyBatis
Инструменты миграции: Liquibase, Flyway
Шаблоны хранения и обработки данных: Master-Slave, Partitioning, Sharding
Оптимизация SQL-запросов, работа с ClickHouse
Инфраструктура и DevOps
Docker, Docker Compose, Kubernetes, OpenShift, GitLab CI, Jenkins
Настройка пайплайнов (build/test/deploy), nightly builds
Работа с переменными окружения, YAML-конфигурацией
Мониторинг: Micrometer, ELK-стек, Grafana
Интеграция BPMN-процессов в CI/CD, поддержка нескольких окружений
Контроль версий
Git, GitLab, GitHub
Участие в pull requests, код-ревью, управление релизами,
Организация технической документации и схем потоков
Управление проектами
Scrum, Agile
Участие в спринтах, планировании, презентациях
Анализ требований, участие в техническом обучении и менторстве
Другие технологии
Common: Шаблоны проектирования (GoF), алгоритмы и структуры данных, оценка сложности (O(n)), ООП, Clean Code
Security: OAuth2, JWT, OWASP, CORS, CSRF, SSO, Keycloak
JVM: Memory Model, Garbage Collection, Classloading, Compilation
Очереди: Kafka, RabbitMQ, ActiveMQ, концепции брокеров и очередей, Sync/Async
Протоколы: HTTP/REST, WebSocket, gRPC
Cloud: AWS
Документация и архитектура: UML-диаграммы, архитектурные документы, C4-модели
Я - Java-разработчик с более чем 5-летним опытом в разработке корпоративных и промышленных систем. Специализируюсь на микросервисной архитектуре, интеграции с внешними системами, проектировании API и автоматизации бизнес-процессов с использованием Spring Boot, Kafka, Camunda, Apache NiFi, Keycloak.
Работал как с монолитами, так и с микросервисами. Участвовал в построении архитектуры, миграции легаси-систем, реализации BPMN/DMN процессов, настройке потоковой обработки и отказоустойчивости (Hazelcast, Redis, ClickHouse). Уверенно применяю шаблоны CQRS, Saga, DDD, CDC, соблюдаю принципы SOLID и Clean Code.
Имею опыт CI/CD, контейнеризации, мониторинга, покрытия кода тестами (JUnit, Mockito, TestContainers). Веду задачи end-to-end, активно участвую в код-ревью, релизах, обсуждении требований и развитии архитектуры. Помогаю команде, менторю младших специалистов и постоянно развиваюсь.
Образование:
Белорусский Национальный Технический Университет.
Инженер-программист, 2023г.
Интеллектуальная платформа управления складом ЛКМ
Роль в проекте Backend-разработчик О проекте Сервис предназначен для автоматизации процессов хранения и учёта лакокрасочных материалов на предприятии. Решение позволяет централизованно управлять партиями, отслеживать остатки в реальном времени, автоматизировать бизнес-процессы с помощью Camunda и организовывать потоковую интеграцию с внешними системами через Apache NiFi. Использование микросервисной архитектуры на базе Spring Boot обеспечивает масштабируемость, прозрачность и устойчивость производственного процесса. Цели проекта: ● Оптимизация складских процессов за счёт автоматизации учёта и перемещения красок ● Минимизация ошибок благодаря устранению человеческого фактора ● Повышение прозрачности за счёт контроля остатков в реальном времени ● Интеграция с корпоративными системами и TСД через Apache NiFi и Kafka ● Повышение эффективности работы за счёт точной аналитики и своевременной информации Архитектура ● Микросервисная архитектура на базе Spring Boot ● Оркестрация бизнес-процессов с использованием Camunda (BPMN, DMN) ● Хранение данных в PostgreSQL, миграции — через Liquibase ● Аутентификация и авторизация — через Keycloak ● Интеграция с внешними системами через Apache NiFi и Kafka ● Использование Hazelcast для распределённого кэширования ● Мониторинг через Micrometer Непосредственные задачи ● Реализовал бизнес-процессы в Camunda BPMN: создание партий, управление операциями, изменение логики через DMN ● Настроил CI/CD-процесс для автоматического деплоя BPMN-схем в Camunda ● Разработал REST API для взаимодействия с модулем ЕСУ, реализовал удаление виртуальных бочек, изменение статуса “Инвентаризации”, выгрузку склада в Excel ● Настроил flow в Apache NiFi для сбора данных и отправки в Kafka (CDC-топики) ● Обеспечил интеграцию с внешними API (BFF инвентаризации, MES, ТСД), расширил API склада и внедрил поддержку второго Kafka-кластера ● Разработал обработчики событий: фильтрация по статусам (freestock, consumed), логика по отправке в Kafka ● Написал скрипты миграции данных (переход с примитивов на GUID) ● Внедрил сквозную нумерацию бочек, реализовал счётчики партий ● Добавил в документы новые атрибуты: генеалогия, сертификаты, характеристики проката ● Улучшил фильтрацию и поиск (мультивыбор, фильтрация по нескольким критериям) ● Реализовал систему контроля версий BPMN-процессов ● Исправил ошибки в логике работы склада: весовые ограничения, некорректная структура данных, даты закрытия операций ● Обеспечил поддержку генеалогии и генерацию QR-кодов ● Проводил релизы, код-ревью, участвовал в развитии процессов и обсуждении требований с командой ● Покрывал код unit-тестами и писал интеграционные тесты Состав команды 10 человек (1 тимлид, 1 системный аналитик, 4 backend-разработчика, 2 frontend-разработчика, 2 QA-инженера)
Java, Spring Boot, Spring Security, Spring Data JPA, JPA/Hibernate, Spring Transactional, Liquibase, PostgreSQL, Kafka, Apache NiFi, Camunda BPMN/DMN, Hazelcast, Micrometer, Swagger/OpenAPI, QueryDSL, Unit-тестирование (Spring Test, Mockito), Keycloak, Excel API, REST, CI/CD
12 месяцев
MES для складской логистики на производстве
Роль в проекте Backend-разработчик О проекте Проект направлен на реализацию MES-системы управления складами в рамках крупного производственного комбината. Основная задача — автоматизация ключевых складских операций: приёмка, инвентаризация, перемещение, списание и отгрузка ТМЦ (товарно-материальных ценностей). Работа велась в рамках существующей инфраструктуры с интеграцией Camunda для оркестрации процессов, а также подключением внешнего стороннего сервиса («Цифра»). Все модули разрабатывались в виде микросервисов с REST и Kafka-коммуникацией. Цели проекта: ● Автоматизация движения ТМЦ между складами и производством ● Внедрение Camunda как стандарта оркестрации бизнес-процессов ● Интеграция со сторонними и внутренними сервисами (в т.ч. «Цифра») ● Повышение прозрачности и скорости обработки складских операций ● Централизация управления процессами через BFF и унификацию API Архитектура ● Микросервисная архитектура, обмен через REST и Kafka ● Использование Camunda BPMN для управления логикой процессов ● Интеграция стороннего сервиса («Цифра») через REST, Kafka и Camunda ● BFF-сервис для взаимодействия фронтенда с бэкендом ● Мониторинг и логирование с использованием traceId и кастомных метрик ● Хранилище аналитических данных - ClickHouse Непосредственные задачи ● Реализовал бизнес-процессы возврата бочек и закрытия производственных кампаний через BPMN ● Обновил логику операций в процессе возврата с агрегата ● Разработал функциональность вертикального наследования данных ● Реализовал систему нумерации документов ЦХПП (Центральный Химико-Прокатный Подраздел) ● Разработал и внедрил документы: "Заявка в лабораторию", "Плановые характеристики проката", "Сертификат", "Химия", "Внутренний заказ", "Производственное задание ЕМ" ● Добавил атрибуты: “Признак неполной бочки”, “Цех источник”, “Вес/Брутто” и др. ● Настроил логирование с traceId, интеграцию с Kafka: обработка сообщений, повторная доставка, отправка в топики ● Разработал конвертер между внутренней моделью данных и MDM ● Получал состояние склада через BFF ● Написал документацию по API и процессам, участвовал в CI/CD настройке ● Оптимизировал логику обновления данных в ClickHouse ● Создал сервис учёта простоев ● Реализовал возможность проставления экспортных мест по всем типам заказов ● Участвовал в релизах, анализе требований, код-ревью и развитии архитектуры Состав команды 13 человек (1 архитектор, 1 проектный менеджер, 6 backend-разработчиков, 2 frontend-разработчика, 2 QA-инженера, 1 DevOps-инженер)
Java, Spring Boot, Spring Security, Spring Data JPA, Spring Transactional, JPA (Hibernate), QueryDSL, Kafka, REST, Camunda BPMN, PostgreSQL, Liquibase, Hazelcast, ClickHouse, OpenAPI (Swagger), Unit-тестирование (Spring Test, Mockito), CI/CD, BFF, MDM-интеграция
13 месяцев
Система управления и анализа данных генеалогии
Роль в проекте Backend-разработчик О проекте Сервис предназначен для сбора, агрегации и обработки данных генеалогических цепочек из различных источников. Обеспечивает быстрый поиск и визуализацию генеалогического дерева с возможностью просмотра атрибутов каждого узла, а также фильтрацию и поиск единиц металла по заданным параметрам. Система построена на микросервисной архитектуре с применением современных технологий обработки потоковых данных и масштабируемого хранения. Цели проекта: ● Централизованный сбор и агрегация генеалогических данных из нескольких источников ● Обеспечение эффективного поиска и визуализации генеалогического дерева ● Горизонтальное и вертикальное распространение атрибутов по узлам генеалогии ● Интеграция с потоковыми системами и обеспечение надежного хранения данных ● Поддержка расширяемости и масштабируемости системы Архитектура ● Backend на Spring Boot с хранением данных в PostgreSQL ● Потоковая обработка через Apache Kafka ● Контейнеризация и оркестрация в OpenShift и Docker ● Аутентификация и авторизация через Keycloak ● Кэширование и распределённое хранение данных с Hazelcast ● Мониторинг и логирование с использованием стандартных инструментов Непосредственные задачи ● Реализовал и поддерживал модель данных генеалогии, обеспечил хранение и обновление информации по узлам ● Настроил CI/CD для автоматического деплоя BPMN-схем в Camunda ● Разработал аналитический сервис для агрегации генеалогических данных с использованием PostgreSQL, ClickHouse и Hazelcast ● Написал подробную документацию по API и бизнес-процессам ● Настроил систему мониторинга и логирования сервисов ● Провёл рефакторинг логики удаления документов в системе генеалогии ● Реализовал логику создания и просмотра реестров сертификатов ● Внедрил фильтрацию по значениям и добавил справочники в ядро генеалогии ● Обеспечил сохранение данных из Kafka-топиков в систему генеалогии ● Анализировал и исправлял структуру документов, оптимизировал обновления и удаления данных для ClickHouse ● Разработал API для получения и обновления генеалогического дерева и единиц генеалогии ● Провёл рефакторинг сервиса, покрыв ключевые сценарии юнит-тестами ● Добавил поддержку повторной обработки сообщений из топиков ● Реализовал обработку событий вставки данных в сервисе коллектора генеалогии ● Создавал и поддерживал документы по химии и сертификатам, реализовал логику хранения этой информации Состав команды 20 человек (1 менеджер проекта, 2 системных аналитика, 6 backend-разработчиков (Java), 5 frontend-разработчика, 5 QA-инженера, 1 DevOps-инженер)
Java, Spring Boot, Spring Data JPA, Hibernate, PostgreSQL, ClickHouse, Kafka, Camunda BPMN, Liquibase, Hazelcast, Keycloak, OpenShift, Docker, REST API, Swagger/OpenAPI, Unit-тестирование (Spring Test, Mockito), QueryDSL
17 месяцев
Разработка b2c-платформ для разных заказчиков
Роль в проекте Backend-разработчик О проекте Участвовал в разработке и сопровождении нескольких b2c-платформ для разных заказчиков. Среди реализованных решений — сервис оценки стартап-идей, социальная сеть владельцев домашних животных, платформа подачи объявлений и система онлайн-записи в салон красоты. Все проекты отличались архитектурой, назначением и бизнес-задачами, однако были реализованы с применением единого подхода к качественной архитектуре, надежной безопасности и масштабируемости решений. Цели проектов: ● Создание удобных, отказоустойчивых и безопасных сервисов под разные сегменты рынка. ● Реализация новых пользовательских сценариев и масштабирование функциональности. ● Интеграция с внешними системами (аутентификация, платежи, оповещения). ● Повышение удобства для конечного пользователя через продуманную логику и интерфейсы. ● Минимизация ошибок и ускорение разработки за счёт стандартизированного подхода и CI/CD. Архитектура ● Микросервисная архитектура с использованием Spring Boot (в 3 проектах) ● Монолитная архитектура (в проекте Beauty Parlor) ● Использование Keycloak для аутентификации и авторизации ● Взаимодействие сервисов по REST и WebSocket ● Базы данных: PostgreSQL, MySQL, Redis ● Асинхронные очереди: Kafka, RabbitMQ ● API Gateway, S3-хранилища ● Frontend - Angular / JSP в зависимости от проекта Непосредственные задачи ● Реализовал микросервисную архитектуру с использованием Spring Boot и организовал взаимодействие через REST и WebSocket ● Настроил Keycloak и обеспечил безопасную авторизацию и аутентификацию ● Написал бизнес-логику чата с использованием WebSocket и security-контролей ● Разработал API и логику для создания, редактирования и удаления объявлений ● Реализовал хранение временных ссылок и систему уведомлений через Redis и RabbitMQ ● Разработал функциональность онлайн-записи в салон и построения графика работы специалистов ● Внедрил конфигурацию Amazon S3 для хранения документов ● Настроил аудит пользовательских действий и доработал механизмы формирования печатных форм ● Реализовал работу с BPMN (в проекте IdeaBooster) для описания бизнес-процессов ● Настроил миграции через Liquibase, поддерживал несколько сред разработки ● Участвовал в интеграции с внешними API, в т.ч. системами оповещений и аналитики ● Проводил релизы и участвовал в CI/CD-процессах ● Выполнял анализ требований и участвовал в планировании новых модулей ● Покрывал бизнес-логику unit- и интеграционными тестами ● Проводил код-ревью и участвовал в презентации технических решений Состав команды от 3 до 8 человек в каждом проекте (разработчики, QA, аналитики, тимлиды)
Java, Spring Boot, Spring Security, Spring Data JPA, JPA/Hibernate, Spring Transactional, Spring Cloud, Spring MVC, Spring AOP, WebSocket, Liquibase, PostgreSQL, MySQL, Redis, Kafka, RabbitMQ, Amazon S3, OAuth2, JWT, Keycloak, Docker, REST, OpenAPI (Swagger), BPMN, JSP, JakartaEE, Angular, Unit- и интеграционное тестирование (JUnit, Spring Test, Mockito)
23 месяца