Роман Х. Full Stack разработчик, Senior
ID 37998
РХ
Роман Х.
Senior
Беларусь, Минск, UTC+3
3 168,83 Р/час
вкл. НДС 22% (440 Р)
Специалист доступен с 14 октября 2026 г.
О специалисте
Специализация
Full Stack разработчик
Грейд
Senior
Навыки
Отрасли
Знание языков
Английский — B2
Главное о специалисте
● Разработчик программного обеспечения с более чем 5-летним опытом коммерческой разработки корпоративных приложений и стартапов.
● Разработка и проектирование систем различной степени сложности в соответствии с техническими требованиями и поставленными задачами.
● Знание и опыт применения основных парадигм и принципов объектно-ориентированного программирования, паттернов проектирования, наилучших мировых практик в области разработки программного обеспечения (SOLID, KISS, ООП).
● Понимание DI, IoC.
● Разработка и модернизация высокоэффективных, высоконагруженных, масштабируемых микро сервисных приложений.
● Опыт разработки с использованием облачных сервисов (AWS).
● Опыт использование и настройка CI/CD процессов (Gitlab, Jenkins, Bitbucket).
● Опыт работы с промышленными протоколами (MQTT, OPC UA).
● Анализ существующих решений, их улучшение и адаптация к требованиям бизнес-процессов
● Знание принципов SOLID, DRY, ACID, Clean Code, MSA, GoF.
● Коммуникабелен, мотивирован, быстро осваивается и погружается в текущие процессы любой команды. Нацелен на результат и решение задач.
Проекты
(5 лет 9 месяцев)Высоконагруженная платформы розничной торговли
Роль
Developer
Обязанности
Описание проекта
Разработка и развитие бэкенда для высоконагруженной платформы розничной торговли. Система обслуживает более 1 млн активных пользователей и интегрирует витрину, управление заказами, складской учёт и логистику в единую микросервисную экосистему.
Обязанности
● Проектирование гибкой схемы каталога товаров на MS SQL: реализовал сервис управления товарной номенклатурой (PIM), используя T-SQL для написания сложных хранимых процедур. Применил гибридный подход — классические реляционные таблицы для основных полей и хранение расширенных атрибутов в JSON (nvarchar(max) + ISJSON). Создал индексы на вычисляемых JSON-полях и Full-Text Search для фильтрации.
● Оркестрация распределённых транзакций (Order Processing): реализовал сервис обработки заказов на базе паттерна Saga (Orchestration) с MassTransit поверх Apache Kafka. Настроил идемпотентных потребителей для гарантии целостности при сбоях. Обеспечил атомарность: списание средств через платёжный шлюз, резервирование товаров (MS SQL) и начисление бонусов.
● Оптимизация высоконагруженных компонентов (.NET): профилирование с dotMemory и dotTrace, внедрение двухуровневого кэширования (IMemoryCache + Redis, стратегия Cache-Aside). Применил распределённые блокировки (RedLock) для предотвращения cache stampede при массовых распродажах.
● Разработка клиентской части (TypeScript/React): написание компонентов, строгая типизация данных с бэкенда. Интеграция с бэкенд-API через WebSockets (STOMP) для отображения статуса заказов в реальном времени и REST для фасетного поиска.
● Интеграция и безопасность: разработал слой интеграции с внешними платёжными шлюзами, сервисами доставки (HttpClientFactory + Polly) и системами складского учёта, применяя скрипты на OScript для автоматизации обмена данными. Реализовал Application Level Encryption для PII-данных и строгий контроль доступа (RBAC) на базе ASP.NET Core Identity и OAuth2/OpenID Connect.
● Качество кода и CI/CD: Внедрил статический анализ кода (SonarQube) в GitLab CI/CD пайплайн, что значительно снизило количество технических долгов и уязвимостей. Проводил код-ревью, помогая коллегам осваивать асинхронное программирование, контролируя соблюдение принципов SOLID и грамотное применение DI/IoC для обеспечения слабой связанности компонентов при работе с Entity Framework Core и Dapper в нагруженных модулях.
Стек специалиста на проекте
Docker, C#, SQL, TypeScript, ASP.NET Core, OpenID Connect, Dapper, Kafka, .NET, T-SQL, Microsoft, .NET Core, Entity Framework Core, Logging, MassTransit, Redis, Moq, WebSockets, React, GitLab CI/CD, STOMP, Identity Server, victoria, xUnit/NUnit, OScript, duende
Отрасль проекта
E-commerce & Retail
Период работы
Июль 2024 - По настоящее время
(2 года 4 месяца)
Миграция монолитной ERP-системы крупного образовательного провайдера на микросервисную архитектуру
Роль
Developer
Обязанности
Описание проекта
Миграция монолитной ERP-системы крупного образовательного провайдера на микросервисную архитектуру. Основная цель — обеспечить масштабируемость хранилища контента и предоставить API для мобильных клиентов.
Обязанности
● Разработал стратегию поэтапного перехода с монолита на микросервисы. Реализовал микросервисы, спроектированные на базе принципов SOLID с активным использованием DI-контейнеров (IoC), а также YARP как входной шлюз, который маршрутизировал запросы: новый функционал направлялся на микросервисы, а старый — прозрачно проксировался на легаси-систему.
● Настроил механизм CDC для синхронизации данных между MS SQL (монолит) и новыми базами микросервисов, исключив рассогласование данных в переходный период.
● Реализовал микросервис для хранения учебных материалов (тексты, тесты, видеометаданные) на MongoDB с шардированием коллекций для горизонтального масштабирования.
● Разделил логику на команды (изменение курсов) и запросы (отображение витрины), применив CQRS. Синхронизация между сервисами через RabbitMQ (MassTransit) снизила нагрузку на основную БД.
● Разработал централизованный Identity Server с поддержкой мультитенантности: данные разных корпоративных клиентов логически изолированы, но обслуживаются одним инстансом приложения.
● Совместно с командой фронтенда разработал спецификацию API (OpenAPI/Swagger). Настроил кодогенерацию TypeScript-клиентов для React-приложения, исключив ошибки типов при передаче данных.
Стек специалиста на проекте
RabbitMQ, Docker, C#, SQL, MongoDB, Grafana, Kubernetes, LDAP, Prometheus, Istio, Microsoft, MassTransit, React, KeyDB, Identity Server, Keycloack, .net 8, Service mesh
Отрасль проекта
EdTech
Начало работы
Июль 2023 - Август 2024
(1 год 2 месяца)
Backend-разработка системы для расчета кэшбэка
Роль
Developer
Обязанности
Backend-разработка системы для расчёта кэшбэка, бонусов и персонализированных предложений. Система обрабатывает поток транзакций в реальном времени, применяя к ним динамические правила бизнеса.
● Создал модуль для вычисления вознаграждений. Логика правил (условия начисления бонусов) компилировалась в Expression Trees, что позволило применять тысячи правил к транзакции за миллисекунды. Реализовал механизм "Snapshot" конфигураций, чтобы изменение правил не ломало обработку исторических данных.
● Оптимизировал слой доступа к данным. Для сложных аналитических выборок использовал Dapper, а для CRUD-операций — EF Core. Реализовал партиционирование таблицы транзакций (по месяцам) в PostgreSQL, что ускорило вставку новых данных и построение отчётов. Настроил уровни изоляции транзакций в критических местах начисления баллов для предотвращения фантомных чтений и финансовых ошибок.
● Разработал сервис уведомлений, который через WebSockets (SignalR) в реальном времени обновлял баланс пользователя на веб-дашборде (разработанном на Angular 12/13 и RxJS) и в мобильном приложении сразу после обработки транзакции. Участвовал в поддержке и доработке клиентского кода, используя HTML и JavaScript(ES5+)/TypeScript, применяя JQuery, extJS и Kendo UI для внутренних панелей администрирования. Использовал Redis Backplane для масштабирования WebSocket-соединений на несколько инстансов.
● Реализовал HTTP-клиенты для взаимодействия с банковскими процессингами и участвовал в анализе и миграции бизнес-логики на уровне баз данных, используя PL/SQL. Внедрил политики Resilience (Retry, Circuit Breaker, Timeout) с использованием библиотеки Polly, что стабилизировало систему при кратковременных сбоях внешних API. В этом же проекте в стек специалиста на проекте докидываешь HTML, JQuery, extJS, Kendo UI, PL/SQL.
● Внедрил механизмы Optimistic Concurrency Control (через ETag и версионирование записей) для предотвращения гонок данных (Race Conditions) при одновременном списании бонусов с разных устройств.
Стек специалиста на проекте
PostgreSQL, RabbitMQ, JavaScript, Jenkins, TypeScript, JavaScript ES5-6, HAProxy, ASP.NET Core, SignalR, JavaScript ES5, Dapper, Angular, Entity Framework Core, Polly, Redis, React, .NET 6
Отрасль проекта
FinTech & Banking
Начало работы
Февраль 2021 - Июнь 2023
(2 года 5 месяцев)
Формат работы
Объем участия в проекте
Высокая нагрузка
Формат взаимодействия
Удаленный
Командировки
Не готов
Релокация
Не готов
Готов работать на зарубежных проектах
Да
Образование
Высшее
Учебное заведение
БГУИР
Специальность
АСОИ
Завершение учебы
2021 г.
