Никита Репняков

Системный
аналитик.

7 лет проектирую интеграции, API и фронтенд для нагруженных систем: от платёжных поручений Сбера до админ-панели, запущенной с нуля.

Middle+ · Москва · удалённо · полная, частичная занятость или проект

500 тыс.

платёжных поручений в день исполняет бэк-система для Сбера

10 → 3мин

время заведения поручения в АРМ сотрудника Сбера

6–12мес

от старта до запуска админ-панели, единственный аналитик фронта

С нуля

мобильный банк на iOS и Android и чат с клиентом во всех каналах

Глава 1 · Модель данных

Любая система начинается со связей.

Свяжите внешние ключи с первичными — так же, как я делаю это в ER-модели перед ТЗ. Перетащите FK на нужный PK или нажмите сначала на одно, потом на другое.

Задание: платёжное поручение должно знать счёт и статус, а счёт — своего клиента.
0 / 3 связи
client
  • PKidbigint
  • full_namevarchar
  • innvarchar(12)
account
  • PKidbigint
  • FKclient_idbigint
  • numbervarchar(20)
  • currencychar(3)
payment_order
  • PKidbigint
  • FKaccount_idbigint
  • FKstatus_idsmallint
  • amountnumeric(18,2)
  • created_attimestamptz
order_status
  • PKidsmallint
  • codevarchar(16)
Начните с любого поля с меткой FK.

          
Связи готовы — дальше опыт, где эта модель обрабатывала сотни тысяч платежей в день. Глава 2 ↓
🔒

Глава 2 откроется, когда вы свяжете таблицы в модели данных.

К модели ↑
Глава 2 · Ай-Теко, проект для Сбера

500 тысяч платёжных поручений в день.

Системный аналитик · август 2019 — март 2025 · 5 лет 8 мес

  • С нуля описал фронт и бэк АРМ сотрудника офиса Сбера: до 30 тыс. поручений в месяц.
  • Заведение одного поручения сократилось с 10 до 3 минут.
  • Проектировал интеграции на Kafka: топики, форматы сообщений, обработку ошибок и ретраи.
  • Согласовывал контракты со смежными системами, онбордил новых аналитиков, ревьюил ТЗ коллег.

Отправьте платёжное поручение.

Упрощённая схема асинхронного исполнения: так выглядят sequence-диаграммы в моих ТЗ.

🧑‍💼
АРМ офисаUI
🛡️
API Gatewayauth · OpenAPI
⚙️
payment-serviceCREATED
📨
Kafkapayments.orders
🏦
executorconsumer
✅
АБСEXECUTED
// журнал пуст — нажмите «Отправить поручение»
Исполнено сегодня · темп ≈ 500 тыс./день
0
Последнее поручение
—
Было
10 мин
Стало
3 мин

Заведение платёжного поручения в АРМ сотрудника офиса.

🔒

Глава 3 откроется, когда вы отправите поручение через Kafka.

К симулятору ↑
Глава 3 · КОРУС Консалтинг

Админ-панель с нуля. Доступ — до каждого поля.

Системный аналитик · апрель 2025 — сейчас

  • Новое SPA на Consta UI Kit вместо Liferay: админ-панель системы оплаты топлива для крупной нефтяной компании.
  • Единственный аналитик фронта: 20–50 экранов от as-is до критериев приёмки, запуск за 6–12 месяцев.
  • Спроектировал авторизацию на Keycloak и JWT с ролями из Active Directory и согласовал её с кибербезопасностью.
  • Построил маппинг API ⇄ UI: экран → API Gateway → микросервис → эндпоинт.
🎯Задание: найдите роль, которая видит лимиты, но не может их менять.
Нажмите на раздел или поле
admin.fuel-cards · Consta UI
Токен из Keycloak (payload JWT)

W — изменение, R — чтение, · — нет доступа. Данные условные, структура как в реальном проекте.

🔒

Глава 4 откроется, когда вы найдёте нужную роль в админ-панели.

К заданию ↑
Глава 4 · Банк Хлынов

Один чат. Все каналы.

Бизнес-аналитик, сентябрь 2017 — август 2019. Запустил с нуля мобильный банк на iOS и Android и чат с клиентом, который продолжается в любом канале. Интернет-банк получил полный функционал управления продуктами.

Переключите канал — история переписки сохраняется.

Интернет-банк · чат
Как перевыпустить карту?
Артефакты

Что получает команда.

Каждое требование доходит до разработки в виде, который можно сразу брать в работу.

API-контракт · OpenAPI 3

Пишу спецификации сам.

/api/v1/payment-orders:
  post:
    summary: Создать платёжное поручение
    parameters:
      - name: Idempotency-Key
        in: header
        required: true
    responses:
      '202': { description: Принято в обработку }
      '409': { description: Повтор с тем же ключом }
Kafka

Сообщение — тоже контракт.

topic: payments.orders
key:   orderId
retry: 1s → 2s → 4s
dlq:   payments.orders.dlq
Sequence · UML

Кто кого вызывает и когда.

UI Gateway Service POST /orders create() id, CREATED 202 Accepted
Процесс · BPMN

Границы систем и ответственности.

СотрудникСистема Завести РПП Проверить Исполнить
Критерии приёмки · можно отметить

Готово — значит проверяемо.

  • ✓Дано роль «Аудитор», когда открыт раздел «Лимиты», тогда поля только для чтения.
  • ✓Повторный POST с тем же Idempotency-Key возвращает 409 и не создаёт дубль.
  • ✓После 3 неудачных попыток сообщение уходит в DLQ, статус — ERROR.
  • ✓Экран соответствует макету Figma и спецификации Consta.
Документы

ТЗ, ЧТЗ, ФТТ, ПМИ.

Use cases, модели данных, API-контракты, требования к UI и критерии приёмки — в одном месте, в базе знаний Confluence. Согласование с кибербезопасностью и архитекторами — до разработки, а не после.

Хард-скилы

Инструменты.

API и интеграции

RESTOpenAPI — пишу самSOAP · XSD · WSDLgRPC · ProtobufPostmanAPI GatewayМикросервисыJSON · XML

Kafka и данные

Kafka: топики, сообщенияРетраи и ошибкиMQPostgreSQLOracleSQLER-модели

Доступ и безопасность

Ролевая модель«Раздел × роль»«Поле × роль»KeycloakJWTActive Directory

Требования

ТЗ · ЧТЗ · ФТТUse CaseUser StoryКритерии приёмкиПМИ · ПСИ

Моделирование

BPMNUML: sequence, activity, use caseIDEFdraw.ioPlantUMLMiro

Дизайн и процессы

FigmaКликабельные прототипыConsta UIJiraConfluence
2025 — сейчас

КОРУС Консалтинг

Системный аналитик · админ-панель, Keycloak, маппинг API ⇄ UI

Глава 3 →
2019 — 2025

Ай-Теко · Сбер

Системный аналитик · платежи, Kafka, интеграции

Глава 2 →
2017 — 2019

Банк Хлынов

Бизнес-аналитик · мобильный банк, омниканальный чат

Глава 4 →

Образование: ВятГУ, 2017, бакалавр, прикладная информатика в экономике. Языки: русский — родной, английский — B1.

Веду переговоры между «хотим» и «можем».

Мирный договор обычно подписываем в виде ТЗ.

Контакты

Давайте обсудим вашу систему.

Быстрее всего — в Telegram или по телефону.

Telegram @repnyakov