Типичная ситуация: сайт на Django работает годами, разработчик ушёл (в найм, в закат, на связь не выходит), а бизнесу нужны изменения. Новые исполнители смотрят код и говорят «проще переписать». Спойлер: почти всегда неправда. Разберём, как передаётся чужой проект и что считать нормальной ценой въезда.
Почему «проще переписать» — почти всегда ложь
Переписывание с нуля — это месяцы работы, за которые бизнес не получает ничего нового, плюс гарантированный набор свежих багов там, где старый код уже был отлажен годами реальных пользователей. Legacy-код уродлив, но он работает — в нём закопаны сотни исправленных краевых случаев, о которых новая команда узнает заново, на ваших клиентах.
Переписывать оправдано в двух случаях: версия Django настолько старая, что не получает обновлений безопасности и не ставится на современное окружение, — или архитектура упирается в потолок масштабирования. Оба диагноза ставятся по итогам аудита, а не по первому взгляду.
Что подготовить к передаче
Минимальный комплект, без которого въезд затянется:
- Доступы: репозиторий, сервер, база, домен, почтовые и платёжные сервисы, все API-ключи. Если репозитория нет и код только на сервере — это решаемо, вытащим, но скажите об этом сразу.
- Живой стенд: URL продакшена и, если есть, тестовый контур.
- Контакты предыдущего разработчика — даже одна сессия вопросов экономит десятки часов археологии. Не выходит на связь — справимся без него, дольше.
- Список болей: что падает, что тормозит, что давно хотели поменять.
Как выглядит въезд в чужой код
Нормальный процесс у любой зрелой команды:
- Аудит (часы, не недели). Версии Django/Python, структура, состояние зависимостей, тесты, деплой, очевидные дыры безопасности. На выходе — карта проекта и список рисков по приоритетам. Подробно — в статье про аудит.
- Стенд и деплой. Первым делом — воспроизводимая локальная сборка и понятный деплой. Пока «выкатить» умеет только ушедший человек — проект в заложниках.
- Первая мелкая задача. Тестовый заезд: небольшая доработка от постановки до продакшена. Проверяет и код, и процессы, и вас как заказчика.
- Дальше — обычный ритм. Задачи, оценки в часах, демо.
Въезд в средний проект — 10–30 часов до первой продуктовой задачи. По ставке от 1700 руб/час — 17–50 тыс за то, чтобы проект перестал быть чёрным ящиком.
Красные флаги новых подрядчиков
- «Всё переписать» до аудита. Диагноз без осмотра — продажа, а не инженерия.
- Оценка «весь проект под ключ» вместо задач. Чужой код дорабатывается итерациями с оценкой каждой, не оптом.
- Не просят доступов к продакшену и базе. Значит, планируют чинить вслепую.
- Молчат про бэкапы. Первое действие в чужом проекте — убедиться, что есть откат.
Сколько стоит доработка
После въезда чужой Django-проект дорабатывается по обычным ставкам — от 1700 руб/час, задачами с предварительной оценкой. Новая фича — десятки часов, мелкие правки — часы. Дороже обычного стоят только задачи, упирающиеся в накопленный техдолг, — о нём вы узнаете из аудита заранее, а не по факту счёта.