1. Профиль
-
Архитектор программного обеспечения
-
Ведущий разработчик
-
Инженер по оптимизации производительности
-
Архитектор баз данных
2. О себе
Старший архитектор программного обеспечения с опытом более 20 лет в области создания эффективных и инновационных решений на основе Java / Open source / Linux. Занимался руководством проектами и разработкой архитектуры корпоративного уровня. Обладаю экспертизой в обеспечении безопасности, оптимизации производительности и разработке масштабируемых систем. Готов принимать руководящую роль в команде разработчиков. Имею опыт проведения технических собеседований. Умею эффективно работать как по классическим, так и по гибким процессам разработки, фокусируя внимание на задачах заказчика и тщательно соблюдая установленные сроки. На протяжении всей профессиональной деятельности моё увлечение программированием и активное участие в разработке никогда не прекращались.
Некоторые мои опен-сорс проекты:
-
https://github.com/sugar-cubes/sugar-cubes-cloner - Java deep cloning library
-
https://github.com/asdf-community/asdf-jetbrains - ASDF plugin for JetBrains products
3. Образование
Белорусский государственный университет, Факультет прикладной математики и информатики, Математик - системный программист, 1996-2001 гг.
5. Навыки и технологии
-
Теория: Глубокое понимание алгоритмов, структур данных и основ компьютерных наук успешно интегрирую в практическую разработку, обеспечивая создание эффективных и оптимизированных решений в области программного обеспечения.
-
Проектирование ПО: Навыки в проектировании отказоустойчивых, масштабируемых и высоконагруженных систем, применении архитектурных шаблонов и принципов.
-
Языки программирования: Java (а также Groovy, Kotlin) — основной язык.
-
Библиотеки, фреймворки и продукты: Знание и опыт работы с популярными библиотеками и фреймворками в Java-экосистеме а также с комплементарными продуктами (Apache Commons, Caffeine, GeoIP, gRPC/Protobuf, Gson, Guava, Hibernate, HikariCP (и другие пулы соединений), Jackson, Jetty JUnit, Kafka, Logback, Mockito, MySQL, Oracle Database, POI/jXLS, PostgreSQL, Project Reactor, Quartz, Redis (Jedis/Redisson), SLF4J, Spring Boot, Spring Framework (и Spring Projects), Spring Security, SQL Server, Thymeleaf, Tomcat, Wicket, Wildfly, etc.).
-
Сборка, интеграция и доставка: Практический опыт в сборке и доставке проектов, включая современные инструменты для автоматизации сборки, тестирования и развертывания, что обеспечивает эффективный, надежный и непрерывный цикл интеграции и доставки программного обеспечения.
-
Проектирование БД: Разработка и оптимизация структуры баз данных, опыт работы с реляционными и NoSQL базами данных.
-
SQL: Глубокие знания и практический опыт работы с SQL.
-
Контейнеры: Опыт работы с контейнеризацией, включая Docker.
-
Нагрузочное тестирование: Разработка, проведение и анализ нагрузочных тестов.
-
Оптимизация производительности: Умение оптимизировать производительность приложений на различных уровнях.
-
Проверка кода: Использование метрик для оценки качества кода и принятия решений по его улучшению.
-
Организация процесса разработки: Управление процессом разработки, внедрение лучших практик разработки ПО.
-
Проведение интервью: Опыт проведения технических собеседований и оценки квалификации кандидатов.
-
Широкий кругозор: Понимание методологий разработки ПО, принципов и процессов тестирования, практик DevOps.
6. Опыт работы
6.1. Auxilium Wealth Place, 04.2022 - 11.2023
Auxilium Wealth Place — технологическая платформа, предназначенная для управления активами и финансового планирования. Она позволяет менеджерам по работе с клиентами и специалистам связывать потребности клиентов с утвержденными поставщиками услуг, учитывая правила консультирования в разных странах.
С точки зрения технологии система представляет собой каталог поставщиков и их услуг. Она включает в себя публичную часть с поиском и фильтрами и раздел администратора для управления информацией.
6.1.1. Задачи
-
Организация разработки проекта, включая планирование, выделение задач и управление командой разработчиков.
-
Реализация структуры модулей и сборки, обеспечивая легкость сопровождения и масштабирования проекта.
-
Проектирование базы данных, включая разработку схемы, оптимизацию запросов и обеспечение надежности данных.
-
Полная реализация модуля по миграции гетерогенных данных заказчика (базы данных, файлы) в новую БД, включая нормализацию данных и обеспечение их целостности.
6.2. Интернет- и мобильный банк для группы Raiffeisen Bank International, 07.2020 - 02.2022
Raiffeisen Bank International — одна из крупнейших австрийских банковских групп, кооперативный банк. Штаб-квартира находится в Вене. Помимо Австрии ведёт работу ещё в 14 странах Центральной и Восточной Европы, обслуживая 17,2 миллиона клиентов.
В рамках проекта было разработано IT-решение для Райффайзен Банка. Мы создали комплексную систему, объединяющую онлайн и мобильные каналы банка, портал для частных и корпоративных клиентов, интегрированную логику PFM, функциональность цифровых продаж, административную консоль, а также интеграцию системы безопасности и расширенные возможности отчетности.
6.2.1. Задачи
-
Разработка архитектуры монолитного приложения на платформе Java с учетом требований проекта и оптимальной интеграции с существующей инфраструктурой.
-
Шаблоны модулей, система сборки проекта и доставки заказчику.
-
Полная реализация модуля аутентификации/авторизации, включая проектирование БД, учитывая стандарты безопасности и строгие требования по производительности.
-
Интеграция с IBM MQ для обеспечения надежного и асинхронного обмена данными в рамках системы.
-
Разработка механизмов обнаружения и защиты от сбоев для обеспечения высокой доступности модулей.
6.3. Интернет- и мобильный банк для Росбанка, 05.2019 - 10.2020
ПАО Росбанк — российский универсальный банк, главным акционером банка является российская Группа Интеррос. Штаб-квартира находится в Москве. Включён Банком России в перечень системно значимых кредитных организаций.
Проект включал разработку нового мобильного приложения. Проект обеспечил доступ более 4 миллионов физических и юридических лиц из 70 регионов России к основным банковским услугам через различные каналы, поддерживая высокие стандарты безопасности и кредитные рейтинги.
6.3.1. Задачи
-
Участвовал во всех этапах agile-разработки, включая проведение сессий груминга для детализации требований, планирование спринтов, активное участие в оценке задач через методологию покера планирования, обеспечивая высокую степень прозрачности и взаимодействия в команде разработки.
-
Разработка нескольких микросервисов.
-
Разработка модуля чата пользователя со службой поддержки, включая проектирование API для мобильного приложения, бэкенд модуля и проектирование соответствующей базы данных.
-
Отладка и интеграция модуля чата с CRM-системой Банка.
6.4. Интернет- и мобильный банк для BNP Paribas, 07.2017 - 10.2019
BNP Paribas — французский финансовый конгломерат. На 2018 год занимает девятое место среди крупнейших банков мира по активам. Входит в число глобально системно значимых банков.
Проект по созданию нового решения интернет-банкинга для обслуживания частных лиц (розница) и корпоративных клиентов малого и среднего бизнеса (выделен в отдельный проект) через веб- и мобильные (iOS/Android) каналы.
6.4.1. Задачи
-
Разработка архитектуры монолитного приложения на платформе Java с учетом требований проекта и оптимальной интеграции с существующей инфраструктурой.
-
Шаблоны модулей, система сборки проекта и доставки заказчику.
-
Разработка механизмов обнаружения и защиты от сбоев для обеспечения высокой доступности модулей.
-
Разработка, выполнение и анализ нагрузочных тестов.
6.5. Интернет- и мобильный банк для Société Générale, 03.2014 - 08.2017
Société Générale — французский финансовый конгломерат. На 2017 год был третьим крупнейшим банком Франции и 20-м в мире по размеру активов. Входит в число глобально системно значимых банков.
Мобильное и веб приложения, предоставляющие пользователям доступ к основным продуктам банка, позволяющие совершать платежи и денежные переводы, получать выписки по счетам и т.д.
6.5.1. Задачи
-
Разработка архитектуры монолитного приложения на платформе Java с учетом требований проекта и оптимальной интеграции с существующей инфраструктурой.
-
Взаимодействие с Microsoft SQL Server для эффективного хранения и управления данными.
-
Реализация более 10 точек интеграции с работающими в Банке системами, учитывая разнообразие протоколов и каналов взаимодействия.
-
Полная реализация демо-режима, предоставляющего гостевому пользователю доступ ко всем функциональным возможностям приложения без обращения к системам ядра Банка.
-
Разработка подсистемы автоматических платежей по расписанию.
-
Разработка собственной системы для инкрементальных бэкапов базы данных, обеспечивающей надежное и эффективное восстановление данных в случае необходимости.