Обо мне

Бэкенд-инженер и тимлид с ~11 годами опыта — с явным перекосом в техническое лидерство. Веду команды 4–8 человек, но основной фокус — архитектура, технический дизайн и доставка в продакшен. Основной стек — Go и JVM (Kotlin, Java).

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

Сильные стороны — распределённые системы, схемы хранения, онлайн-миграции больших данных без даунтайма, observability. Люблю задачи, где инженерная глубина встречается с конкретным бизнес-эффектом.

Опыт

2022 — наст.
Руководитель группы разработки
Иннотех (Группа компаний)

Система зонтичного мониторинга для одного из крупнейших банков РФ — в рамках проекта импортозамещения. В основе — VictoriaMetrics, всё вокруг разрабатывали сами. Сотни экспортеров, миллионы метрик.

Веду команду из 4 инженеров (Go + Java). Отвечаю за архитектуру и технический дизайн системы, постановку и распределение задач, координацию работ, архитектурные ревью и ревью кода, найм и развитие сотрудников, on-call. Ключевые компоненты системы спроектированы и реализованы лично.

  • Спроектировал и разработал распределённый сервис конфигураций экспортеров — хранение, распределение и балансировка конфигов, discovery и регистрация, асинхронная репликация и разрешение конфликтов. Обеспечил доставку конфигураций в прод без даунтайма.
  • Спроектировал и разработал фреймворк экспортеров. Hot-reload конфигов без рестартов; шедулер с поддержкой расписаний, cron и производственного календаря (рабочие/нерабочие/сокращённые дни); лимит кардинальности динамических метрик. На базе фреймворка разработано более двадцати экспортеров под разные типы объектов мониторинга — большую часть написал сам, остальные — команда.
  • Разработал сервис потоковой обработки и резолвинга метрик. Горизонтально масштабируется, тысячи метрик/с на инстанс при минимальном потреблении ресурсов.
  • Форкнул и развил компоненты VictoriaMetrics под задачи системы.
  • Реализовал интеграции со сторонними системами мониторинга (Zabbix и др.) — позволяют включать существующие инсталляции в зонтичную систему без переноса.
Go Java VictoriaMetrics Kafka PostgreSQL gRPC Kubernetes Prometheus Grafana
2020 — 2022
Senior Backend Developer
ARRIVAL LTD

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

  • Совместно с архитектором проектировал ядро платформы, реализовал значимую часть: эмиссию идентификаторов (GTIN, VIN), шаблоны маркировки на Jasper Reports под разные способы нанесения (наклейка, лазерная гравировка, штамповка), штучный и партионный учёт.
  • Разработал значимую часть «цифрового близнеца автомобиля» — возможности «разобрать» любой выпущенный автомобиль до отдельной детали с полной историей каждого компонента: где и когда произведён, в какой партии, через какие операции прошёл, в каком узле использован. Применялось для внутренней аналитики и гарантийных сценариев.
Kotlin KMP Go Spring Boot Quarkus PostgreSQL HBase Elasticsearch GraphQL Hasura Kafka Knative Kubernetes
2019 — 2020
Team Lead
Nexign (АО Нэксайн)

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

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

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

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

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

  • Разработал массовое подключение продуктов из корзины. Единая бизнес-транзакция со сложной валидацией: взаимоисключения и зависимости внутри корзины и с уже подключенными продуктами; атомарность «всё или ничего».
  • Решал задачи на стыке подсистем CRM: продуктовые зависимости, маркетинговые механики, интеграции с биллингом и каналами обслуживания.
  • Профилировал и оптимизировал критичные участки приложения и БД.
  • Менторил middle- и junior-разработчиков, выступал техническим экспертом на собеседованиях.
Kotlin Java Spring Boot Hibernate OSGi Oracle DB Tarantool Kafka ZooKeeper

Стек

Языки
GoKotlinJavaNode.jsPythonLuaCSQL
Коммуникации
KafkaRabbitMQgRPCRESTGraphQLZooKeeper
Хранилища
PostgreSQLOracleClickHouseElasticsearchRedisTarantoolHBaseVictoriaMetrics
Инфра
KubernetesDockerKnativeLinux
Observability
PrometheusGrafanaVictoriaMetrics
Лидерство
НаймРевью1:1ДежурстваМенторинг
Языки общения
Русский (родной)English (C1)

Образование

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

Вне работы

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

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

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

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