Senior System/Platform Engineer с 7-летним опытом, специализируюсь на проектировании и реализации высоконагруженных распределённых систем.
Сильные стороны: построение архитектуры с нуля, перевод монолитов в микросервисы, разработка фреймворков и SDK для ускорения бизнес-разработки.
Активно развиваю коллег через воркшопы и менторинг. Ориентируюсь на технические решения, которые дают бизнес-ценность.
Разрабатываю open source проекты в свободное время. Можете проследовать в github.
Потенциально готов к переходу на rust, т.к. в свободное время инвестирую в его изучение.
Веду OpenSource проект - Основные утилиты и абстракции для микросервисов Go (ведение журнала, настройка, плавное завершение работы и т.д.).
https://github.com/PavelAgarkov/service-template
github: https://github.com/PavelAgarkov


Выберите навык, чтобы посмотреть, какие тесты специалист уже прошел.
Спроектировал и разработал шину данных на 500+ тысяч сообщений в минуту, для использования соседними командами в том числе. Транслируются шардированные данные из общего источника, что упрощает интеграции другим командам.
Спроектировал и разработал систему консюмеров для шины данных.
Разработал фреймворк для любого бэкенд сервиса на go. Активно развиваю проект внутри компании, передавая экспертизу использования на воркшопах. Фреймворк универсален и позволяет не задумываться о graceful shutdown стратегии сервиса целиком, решая зависимости завершения. Имеет множество имплементаций для внешних системы и умеет работать с ними эффективно. Реализует механизм выбора лидера в рамках любых групп сервисов. Позволяет запускать бизнес решения за 1 - 2 дня полностью, снижая порог входа в разработку бизнес решения.
Сделал высокопроизводительный кеш в памяти приложения для хранения сотен миллионов ключей uint64. Позволило системе работать в режиме highload и обрабатывать сотни тысяч событий за несколько секунд. Также btree фильтр в памяти для байтовых данных под миллионы ключей.
Сформировал ТЗ. Предложил концепт сверхбыстрого кеш сервиса в памяти, использующего BadgerDB.
реализовал sdk, провел группу воркшопов и презентаций на эту тему. Реализовал бизнес требования с использованием BadgerDB. Задокументировал процесс работы с системой для воспроизводимости другими разработчиками. Сервис позволяет получить доступ к критическим данным ~ в 50-200 раз быстрее обычных хранилищ.
Сформировал ТЗ. Согласовал с руководством концепт бизнес решения, спроектировал и реализовал распределенный backend для сервиса вычисления оборачиваемости товаров для склада. Обработка нескольких миллионов событий в минуту в асинхронном режиме. Цель высоко производительная агрреагация данных и быстрый доступ к ним. Сервис из нескольких производительных очередей, объединяющий 4 источника данных, с квотированным доступом на чтение данных из нескольких источников. Решение включает распределённые блокировки с выбором лидера через redis.
Разработка системы аукциона заявок: спроектировал и реализовал бэкенд для аукциона подрядчиков с использованием Kafka и Nuts для межсервисного взаимодействия.
Миграция монолита в микросервисы: перенес часть legacy-кода в отдельный микросервис, что ускорило деплой новых функций в несколько раз и снизило нагрузку на бд монолита.
Оптимизация подов с in-memory данными: устранил проблему падения подов, что повысило стабильность системы.
Восстановление сервиса Telegram-ботов: вернул к жизни legacy-сервис, что позволило бизнесу продолжить использовать его для автоматизации процессов.
Собрал архитекрутную схему легаси проекта, что дало возможность разрабатывать и поддерживать проект после ухода предыдущей команды.
Разработка распределенной системы обработки закупок: обрабатывал 600 тыс. событий в день, что обеспечило бесперебойную работу системы.
Интеграция с внутренними сервисами: настроил асинхронный обмен данными через Kafka и Redis, что сократило время обработки запросов.
Работа с кэшем: оптимизировал использование Redis, что значительно снизило нагрузку на базу данных.
Поддержка и развитие системы: внедрил новые функции, которые улучшили пользовательский опыт и увеличили скорость обработки заказов.
Разработка микросервисов: создал и поддерживал микросервисы на Go и Tarantool для системы оформления заказов.
Оптимизация логики оформления заказов: улучшил производительность системы, сократив время обработки заказов до O(1).
Интеграция с Kafka: настроил межсервисное взаимодействие через Kafka, что повысило надёжность системы.
Разработка системы постаматов: разработал часть бэкенд для синхронизации данных между устройствами и сервером, что обеспечило стабильную работу системы при низкой пропускной способности сети.
Оптимизация производительности: улучшил время обработки запросов.