Summary
Обо мне
Experienced Java Developer with 5+ years of expertise in designing and implementing high-load, scalable systems. Strong background in system integrations (REST, SOAP, messaging, DB links) and optimization of business processes. Skilled in building solutions from scratch, modernizing legacy systems, and mentoring developers.
Java-разработчик с 5+ годами опыта разработки высоконагруженных и масштабируемых систем. Сильный бэкграунд в интеграциях (REST, SOAP, очереди, DB links) и оптимизации бизнес-процессов. Умею поднимать решения с нуля, работать с legacy-кодом и менторить разработчиков.
Experience
Опыт
Sportmaster Russia — Lead Java DeveloperВедущий Java-разработчик
- Developed a system to automate interaction with temporary staff, reducing calculation time and minimizing payment errors.
- Reduced boilerplate for auditing entities by ~90% with a custom Java Reflection-based solution (from dozens of lines to ~5 per field).
- Designed and implemented new modules from scratch, wrote technical documentation.
- Integrated with internal systems via REST, SOAP, DB Links, database views, RabbitMQ.
- Conducted code reviews, ensured code quality and consistency.
- Built a Telegram bot for staff notifications, integrated with the core system.
- Разрабатывали систему автоматизации взаимодействия с временным персоналом, для сокращения времени расчётов и снижения ошибок в выплатах.
- Сократил шаблонный код аудита сущностей ~на 90% с помощью кастомного решения на Reflection (с десятков строк до ~5 на поле).
- Проектировал и создавал новые модули с нуля, вёл техническую документацию.
- Интегрировал систему с внутренними сервисами через REST, SOAP, DB Links, представления БД, RabbitMQ.
- Проводил code review, отвечал за качество и единые практики.
- Разработал Telegram-бота для уведомлений персонала с интеграцией в основную систему.
Stack: Java 21, Spring (Boot, JDBC, Web, StateMachine), Oracle DB, RabbitMQ, Telegram Bot API, Maven, REST, SOAP, Quartz
ITentika — Java Developer
- Implemented SSO by unifying two legacy systems with distinct user databases (linked only by email), independently analyzing undocumented legacy code.
- Built a new project from scratch: architecture, entities, services, controllers.
- Maintained and enhanced a video platform with 300,000+ live cameras (Groovy/Grails).
- Migrated auth/session logs to ClickHouse, improving analytics from 1–2 hours to ~30 seconds.
- Integrated with government IS via Kafka; introduced Docker Compose (DB, Nginx, Frontend) for full-stack local development.
- Mentored 4 interns to Middle Developer level.
- Внедрил SSO, объединив две легаси-системы с разными БД (совпадал только email), самостоятельно разобравшись без документации.
- Разрабатывал проект с нуля: архитектура, сущности, сервисы, контроллеры.
- Поддерживал и развивал видеоплатформу с 300 000+ камер (Groovy/Grails).
- Перевёл логи аутентификации/сессий в ClickHouse, ускорив аналитику с 1–2 часов до ~30 секунд.
- Интеграции с ГИС через Kafka; ввёл Docker Compose (БД, Nginx, фронт) для локальной full-stack разработки.
- Менторил 4 стажёров до уровня Middle.
Stack: Java 8–21, Spring Boot, Grails, Groovy, PostgreSQL, MariaDB, Redis, Kafka, RabbitMQ, Keycloak, ClickHouse, Docker, Kubernetes, Liquibase
Motion Web LLC — Java Developer
- Built a housing & utilities automation system (Spring Boot, PostgreSQL).
- Developed microservices for a real-estate company (employee/client portals, document metadata, notifications).
- Worked on new features, bug fixing, integration testing, and code reviews.
- Создал систему автоматизации для ЖКХ (Spring Boot, PostgreSQL).
- Разрабатывал микросервисы для риэлторской компании (кабинеты, метаданные документов, уведомления).
- Занимался фичами, багфиксами, интеграционными тестами, code review.
Stack: Java 11, Spring Boot/Cloud, PostgreSQL, MongoDB, Kafka, Docker, Liquibase, JUnit, ELK, Prometheus, Grafana
Achievements
Достижения
- Mentored 4 interns to Middle Developer level.
- Integrated two legacy systems under a Single Sign-On solution without documentation.
- Reduced boilerplate for audits by ~90% via reflection automation.
- Cut video analytics time from hours to ~30 seconds using ClickHouse.
- Designed and integrated a Telegram bot for staff notifications.
- Introduced Docker Compose for simplified onboarding and testing.
- Менторил 4 стажёров до уровня Middle.
- Объединил две легаси-системы под SSO без документации.
- Сократил шаблонный код аудита ~на 90% за счёт reflection-автоматизации.
- Сократил время аналитики с часов до ~30 секунд (ClickHouse).
- Спроектировал и интегрировал Telegram-бота для уведомлений персонала.
- Внедрил Docker Compose для упрощения онбординга и тестирования.
Projects & Case Studies
Проекты и Кейсы
Case — Sportmaster
Кейс — Sportmaster
Context: Automation of onboarding, payments and interactions with temporary staff. Multiple internal integrations and external API constraints.
Контекст: Автоматизация оформления, выплат и взаимодействия с временным персоналом. Много внутренних интеграций и ограничения внешних API.
Role: Lead Developer — decomposition, estimations, dependency planning, core development, code review.
Роль: Ведущий разработчик — декомпозиция, оценки, планирование зависимостей, разработка ядра, code review.
Problem → Actions → Outcome:
- Problem: Manual calculations and error-prone payments; complex SOAP/REST integrations.
- Actions: Turned business requirements into technical tasks with estimates & dependencies. Stabilized SOAP (fixed WSDL/XSD), built resilient REST integration (with throttling), aligned RabbitMQ contracts.
- Outcome: Faster calculations and fewer payment errors; ~90% boilerplate reduction via reflection-based auditing; easier extensibility.
Проблема → Действия → Результат:
- Проблема: Ручные расчёты и ошибки в выплатах; сложные SOAP/REST интеграции.
- Действия: Превращал бизнес-требования в набор задач с оценками и зависимостями. Делал устойчивые REST-интеграции с ограничениями, согласовал контракты RabbitMQ со смежными командами.
- Результат: Быстрее расчёты и меньше ошибок; ~90% сокращение бойлерплейта через reflection-аудит; проще расширять модель.
Tech notes (SOAP/REST/Quartz/RabbitMQ)
Техподробности (SOAP/REST/Quartz/RabbitMQ)
- SOAP: Fixed incomplete WSDL/XSD; generated stable Java XML bindings.
- SOAP: Правил неполные WSDL/XSD; генерировал стабильные Java XML биндинги.
- REST (FNS): API 2 req/min → Quartz job every 35s; on limit exceed pause 1m. Handled Quartz misfire (policies <5m essentially ignored) via custom logic.
- REST (ФНС): Лимит 2 запр./мин → Quartz-джоба каждые 35 сек; при превышении — пауза 1 мин. Нашёл особенности Quartz misfire (политики <5 мин по умолчанию по факту игнорятся) перечитав очень много "древних" статей.
- RabbitMQ: Contract alignment with adjacent team; minimal required fields to reduce coupling.
- RabbitMQ: Согласование контракта со смежной командой; минимальный набор полей для снижения связности.
- Telegram: Spring AOP router for bot updates, mapping style like @GetMapping/@PostMapping.
- Telegram: Роутер на Spring AOP для апдейтов бота, с аннотациями в стиле @GetMapping/@PostMapping.
Case — ITentika
Кейс — ITentika
Context: SSO for two legacy systems, video platform (300k+ cameras), new project from scratch, engineering practice improvements.
Контекст: SSO для двух легаси-систем, видеоплатформа (300k+ камер), новый проект «с нуля», улучшение инженерных практик.
Problem → Actions → Outcome:
- Problem (SSO): Different user DBs, only email in common; no docs/mentor.
- Actions: In ~2 weeks reverse-engineered legacy flows and implemented unified sign-in.
- Outcome: Single entry point, fewer errors and duplicate accounts.
- Problem (Analytics): Slow auth/session analytics on monolith logs.
- Actions: Split logging into a WebFlux + ClickHouse service.
- Outcome: Queries improved from 1–2 hours to ~30 seconds (team result).
Проблема → Действия → Результат:
- Проблема (SSO): Разные БД пользователей, совпадает только email; нет документации/наставника.
- Действия: За ~2 недели реконструировал легаси-потоки и внедрил единый вход.
- Результат: Одна точка входа, меньше ошибок и дублей аккаунтов.
- Проблема (Аналитика): Медленные запросы по логам аутентификации/сессий.
- Действия: Выделили сервис логирования на WebFlux + ClickHouse.
- Результат: Запросы ускорились с 1–2 часов до ~30 секунд (результат команды).
Tech notes (SSO / WebFlux+ClickHouse / Enums)
Техподробности (SSO / WebFlux+ClickHouse / Enum)
- SSO: Reverse-engineered login flows; unified auth where only email matched.
- SSO: Реверс-инжиниринг потоков логина; унификация аутентификации при совпадении только email.
- Analytics: Separated logging pipeline; ClickHouse schema for fast reads; WebFlux for throughput.
- Аналитика: Разделили pipeline логов; схема ClickHouse под быстрые чтения; WebFlux для пропускной способности.