Михаил Т. Java разработчик, Senior
ID 27312
МТ
Михаил Т.
Senior
Беларусь, Минск, UTC+3
3 327,27 Р/час
вкл. НДС 22% (462 Р)
Специалист доступен с 14 октября 2026 г.
О специалисте
Специализация
Java разработчик
Грейд
Senior
Навыки
Отрасли
Знание языков
Русский — C2
Английский — B2
Главное о специалисте
▪ Разработчик программного обеспечения с более чем 5 летним опытом коммерческой разработки корпоративных приложений и стартапов
▪ Разработка и проектирование систем различной степени сложности в соответствии с техническими требованиями и поставленными задачами
▪ Знание и опыт применения основных парадигм и принципов объектно-ориентированного программирования, паттернов проектирования, наилучших мировых практик в области разработки программного обеспечения (SOLID, KISS, ООП)
▪ Разработка и модернизация высокоэффективных, высоконагруженных, масштабируемых микро сервисных приложений
▪ Опыт разработки с использованием облачных сервисов (AWS)
▪ Опыт использование и настройка CI/CD процессов (Gitlab, Jenkins, Bitbucket)
▪ Анализ существующих решений, их улучшение и адаптация к требованиям бизнес процессов
▪ Знание принципов SOLID, DRY, ACID, Clean Code
▪ Коммуникабелен, мотивирован, быстро осваивается и погружается в текущие процессы любой команды. Нацелен на результат и решение задач.
Решаемые задачи
76
Реализовать функциональные возможности системы согласно бизнес-требованиям
Разработать модули платформы на Java
Разработать схему взаимодействия микросервисов и модель данных
Провести исследовательский анализ данных (EDA)
Провести анализ технических требований к задаче
Реализовать бизнес-логику отдельного микросервиса
Верстать пользовательские интерфейсы
Реализовать бизнес-логику приложения согласно ТЗ
Настроить взаимодействие с внешним облачным сервисом
Разработать модуль обработки финансовых транзакций
Проекты
(5 лет 2 месяца)Платежный шлюз
Роль
Java Developer
Обязанности
Разработка шлюзового решения (Шлюз СПФС) для обеспечения надёжного и безопасного обмена финансовыми сообщениями между внутренней системой СПФС и внешним Global Hub (IFTAS). Проект реализован в виде двух микросервисов: hub (взаимодействие с Global Hub по REST API) и bridge (взаимодействие с внутренними МС СПФС через Kafka, валидация, верификация и маршрутизация сообщений). Система обеспечивает полный цикл обработки входящих и исходящих пакетов, включая проверку подписей, валидацию по XSD, логирование статусов и ответов.
• Проектирование архитектуры распределённой системы на базе Spring Cloud: организация маршрутизации запросов через Spring Cloud Gateway, реализация service discovery с использованием Netflix Eureka для динамического обнаружения сервисов, настройка централизованного управления конфигурациями через Spring Cloud Config с профилями для разных окружений.
• Внедрение Camunda BPM для оркестрации бизнес-процессов: разработка BPMN-диаграммы, описывающей жизненный цикл обработки финансовых пакетов (входящая валидация, верификация, маршрутизация, отправка статусов; исходящее формирование ответов и подтверждений); настройка интеграции Camunda с сервисами через REST API и Kafka, обеспечивающей прозрачное управление состояниями и логирование этапов выполнения.
• Настройка rate limiting и throttling на уровне Spring Cloud Gateway с использованием Redis Rate Limiter, что позволило защитить внутренние сервисы от перегрузок и обеспечить равномерное распределение нагрузки в пиковые часы, а также соблюсти SLA с внешним Global Hub. Разработка кастомных стратегий ограничения запросов в зависимости от типа финансовых сообщений и приоритета клиентов.
• Реализация hub-сервиса для приёма пакетов от Global Hub по REST API с использованием Spring Cloud Gateway для маршрутизации и балансировки нагрузки, и их последующей передачи в bridge-сервис через WebSocket с динамическим выбором канала в зависимости от типа сообщения.
• Разработка bridge-сервиса для обработки входящих сообщений: извлечение payload, верификация электронной подписи, валидация по XSD-схемам (XSD 1.1) с использованием кастомных валидаторов, с интеграцией процессов Camunda для управления статусной моделью.
• Обеспечение исходящего направления: формирование ответных пакетов от внутренних МС СПФС, отправка подтверждений и статусов в Global Hub через REST API с реализацией повторных попыток, обработкой ошибок и логированием всех транзакций.
• Настройка асинхронного взаимодействия между сервисами через Kafka (продюсеры и консьюмеры), оптимизация партиционирования, размера батчей и сериализации для достижения минимальных end-to-end задержек.
• Внедрение комплексной стратегии безопасности: управление сертификатами и ключами для верификации подписей, шифрование TLS, аутентификацию и авторизацию на уровне API через Spring Security и OAuth2, защиту от повторных атак.
• Обеспечение отказоустойчивости и высокой доступности системы через паттерн Circuit Breaker (Resilience4j), механизмы retry, health checks и автоматическое восстановление при сбоях, минимизировав время простоя.
• Организация централизованного логирования и мониторинга с использованием Graylog и ELK Stack для отслеживания транзакций, ошибок и производительности в реальном времени; настроил сбор метрик и алертов.
• Настройка хранения и управления артефактами через Nexus, сборку и зависимости в Maven с профилями для разных окружений.
• Написание интеграционных и модульных тестов с использованием spring-boot-starter-test, Mockito и JUnit, что обеспечило стабильность сервисов при высоких нагрузках; внедрение TDD-подхода при разработке критичных компонентов.
• Активное использование LLM-инструменты (ChatGPT, GitHub Copilot) для ускорения разработки: генерация шаблонного кода, написание unit-тестов, подготовка документации по API, рефакторинг и оптимизация существующих методов, что сократило время на рутинные задачи на 20–30%.
• Участие в планировании релизов, декомпозиции эпиков, оценке трудозатрат и управлении техническим долгом, контролировал качество релизных кандидатов.
• Проведение code review, обучение младших разработчиков, внедрение стандартов кодирования и архитектурных паттернов, организация технических сессий для обмена опытом внутри команды.
• Координация интеграционного взаимодействия с внешней стороной (Global Hub): согласовывание форматов сообщений, протоколы, SLA, организация совместного тестирования и отладки межсистемных сценариев, минимизируя риски на стыке систем.
• Документирование API (OpenAPI/Swagger) и внутренних интерфейсов, подготовка эксплуатационной документации и руководства для команды, включая описание BPMN-процессов в Camunda.
• Развёртывание и сопровождение микросервисов в Linux-окружении (Red Hat / CentOS) с использованием Docker и Kubernetes
Стек специалиста на проекте
Docker, XML, JSON, JUnit, Mockito, Spring Boot, Maven, Spring Security, Kubernetes, Lombok, XSD, Nexus, SLF4J, Spring Cloud, Eureka, OAuth 2.0, Graylog, Camunda BPM, ELK Stack, JAXB, Redis, Spring Cloud Config, GitLab CI/CD, Spring WebSocket, Java 21, Spring Kafka, Resilience4j, Spring Cloud Gateway, OpenAPI/Swagger
Отрасль проекта
FinTech & Banking
Период работы
Октябрь 2025 - По настоящее время
(1 год 1 месяц)
Система управления складскими запасами
Роль
Java Developer
Обязанности
Разработка системы управления складскими запасами для крупного ритейлера. Система автоматизировала процессы учёта, заказа и распределения товаров между филиалами. Проект включал в себя создание комплексной системы управления складскими запасами, которая позволила компании оптимизировать свои операции и повысить эффективность логистических процессов. В рамках проекта была разработана архитектура микросервисов с использованием современных технологий, что обеспечило высокую производительность и масштабируемость системы. Помимо основных функций, система включала инструменты для анализа данных, прогнозирования спроса и управления транспортировками.
• Реализация модуля управления запасами, включая прогнозирование спроса с использованием исторических данных и алгоритмов машинного обучения.
• Разработка микросервиса прогнозирования спроса на Kotlin с использованием Spring WebFlux и корутин для асинхронной обработки больших объёмов исторических данных; интеграция с Kafka и PostgreSQL.
• Настройка и развёртывание приложений в Linux-среде (Ubuntu/CentOS) с использованием bash-скриптов для автоматизации рутинных операций.
• Разработка RESTful API для интеграции с внутренними сервисами компании и внешними поставщиками, включая поддержку OpenAPI спецификаций.
• Внедрение системы ролевого доступа с использованием Spring Security для ограничения прав сотрудников на основе их ролей и уровней доступа.
• Настройка механизмов автоматической синхронизации данных между филиалами через Apache Kafka, включая реализацию надёжных очередей сообщений и обработчиков ошибок.
• Оптимизация запросов к базе данных PostgreSQL и реализация кеширования с использованием Redis для повышения производительности системы.
• Разработка модуля отчётности с экспортом данных в Excel и PDF, включая использование Jasper Reports для создания сложных отчётов.
• Интеграция с системой управления транспортировками (TMS) через SOAP API, включая разработку и тестирование интерфейсов взаимодействия.
• Проведение миграции данных из устаревших систем на PostgreSQL с использованием Flyway для управления миграциями базы данных.
• Установка и конфигурация Jenkins (Groovy DSL) для CI/CD процессов, включая автоматизацию сборки и деплоя приложений.
• Развёртывание и конфигурация приложений в Linux-окружении (Ubuntu/Debian/CentOS)
• Написание unit и integration тестов с использованием Junit и Mockito для обеспечения качества кода и предотвращения регрессии.
• Написание автотестов с использованием Selenium
• Мониторинг системы с использованием Grafana и Prometheus для отслеживания производительности и выявления проблем в реальном времени.
Стек специалиста на проекте
PostgreSQL, Docker, XML, JSON, Java, UML, Kotlin, Selenium, Bitbucket, JUnit, REST API, Mockito, Linux, Hibernate, Jenkins, Spring Security, Swagger, Grafana, Kubernetes, GitLab, Data, Flyway, Spring MVC, Groovy, SonarQube, WebFlux, Kafka, XSL, Security, SOAP API, JasperReports, ELK Stack, JAXB, Redis, CI/CD, Spring, Java 17, boot, sax
Отрасль проекта
RnD
Начало работы
Июль 2024 - Октябрь 2025
(1 год 4 месяца)
Создание платформы для управления заявками и проектами в IT-компании
Роль
Java Developer
Обязанности
Создание платформы для управления заявками и проектами в IT-компании, позволяющей автоматизировать процессы согласования и выполнения задач. Проект включал в себя разработку полнофункциональной платформы для управления заявками и проектами, которая помогла IT-компании улучшить управление своими ресурсами и повысить эффективность выполнения задач. Была реализована микросервисная архитектура, обеспечивающая гибкость и масштабируемость системы. Платформа также включала инструменты для отслеживания статуса задач и оповещений пользователей.
• Разработка микросервисной архитектуры для управления заявками, задачами и отчётностью, включая использование Docker и Kubernetes для контейнеризации и оркестрации сервисов.
• Построение системы оповещений для уведомления пользователей о статусе задач через email и push-уведомления с использованием ArtemisMQ и AWS SNS.
• Реализация сервиса уведомлений на Kotlin с интеграцией ArtemisMQ и AWS SNS; использование Kotlin-специфичных возможностей (data classes, scope-функции) для повышения читаемости и сокращения boilerplate-кода.
• Внедрение ролевой модели доступа с разграничением прав пользователей, включая настройку авторизации и аутентификации с помощью Spring Security и OAuth2.
• Разработка системы фильтрации заявок с использованием Elasticsearch для быстрого поиска и фильтрации данных.
• Интеграция с внешними системами учёта рабочего времени через REST API, включая написание документации и тестирование интерфейсов.
• Оптимизация запросов к базе данных PostgreSQL и проведение миграции данных с использованием Liquibase для управления изменениями базы данных.
• Написание unit и integration тестов с использованием Junit и Mockito для проверки корректности работы сервисов и обеспечения качества кода.
• Конфигурация и настройка GitLab CI/CD для автоматизации сборки и деплоя приложений, включая создание пайплайнов для различных окружений.
• Мониторинг системы с использованием Datadog для отслеживания производительности и выявления проблем в реальном времени.
• Разработка и поддержка документации для новых функций и обучающих материалов для команды.
Стек специалиста на проекте
PostgreSQL, Docker, Elasticsearch, XML, JSON, UML, Kotlin, Bitbucket, JUnit, Mockito, Linux, Hibernate, Kubernetes, AWS, Data, Spring MVC, SonarQube, WebFlux, Lambda, Java 11, XSL, Security, SQS, JAXB, EC2, Spring, Datadog, S3, IAM, SNS, GitLab CI/CD, boot, RDS, ArtemisMQ, gateway, sax
Отрасль проекта
RnD
Начало работы
Ноябрь 2022 - Июнь 2024
(1 год 8 месяцев)
Формат работы
Объем участия в проекте
Высокая нагрузка, Низкая нагрузка (4 ч/день)
Формат взаимодействия
Удаленный
Командировки
Не готов
Релокация
Не готов
Готов работать на зарубежных проектах
Да
Образование
Высшее
Учебное заведение
БГУ
Специальность
факультет радиофизики и компьютерных технологий, прикладная информатика
Завершение учебы
2023 г.