Спроектирую систему или исправлю ту, что уже есть

Разбираюсь в предметной области, рисую схему, записываю решения так, чтобы через год было понятно, почему именно так, и вместе с вашей командой довожу решение до работающего кода.

  • Высоконагруженные распределённые системы
  • Все решения задокументированы
  • Работаю с вашей командой
  • Формальная верификация

Что остаётся у вас

  1. Схема системы
    Модули, границы, потоки данных
  2. Документация решений
    Почему так и какова цена выбора
  3. План внедрения
    Шаги, порядок, оценка
  4. Сопровождение
    Ревью кода, ответы по ходу

Документы остаются у вас и работают без меня — в этом смысл.

Когда это требуется?

Чинить или переписывать — вопрос, на котором ломается больше всего бюджетов. Оценивать оба варианта нужно по одним меркам, иначе решение принимают по настроению.

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

Чинить дешевле, когда система приносит деньги; когда сложности сосредоточены в двух-трёх местах; когда есть кому объяснить, почему всё сделано именно так; когда требования меняются быстро — переписывание будет отставать от меняющихся требований.

И условие, о котором забывают обе стороны спора: переписывание имеет смысл, если есть кому жить в новой системе. Тот же состав и те же привычки через два года приведут ровно туда же.

Где это уже работало

  1. 2017–2019

    Проект для Газпром нефти. Планирование производства: математическое ядро на симплекс-методе и модуль расписаний. Воспроизвёл исходную модель и внёс в неё ограничения, которые до этого обходили эвристиками.

  2. 2019–2021

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

  3. 2021–2024

    Проекты для S7 Airlines и Ингосстраха. Обработка заявок поставщиков занимала полчаса ручной работы — стала мгновенной. Учёт трудозатрат отставал на двенадцать часов — данные стали появляться сразу. Пуш-уведомления выдержали пиковую нагрузку маркетинговых рассылок.

  4. 2025 — сейчас

    Биллинг телеком-оператора: четыре уровня партнёрской иерархии, каскадные тарифы, обработка звонков почти в реальном времени. Девять архитектурных решений закреплены в документах, 94 утверждения о работе платформы доказаны формально, 2145 автотестов. Продукт сдан в срок.

РЕЗУЛЬТАТ

Сначала документы, следом работающий код

Документация — такая же часть проекта, как код, и по важности она ему не уступает. Каждое решение записано вместе с причиной и ценой выбора, поэтому через год команда отвечает на вопрос «почему сделано именно так» без моего участия.

Я не оставляю вас с одними схемами: довожу работу до первой работающей части системы, а дальше команда идёт сама — по документам, которые остались.

Что получаете

  • Схему системы: модули, границы, потоки данных
  • Решения с обоснованием — по ним потом проводят ревью
  • План внедрения по шагам с оценкой
  • Признаки, по которым видно, что сделано правильно
  • Формальные проверки там, где считаются деньги
  • Разбор с командой и ответы по ходу работы

ЧТО НУЖНО ОТ ВАС

Условия, без которых работа не начинается

Список одинаковый и для проверки, и для проектирования: без этих вещей любые выводы будут догадками, а платить за догадки не стоит.

Если чего-то из списка нет, работать всё равно можно — часть соберём вместе на первых созвонах. Но знать об этом лучше заранее.

Созваниваемся столько, сколько требует дело: это время оплачивается наравне с остальной работой. Обычная частота — до двух созвонов в неделю, всё сверх того планируем отдельно.

Что понадобится

  • Договор с исполнителем: что он обязался сделать и в какие сроки
  • Описание системы, которую вы ждёте: что она должна делать и для кого
  • Доступ к коду — репозиторий, архив или выгрузка, годится любой вариант
  • Доступ к трекеру задач, если он есть
  • Либо отчёты разработчиков — задачи, этапы, затраченное время и планы
  • Человек, у которого можно уточнять детали по ходу работы

СТОИМОСТЬ

От 250 000 ₽ за неделю работы

Неделя работы стоит 250 000 ₽, месяц подряд — 450 000 ₽: непрерывная загрузка обходится дешевле, чем отдельные недели с перерывами.

Две недели — минимальный разумный объём: его хватает на небольшой продукт или на отдельный узел большой системы. Крупная система обычно занимает месяц и больше.

Крупной системе нужно время на разбор предметной области, обсуждение вариантов с вашей командой и согласование решений — эту часть нельзя ускорить без потери качества.

Объём сильно зависит от того, насколько полны требования. Когда их не хватает, я не беру деньги за догадки: разбиваю работу на итерации и в конце каждой называю, каких именно сведений недостаёт для следующей. Вы получаете спроектированную часть и сами решаете, когда продолжать.

Первую оценку даю после разговора и знакомства с тем, что уже есть. Первые полчаса бесплатны.

Из чего складывается работа

  • Разбор предметной области и текущей системы
  • Схема: модули, границы, потоки данных
  • Документация решений с обоснованием и ценой выбора
  • План внедрения по шагам с оценкой
  • Список требований, которых не хватает для следующей итерации
  • Сопровождение команды при внедрении — отдельно, помесячно

Расскажите, что предстоит построить

Опишите задачу в паре абзацев: что за продукт, что уже есть, какие сроки. Первые полчаса разговора бесплатны.