Иван К. Java разработчик, Senior
ID 39527
ИК
Иван К.
Senior
Беларусь, Минск, UTC+3
3 644,15 Р/час
вкл. НДС 22% (506 Р)
Специалист доступен с 13 октября 2026 г.
О специалисте
Специализация
Java разработчик
Грейд
Senior
Навыки
Отрасли
Знание языков
Английский — B2
Главное о специалисте
● Разработчик программного обеспечения с более чем 5-летним опытом коммерческой разработки корпоративных приложений и участие в стартап-проектах
● Участие в проектировании и разработке систем различной степени сложности в соответствии с техническими требованиями и поставленными задачами
● Знание основных принципов объектно-ориентированного программирования, паттернов проектирования и практик Clean Code
● Опыт создания и оптимизации микросервисных архитектур
● Опыт работы с облачными сервисами (AWS), контейнеризацией (Docker, Kubernetes) и оркестрацией
● Навыки настройки CI/CD (GitLab, Jenkins, ArgoCD), написания unit- и интеграционных тестов
● Знание принципов SOLID, DRY, ACID, REST, CQRS, Event Sourcing, BASE, eventual consistency
● Понимание концепций DDD и принципов hexagonal architecture
● Опыт применения на практике throttling, rate limit, api gateway
● Опыт технического менторинга внутри команды
● Ответственный, легко обучаем, быстро адаптируется к новым задачам и процессам.
Проекты
(5 лет)Платформа управления заказами и доставкой для ритейл-сети
Роль
Java Developer
Обязанности
Платформа управления заказами и доставкой для ритейл-сети
Разработана масштабируемая микросервисная система для автоматизации обработки заказов, управления складскими остатками и координации доставки в распределённой сети розничных магазинов. Платформа обеспечивает сквозную обработку заказов от оформления до доставки клиенту, поддерживает работу с тысячами заказов в день и интегрируется с CRM, логистическими партнёрами и системами учёта товаров. В основе системы - знание основ языка Java, включая синтаксис, типы данных, переменные, операторы и основные конструкции языка; понимание принципов объектно-ориентированного программирования (ООП) и умение применять их на практике: инкапсуляция, наследование, полиморфизм; навыки работы с коллекциями (ArrayList, HashMap, LinkedList), потоками ввода-вывода (InputStream, OutputStream), многопоточностью (Thread, Runnable); умение работать с аннотациями и мета-аннотациями; знание основных принципов и паттернов проектирования (Singleton, Factory, Observer и т. д.); опыт работы с утилитами из пакета java.util, такими как Date, Calendar, Scanner; умение использовать исключения для обработки ошибок (try-catch, finally, throw, throws)
Достижения
● Разработка микросервисной архитектуры на базе Spring Boot 3 и Java 17, с применением опыта работы с основными компонентами Spring Framework, такими как Spring Core, Spring MVC и Spring Boot - для управления бинами, построения контроллеров и автоконфигурации приложения.
● Реализация REST API для взаимодействия между сервисами, мобильным приложением клиента, кассовыми терминалами и внешними партнёрами (курьерские службы, платёжные шлюзы) - с умением создавать REST API с использованием Spring MVC или Spring Boot, пониманием принципов построения RESTful API и умением создавать их с использованием Java и Spring Framework, знанием основных методов HTTP (GET, POST, PUT, DELETE) и умением правильно их использовать, навыками работы с JSON и XML как с форматами данных для обмена информацией между клиентом и сервером, умением обрабатывать ошибки и возвращать соответствующие коды состояния HTTP, пониманием принципов HATEOAS (Hypermedia as the Engine of Application State) и умением применять их при разработке REST API, навыками работы с фильтрами и перехватчиками для дополнительной обработки запросов и ответов.
● Разработка реактивных компонентов с использованием Spring WebClient для асинхронного взаимодействия между микросервисами.
● Кастомизация дашбордов мониторинга (Spring Boot + Web) с применением HTML/CSS для встраиваемых отчётов по заказам и остаткам.
● Интеграция с платежными системами (Stripe, SberPay) для обработки оплаты онлайн и при получении - с применением знания принципов конфигурирования и управления зависимостями в Spring с использованием XML-конфигурации или аннотаций (использованы аннотации), понимания принципов аспектно-ориентированного программирования (AOP) и умения применять его для логирования, безопасности и т. д. (логирование запросов к платежным шлюзам, проверка подписей через @Aspect).
● Настройка системы разграничения доступа: администратор, оператор склада, курьер, клиент - с использованием Spring Security и JWT, включая защиту эндпоинтов, валидацию токенов и RBAC.
● Оптимизация PostgreSQL: индексирование по ключевым полям, партицирование таблиц по дате, настройка read-replicas для снижения нагрузки на основную БД - с применением навыков работы с Spring Data JPA для упрощения взаимодействия с базами данных и умения использовать Spring Transactions для управления транзакциями (аннотация @Transactional на уровне сервисов).
● Внедрение Redis для кэширования данных о наличии товаров, активных заказах и сессиях пользователей - сокращение времени отклика на 60%.
● Асинхронная обработка событий через Kafka: изменение статуса заказа, обновление остатков, уведомления клиентов и синхронизация с внешними системами - с использованием многопоточности (Thread, Runnable) и асинхронных слушателей.
● Поддержка загрузки и хранения документов (чеки, накладные, фото упаковки) в AWS S3 с контролем доступа и шифрованием - с применением потоков ввода-вывода (InputStream, OutputStream) для чтения и записи файлов.
● Внедрение паттерна CQRS в модуле аналитики: отдельные модели для записи операций и быстрого чтения отчётов по продажам и эффективности доставки - как пример применения паттернов проектирования (Factory, Observer - для обработки событий изменения данных).
● Настройка API Gateway на базе Spring Cloud Gateway для маршрутизации запросов, ограничения частоты вызовов и агрегации ответов.
● Настройка rate limiting и throttling на уровне API Gateway (Spring Cloud Gateway) для защиты от DDoS и контроля нагрузки.
Сюда же в конец:
● Опыт работы с LLM (OpenAI API) для генерации контента
● Контейнеризация всех сервисов с помощью Docker, оркестрация в Kubernetes (EKS) с горизонтальным автомасштабированием.
● Уверенная работа в Linux (bash/zsh): автоматизация задач через shell-скрипты (бэкапы, ротация логов, очистка дискового пространства).
● Автоматизация процессов CI/CD с использованием GitLab CI/CD и Helm.
● Написание unit- и интеграционных тестов с применением JUnit 5, Mockito, TestContainers и WireMock для имитации внешних API (логистика, платежи) - с полным покрытием логики, включая обработку исключений (try-catch, finally, throw, throws) и проверку поведения при ошибках.
● Мониторинг состояния сервисов и метрик производительности с помощью Prometheus и визуализация в Grafana (время обработки заказа, количество ошибок, задержки в очередях).
● Централизованное логирование через ELK-стек (Elasticsearch, Logstash, Kibana) для анализа инцидентов и аудита операций - с применением AOP для логирования и аннотаций для маркировки критических операций.
● Применение принципов TDD (Test-Driven Development) при разработке новых микросервисов и рефакторинге существующих модулей, с написанием тестов до реализации бизнес-логики.
● Углублённое понимание сетевого стека OSI, использование знаний уровней (прикладной, транспортный, сетевой) для тонкой настройки таймаутов, диагностики сетевых задержек и отладки взаимодействия между микросервисами в Kubernetes.
Стек специалиста на проекте
PostgreSQL, HTML, CSS, Docker, Kotlin, REST API, Mockito, Linux, MongoDB, Grafana, Kubernetes, AWS, Prometheus, JWT, Zsh, Data, ClickHouse, Shell, Helm, Kafka, Java 11, Security, WireMock, Web, JUnit 5, TestContainers, ELK Stack, Redis, CQRS, Spring, S3, GitLab CI/CD, EKS, OpenAPI, cloud, RDS, webclient, AsyncAPI, Linux (Bash), Spring boot 3, Spring Cloud Gateway
Отрасль проекта
E-commerce & Retail
Период работы
Октябрь 2024 - По настоящее время
(2 года 1 месяц)
Платформа цифрового банковского обслуживания и управления финансовыми продуктами
Роль
Java Developer
Обязанности
Платформа цифрового банковского обслуживания и управления финансовыми продуктами
Разработана масштабируемая цифровая платформа для предоставления широкого спектра банковских услуг: открытие счетов, управление депозитами и кредитами, межбанковские переводы, выпуск виртуальных и физических карт, а также персонализированные финансовые рекомендации. Система поддерживает высокую нагрузку, обеспечивает соответствие требованиям безопасности (PSD2, GDPR), интегрируется с внешними системами (SWIFT, НСПК, бюро кредитных историй) и гарантирует непрерывность сервиса.
● Разработка микросервисной архитектуры на базе Java 17 и Spring Boot для обеспечения гибкости, отказоустойчивости и простоты масштабирования.
● Реализация REST API и gRPC-интерфейсов для взаимодействия мобильного и веб-банкинга, внутренних сервисов и внешних партнёров (платёжные системы, НСПК, SWIFT).
● Интеграция с системами быстрых платежей (СБП, Visa Direct, Mastercard Send) и платёжными шлюзами для обработки транзакций в реальном времени.
● Создание многоуровневой системы разграничения доступа: клиент, операционист, риск-менеджер, администратор, аудитор (Spring Security, OAuth2, JWT).
● Оптимизация PostgreSQL: партицирование таблиц по датам операций, индексирование по ключевым полям, настройка логической репликации и горячего резерва для повышения производительности и отказоустойчивости.
● Реализация кэширования данных о балансах, лимитах и тарифах с использованием Redis, включая поддержку распределённых блокировок и политик хранения.
● Разработка модуля обработки финансовых операций с поддержкой резервирования средств, двойной записи (double-entry) и отложенных платежей.
● Интеграция с Elasticsearch для быстрого поиска по транзакциям, клиентским данным и документам с фильтрацией и подсветкой результатов.
● Настройка асинхронной обработки событий через RabbitMQ / Apache Kafka для рассылки уведомлений, проверки мошенничества и фоновой обработки платежей.
● Настройка CI/CD-пайплайнов с использованием GitLab CI/CD и Jenkins, включающих автоматическое тестирование, статический анализ кода и безопасный деплой в staging/prod-среды.
● Написание unit- и интеграционных тестов с использованием JUnit 5, Mockito, TestContainers, WireMock для изоляции зависимостей и имитации внешних банковских API.
● Мониторинг метрик производительности и состояния сервисов с помощью Prometheus и визуализация в Grafana.
● Централизованное логирование и анализ ошибок через ELK-стек (Elasticsearch, Logstash, Kibana) с алертингом по критическим событиям.
Стек специалиста на проекте
PostgreSQL, RabbitMQ, Docker, Elasticsearch, REST API, Mockito, Spring Boot, Grafana, Kubernetes, Prometheus, JWT, AMQP, Spring Data JPA, Amazon S3, gRPC, Security, WireMock, OAuth 2.0, Web, JUnit 5, TestContainers, ELK Stack, Redis, WebSockets, GitLab CI/CD, cloud, Java 17-21, Kafka 3
Отрасль проекта
FinTech & Banking
Начало работы
Апрель 2023 - Сентябрь 2024
(1 год 6 месяцев)
Платформа автоматизации бизнес-процессов для телекоммуникационной компании
Роль
java developer
Обязанности
Платформа автоматизации бизнес-процессов для телекоммуникационной компании
Разработана централизованная система управления бизнес-процессами для крупного телеком-оператора, обеспечивающая полную автоматизацию сквозных операций: от подключения новых клиентов и активации услуг до обработки заявок на техническое обслуживание и управления изменениями в инфраструктуре. Платформа обеспечивает прозрачность, контроль SLA, снижение ручного труда и соответствие внутренним регламентам и отраслевым стандартам.
● Внедрение Camunda BPM 8 (Zeebe + Operate) в качестве ядра оркестрации процессов — реализовано более 60 BPMN-диаграмм.
● Разработка микросервисной архитектуры на базе Java 17 и Spring Boot, где каждый сервис отвечает за выполнение специфической операции.
● Интеграция Camunda с внешними системами через REST API, JMS и Kafka — запуск процессов по событиям из CRM, биллинга и сетевого мониторинга.
● Реализация распределённых транзакций по паттерну SAGA.
● Создание единого интерфейса рабочих заданий (Task List UI) на основе Camunda Tasklist и кастомного веб-приложения для менеджеров, инженеров и колл-центра.
● Оптимизация PostgreSQL, используемой как хранилище истории процессов: партицирование таблиц по дате, индексирование по ключевым полям, настройка read-replicas для нагрузки на аналитику.
● Внедрение CQRS в модулях отчётности: данные о ходе выполнения процессов реплицируются в Elasticsearch и MongoDB для быстрого поиска, фильтрации и построения дашбордов.
● Реализация механизма контроля SLA: процессы с автоматическим оповещением при приближении к лимиту времени выполнения этапа.
● Настройка API Gateway (Spring Cloud Gateway) как единой точки входа для клиентских приложений, внутренних сервисов и внешних партнёров.
● Внедрение CI/CD-пайплайнов с использованием GitLab CI/CD и ArgoCD.
● Мониторинг выполнения процессов и метрик производительности через OpenTelemetry, Prometheus и визуализацию в Grafana (среднее время обработки, количество зависших экземпляров, ошибки).
● Централизованное логирование и анализ инцидентов с помощью Loki и Grafana, с корреляцией по processInstanceId и traceId.
● Реализация системы безопасности: JWT-аутентификация, Spring Security, ролевой доступ (оператор, инженер, администратор), двухфакторная аутентификация для административных действий, аудит всех изменений в процессах.
● Написание unit- и интеграционных тестов для делегатов, listener’ов и сервисных задач с использованием JUnit 5, Mockito, TestContainers и Camunda Test Assertions.
Стек специалиста на проекте
PostgreSQL, Elasticsearch, REST API, Mockito, Spring Boot, MongoDB, Swagger, Grafana, Kubernetes, Prometheus, JWT, Kafka, Java 8, Camunda BPM, JUnit 5, TestContainers, Loki, Zeebe, GitLab CI/CD, EKS, operate, Argo CD, Spring Cloud Gateway, OpenTelemetry
Отрасль проекта
Telecom
Начало работы
Ноябрь 2021 - Март 2023
(1 год 5 месяцев)
Формат работы
Объем участия в проекте
Высокая нагрузка
Формат взаимодействия
Удаленный
Командировки
Не готов
Релокация
Не готов
Готов работать на зарубежных проектах
Нет
Образование
Высшее
Учебное заведение
Белорусский национальный технический университет
Специальность
Факультет информационных технологий и робототехники, Программное обеспечение информационных технологий, 2020
Завершение учебы
2020 г.