25+ лет в IT. Закрываю задачи команды в одиночку или управляю коллективами 200+ человек. От enterprise-систем до агентных AI-продуктов — строю, запускаю, сопровождаю, тушу пожары.
Self-service платформа без лицензионных затрат. Управление маршрутами, клиентами, аутентификация, rate limiting. Трудоёмкость 3 недели part-time.
Kotlin, Spring Boot 3.4, React, PostgreSQL, Redis, Docker
Удаленное управление работой агентов Claude через бота в Telegram.
n8n, Claude AI, Telegram API, FastAPI, Docker
За 25 лет прошёл путь от разработчика до CTO в компаниях масштаба АльфаСтрахование и МегаФон. Сегодня работаю как технический эксперт.
Специализируюсь на агентных AI-системах, архитектуре высоконагруженных сервисов и быстром запуске продуктов с нуля. Могу в одиночку закрывать задачи, которые обычно требуют целой команды. Имею опыт управления коллективами 200+ сотрудников.
Строю без лишних инструментов и лицензий — только то, что реально работает и приносит результат.
Напишите в Telegram — договоримся о звонке на 20–30 минут
Двухуровневая система: глобальный per-route лимит через Redis Lua EVALSHA (атомарный Token Bucket) и per-consumer лимиты с отдельным ConsumerRateLimitCacheManager. При недоступности Redis — автоматический fallback на Caffeine in-memory с 50% от лимита.
Spring Cloud Gateway + WebFlux + Netty + R2DBC. Все I/O неблокирующее: HTTP, PostgreSQL, Redis. Нет ThreadLocal — используем Reactor Context + MDC bridging для correlation ID propagation через всю цепочку.
Admin Service публикует события в Redis Pub/Sub при изменении маршрутов, rate limits и consumer limits (3 отдельных канала). Gateway Core подписан на все три — RouteCacheManager обновляет AtomicRef<routes> за < 100ms без перезапуска.
API consumers используют client_credentials grant → JWT Bearer. Admin UI — OIDC PKCE flow через Keycloak. Gateway Core валидирует JWT через JWKS endpoint. Admin Service использует @RequireRole аннотацию с AOP аспектом и иерархией ролей: ADMIN > SECURITY > DEVELOPER.
TracingAttributesFilter добавляет span attributes (route, consumer, correlation ID) в каждый запрос. Трейсы отправляются через OTLP в Jaeger. W3C Trace Context propagation в upstream вызовы. Grafana показывает trace links рядом с метриками.
Оба сервиса экспортируют метрики через /actuator/prometheus. Prometheus scrapes каждые 15s. 5 alert rules: high error rate, P95 latency, gateway down, high consumer cardinality, high metrics cardinality. Grafana dashboard: RPS, P50/P95/P99, errors, per-consumer breakdown.
GitLab CI: build → test → SAST (Semgrep) → Docker → deploy. 4 runners с Docker executor. Secrets из HashiCorp Vault (AppRole). Docker образы в Nexus Registry. PostgreSQL: 14 Flyway миграций (V1–V13, строгий порядок). Traefik 3 как reverse proxy с автоматическим TLS.
Claude Code SDK отдаёт ответ по частям. Вместо ожидания полного ответа — async generator с yield на каждый chunk. FastAPI собирает chunks в буфер и через asyncio.Queue отправляет обратно в n8n → Telegram, который обновляет сообщение через edit. Пользователь видит, как Claude «печатает» в реальном времени.
Каждая сессия — конечный автомат: IDLE → RUNNING → DONE. Состояние хранится в Redis с TTL 24h. Запрос в RUNNING-сессию ставится в очередь. Session ID — 16-char hex (64-bit entropy). Лимит: max 5 concurrent сессий.
Webhook secret в X-Webhook-Secret header — n8n подписывает каждый запрос. Path traversal protection — многоуровневая валидация путей (normalization, whitelist, chroot check). Все входные данные через Pydantic v2 strict-модели. CORS ограничен только n8n origin.
pytest-asyncio для async-кода. Redis заменён на fakeredis — полная имитация Redis API без реального сервера. Каждый тест изолирован: свой экземпляр fakeredis, нет shared state. Покрыто: API endpoints, session CRUD, webhook retry logic, Telegram message chunking.
Стрелки всегда вращаются по часовой. Наивный lerp(from, to) выбирает кратчайший путь — стрелка может дёрнуться назад на 350°, что выглядит как баг. Вместо этого: если target < current, интерполяция идёт через target + 2π — стрелка делает полный оборот вперёд.
350 объектов × 2 стрелки = 700 параллельных интерполяции каждый кадр. Все вычисления — чистая математика без DOM, единственный рендеринг — batch draw на Canvas.
«Волна» бежит по матрице как ветер по полю. Два слоя синусоид с разными частотами: крупная волна (длина = ширина матрицы) задаёт общее движение, мелкая рябь (×3 частота, ×0.3 амплитуда) добавляет органичность.
Между фазами порядок обновления циферблатов перемешивается. Fisher-Yates даёт идеально равномерное распределение за O(n) — каждая перестановка равновероятна.
prefers-reduced-motion: при включённой настройке анимации выключаются, стрелки показывают статичное время. aria-labels на canvas с текстовым описанием. noscript fallback со статичным изображением.
DPR-aware рендеринг: canvas физически в 2-3× больше CSS-размера на Retina. Без этого стрелки размытые.
909 строк, отдельный WYSIWYG-инструмент. Клик по ячейке → выбор угла для часовой и минутной стрелки. Паттерн экспортируется как JSON-массив и подключается к основному движку.
Позволяет визуально создавать надписи и фигуры, которые движок потом анимирует в фазе «text pattern».
200+ человек в зоне ответственности, производство полного цикла (CUSTIS)
150+ человек — разработка и сопровождение полного цикла (АльфаСтрахование, 18 лет)
35 человек — 3 команды с нуля за 3 месяца (СОГАЗ)
10+ кросс-функциональных Agile-команд (АльфаСтрахование)
~40 корпоративных систем (SAP FSCM, Oracle E-Business Suite, Infor SalesLogix, QlikView, OpenText и др.)
до 5 000 пользователей внутренних систем, 25+ млн клиентов на сайте (2019 ↗)
Time-to-market: 6 мес → 2 недели (Agile-трансформация)
Доступность: 94% → 99.9% — SRE-группа с нуля
25+ млн клиентов на alfastrah.ru — #1 по посещаемости среди страховых (Яндекс.Радар, 2018 ↗)
Приложение — победитель «Рейтинг Рунета» 2019 ↗ в категории «Финансы»
MVP B2B-портала ↗ за 4 недели → 4 команды (28 чел) через год. В 2018 — лидер продаж ОСАГО через агентский канал. Работает до сих пор: 860K+ визитов/мес
ISO/IEC 20000-1:2011 — сертификация разработки
alfastrah.ru — #1 по посещаемости среди страховых (2018 ↗), 25+ млн клиентов (2019 ↗), работает до сих пор
Приложение АльфаСтрахование — победитель «Рейтинг Рунета» 2019 ↗, работает до сих пор
B2B-портал «АльфаПолис» ↗ — 860K+ визитов/мес (SimilarWeb ↗), вырос в экосистему из двух платформ, работает до сих пор
Команды — 10+ лет вместе, многие работают до сих пор
Принял хаос от 10 подрядчиков (legacy, проблемы с безопасностью). Построил 3 команды с нуля, вывел на релизы за 3 месяца. Выявил и закрыл критическую утечку персданных за месяц.
Перевёл кредитный брокер от подрядчика внутрь — тысячи кредитов, десятки тысяч расчётов в сутки. 60 модулей, 17 микросервисов, интеграции с 5 банками — за 2 месяца. Оптимизация загрузки данных: десятки минут → секунды.
Аудит (200+ человек, несовместимые стеки, текучка 70%, 3 мес на вхождение). Стратегия масштабирования, Productivity Team.
Масштабная Agile-трансформация традиционной компании. BigData/AI команда с нуля (Hadoop, антифрод). Продукты-лидеры рынка в B2B и B2C.
IT — функция, которая должна работать на бизнес. Когда не работает — это ваша проблема.
Фичи месяцами, конкуренты обгоняют
CTO говорит «сложно», бюджет растёт
Люди есть, результата нет, текучка
Вася уйдёт — бизнес встанет
Код у них, цены растут, деться некуда
Бизнес ×2, а система ляжет
MVP, инструмент, новые технологии
Все говорят про AI, хотим тоже, но с чего начать
Собрали на AI, всё ломается, никто не понимает
Строите продукт с нуля. Ресурсы ограничены, времени мало, нужен надёжный партнёр.
Идея есть, рук нет, фрилансеры пропадают
Инвесторы давят, команда медленная
Боюсь, через год переписывать
Денег на команду нет, нужен один человек
Отвечаете за техническую часть. Иногда нужны руки, иногда — второй взгляд, иногда — помощь разгрести.
Задача есть, делать некому, все заняты
Не уверен в решении, хочу экспертизу
Legacy, техдолг, команда выгорела
Нужна независимая оценка технологий. Без приукрашивания, на понятном языке.
Что под капотом, какие риски, стоит ли вкладывать
Менеджмент говорит «всё ок», но это не так