Обо мне
Бэкенд-инженер с 11+ годами опыта, последние 6 — в роли тимлида/техлида. Совмещаю руководство командой (4–8 человек) с проектированием архитектуры и разработкой ключевых компонентов. Основной стек — Go и JVM (Kotlin, Java).
Глубоко работал в трёх доменах: highload telecom — центральная CRM федерального оператора на миллионы абонентов с многотерабайтной БД продуктов; промышленный traceability — сквозное отслеживание компонентов в производстве электротранспорта (стандарт GS1); observability — платформа зонтичного мониторинга для крупного банка.
Сильные стороны — распределённые системы, схемы хранения, онлайн-миграции больших данных без даунтайма, observability. Строю рабочие процессы вокруг LLM-агентов: библиотека скиллов и MCP-интеграций для Claude Code (Jira, GitLab, Grafana/Loki, релизы, миграции БД), агентные пайплайны для рутины и эксплуатации инфраструктуры. Люблю задачи, где инженерная глубина встречается с конкретным бизнес-эффектом.
Опыт
Руководитель группы разработки ↗
Система зонтичного мониторинга для одного из крупнейших банков РФ — единая платформа сбора и обработки метрик всей инфраструктуры, замена стека Micro Focus (Operations Bridge + SiteScope) в рамках импортозамещения. Хранение — VictoriaMetrics; сбор, управление конфигурациями и интеграции — собственная разработка команды. В проде — сотни инстансов экспортеров и миллионы активных временных рядов.
Возглавлял команду из 4 инженеров: архитектура и технический дизайн системы, планирование и распределение задач, ревью архитектуры и кода, найм и развитие людей, on-call. Ключевые компоненты спроектировал и реализовал сам — они ниже.
- Спроектировал и разработал распределённый сервис конфигураций экспортеров. Экспортеры развёрнуты в десятках изолированных сетевых сегментов с разным уровнем защиты (включая PCI DSS) и ограниченной связностью; инстансы сами находят сервис и регистрируются, получают свою долю объектов мониторинга, при отказе инстанса его объекты перераспределяются. Сервис multi-master: асинхронная репликация между сегментами с разрешением конфликтов. Изменения конфигураций доезжают до сотен экспортеров без рестартов и даунтайма.
- Спроектировал и разработал фреймворк экспортеров — единую основу для всех сборщиков метрик взамен SiteScope-мониторов: hot-reload конфигов без рестартов; шедулер с расписаниями, cron и производственным календарём; лимит кардинальности динамических метрик как защита хранилища. Развивал ядро фреймворка; на его базе команда и я написали 20+ экспортеров под разные типы объектов — ОС, СУБД, middleware, сетевое оборудование, прикладные API.
- Доработал форк vmagent (VictoriaMetrics) — добавил стратегию service discovery поверх сервиса конфигураций: vmagent получает из него список экспортеров, а discovery продолжает работать при отказе нод сервиса, пока жив хотя бы один инстанс — failover, которого нет у штатных SD-стратегий.
- Реализовал интеграции с внешними источниками метрик — Zabbix, Prometheus-совместимые системы, Kafka, ClickHouse: существующие инсталляции подключаются к зонтичной системе без миграции агентов и конфигураций.
Senior Backend Developer ↗
Traceability-платформа для производства электротранспорта — сквозное отслеживание компонентов на всём жизненном цикле, от завода-производителя детали до конкретного автомобиля у клиента. Стандарт GS1.
По договорённости занял роль техлида без управленческой нагрузки: проектирование и разработка ядра, технические решения; people-менеджмент — у отдельно нанятого тимлида.
- Совместно с архитектором проектировал ядро платформы и реализовал его ключевые модули: эмиссия идентификаторов по GS1 (GTIN, VIN), шаблоны маркировки под разные способы нанесения (наклейка, лазерная гравировка, штамповка), штучный и партионный учёт компонентов.
- Спроектировал схему хранения и доступа к данным платформы: HBase как операционная база, зеркалирование в Elasticsearch для поиска и аналитики, единый GraphQL-слой агрегации поверх с федерацией — справочники из PostgreSQL подключены через Hasura.
- Спроектировал и разработал движок обработки заказов на эмиссию идентификаторов — конвейеры и внешние подрядчики заказывают партии идентификаторов разных типов и объёмов; движок раскладывает заказы на serverless-воркеры (Knative), масштабируясь под нагрузку.
Software Developer → Team Lead ↗
Центральная CRM федерального оператора сотовой связи — серверная точка входа для USSD, мобильного и веб-личных кабинетов, портала техподдержки. Управление услугами, пакетами и тарифными планами со сложной доменной логикой: взаимоисключения и зависимости продуктов, маркетинговые механики. Миллионы абонентов, многотерабайтная БД абонентских продуктов.
Возглавлял команду из 6–8 человек: планирование и распределение задач, архитектурные решения, ревью кода, найм, 1:1 и развитие людей; проводил технические собеседования как эксперт.
- Запустил семейные тарифы с шарингом объёмов. Спроектировал и совместно с командой реализовал новую схему хранения данных абонентов и продуктов и онлайн-миграцию ~80 ТБ по паттерну lazy-migration: горячая миграция при первом обращении + фоновый процесс. Без даунтайма, без деградации производительности. Доставили за ~6 месяцев под жёстким маркетинговым дедлайном — конкурент уже на рынке, оператор выкупил федеральную рекламу до старта разработки. Успели в окно кампании; семейные тарифы стали одним из ключевых маркетинговых продуктов оператора.
Развитие продуктовых модулей CRM в составе команды; рост от Junior до Senior за 3,5 года.
- Разработал массовое подключение продуктов из корзины — единая бизнес-транзакция со сложной валидацией: взаимоисключения и зависимости внутри корзины и с уже подключёнными продуктами; атомарность «всё или ничего».
Стек
Образование
Вне работы
Пишу инструменты на Go под свои задачи — например, netshunt, селективная маршрутизация на роутере с htmx-интерфейсом.
Люблю быстро ездить и постоянно тюнингую машину.
Иногда хобби сходится с программированием — например, через ESP32 подключил активный спойлер к штатной электронике машины: родной блок управления его не поддерживает.
Геймдев заходил волнами. На Unreal Engine 5 в одиночку довёл до играбельного прототипа топ-даун шутер — собирал механики стрельбы, поведение противников, уровень. На Godot сделал простую мобильную игру про лопание шариков.