Обо мне

Бэкенд-инженер с 11+ годами опыта, последние 6 — в роли тимлида/техлида. Совмещаю руководство командой (4–8 человек) с проектированием архитектуры и разработкой ключевых компонентов. Основной стек — Go и JVM (Kotlin, Java).

Глубоко работал в трёх доменах: highload telecom — центральная CRM федерального оператора на миллионы абонентов с многотерабайтной БД продуктов; промышленный traceability — сквозное отслеживание компонентов в производстве электротранспорта (стандарт GS1); observability — платформа зонтичного мониторинга для крупного банка.

Сильные стороны — распределённые системы, схемы хранения, онлайн-миграции больших данных без даунтайма, observability. Строю рабочие процессы вокруг LLM-агентов: библиотека скиллов и MCP-интеграций для Claude Code (Jira, GitLab, Grafana/Loki, релизы, миграции БД), агентные пайплайны для рутины и эксплуатации инфраструктуры. Люблю задачи, где инженерная глубина встречается с конкретным бизнес-эффектом.

Опыт

2022 — 2026

Руководитель группы разработки

Иннотех (Группа компаний)

Система зонтичного мониторинга для одного из крупнейших банков РФ — единая платформа сбора и обработки метрик всей инфраструктуры, замена стека 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: существующие инсталляции подключаются к зонтичной системе без миграции агентов и конфигураций.
Go Java VictoriaMetrics Kafka PostgreSQL ClickHouse gRPC Kubernetes Prometheus Grafana
2020 — 2022

Senior Backend Developer

ARRIVAL LTD

Traceability-платформа для производства электротранспорта — сквозное отслеживание компонентов на всём жизненном цикле, от завода-производителя детали до конкретного автомобиля у клиента. Стандарт GS1.

По договорённости занял роль техлида без управленческой нагрузки: проектирование и разработка ядра, технические решения; people-менеджмент — у отдельно нанятого тимлида.

  • Совместно с архитектором проектировал ядро платформы и реализовал его ключевые модули: эмиссия идентификаторов по GS1 (GTIN, VIN), шаблоны маркировки под разные способы нанесения (наклейка, лазерная гравировка, штамповка), штучный и партионный учёт компонентов.
  • Спроектировал схему хранения и доступа к данным платформы: HBase как операционная база, зеркалирование в Elasticsearch для поиска и аналитики, единый GraphQL-слой агрегации поверх с федерацией — справочники из PostgreSQL подключены через Hasura.
  • Спроектировал и разработал движок обработки заказов на эмиссию идентификаторов — конвейеры и внешние подрядчики заказывают партии идентификаторов разных типов и объёмов; движок раскладывает заказы на serverless-воркеры (Knative), масштабируясь под нагрузку.
Kotlin Java Go Spring Boot PostgreSQL HBase Elasticsearch GraphQL Hasura Kafka Knative Kubernetes
2015 — 2020

Software Developer → Team Lead

Nexign (АО Нэксайн)

Центральная CRM федерального оператора сотовой связи — серверная точка входа для USSD, мобильного и веб-личных кабинетов, портала техподдержки. Управление услугами, пакетами и тарифными планами со сложной доменной логикой: взаимоисключения и зависимости продуктов, маркетинговые механики. Миллионы абонентов, многотерабайтная БД абонентских продуктов.

Team Lead 2019 — 2020

Возглавлял команду из 6–8 человек: планирование и распределение задач, архитектурные решения, ревью кода, найм, 1:1 и развитие людей; проводил технические собеседования как эксперт.

  • Запустил семейные тарифы с шарингом объёмов. Спроектировал и совместно с командой реализовал новую схему хранения данных абонентов и продуктов и онлайн-миграцию ~80 ТБ по паттерну lazy-migration: горячая миграция при первом обращении + фоновый процесс. Без даунтайма, без деградации производительности. Доставили за ~6 месяцев под жёстким маркетинговым дедлайном — конкурент уже на рынке, оператор выкупил федеральную рекламу до старта разработки. Успели в окно кампании; семейные тарифы стали одним из ключевых маркетинговых продуктов оператора.
Software Developer (Junior → Senior) 2015 — 2019

Развитие продуктовых модулей CRM в составе команды; рост от Junior до Senior за 3,5 года.

  • Разработал массовое подключение продуктов из корзины — единая бизнес-транзакция со сложной валидацией: взаимоисключения и зависимости внутри корзины и с уже подключёнными продуктами; атомарность «всё или ничего».
Kotlin Java Spring Boot Hibernate OSGi Oracle DB Kafka RabbitMQ ZooKeeper

Стек

Языки
GoKotlinJavaJavaScriptPythonLuaSQL
Интеграции
KafkaRabbitMQgRPCRESTGraphQL
Хранилища
PostgreSQLOracleClickHouseElasticsearchRedisHBase
Инфра
KubernetesDockerKnativeZooKeeperLinux
Observability
VictoriaMetricsPrometheusGrafanaPromQL / MetricsQLZabbix
AI-инструменты
Claude CodeMCPAgent skills / harnessPlaywright-агенты
Лидерство
НаймРевью1:1On-callМенторинг
Языки общения
Русский (родной)English (C1)

Образование

2017
Магистр — прикладная информатика
ИТМО, Санкт-Петербург
2015
Бакалавр — прикладная информатика
ИТМО, Санкт-Петербург

Вне работы

Пишу инструменты на Go под свои задачи — например, netshunt, селективная маршрутизация на роутере с htmx-интерфейсом.

Люблю быстро ездить и постоянно тюнингую машину.

Иногда хобби сходится с программированием — например, через ESP32 подключил активный спойлер к штатной электронике машины: родной блок управления его не поддерживает.

Геймдев заходил волнами. На Unreal Engine 5 в одиночку довёл до играбельного прототипа топ-даун шутер — собирал механики стрельбы, поведение противников, уровень. На Godot сделал простую мобильную игру про лопание шариков.