Реальная цена дешёвого фрилансера
Вы нашли того, кто соберёт приложение за долю цены агентства. Звучит идеально. Рассказываю, что происходит дальше.
Почему «дёшево» выглядит привлекательно
У вас ограниченный бюджет. Нужен MVP. Хотите проверить идею, прежде чем вкладывать серьёзные деньги. Всё это рациональные причины оптимизировать по стоимости.
И рынок облегчает задачу. Upwork, Fiverr, биржи фрилансеров — можно найти кого-то, кто соберёт ваше приложение за цифру, от которой сложно отказаться. Показывают портфолио. Обещают быструю поставку. Выглядят заинтересованными.
Вот в чём дело: они, скорее всего, не врут о том, что могут собрать. Они врут — часто самим себе — о том, чего не видят.
Что идёт не так
Приложение работает. На демо, на их машине, с их тестовыми данными. А потом вы запускаетесь.
Однажды я унаследовал React Native приложение, которое клиент заказал у фрилансеров. Больше 200 npm-зависимостей — половина без поддержки, у некоторых известные уязвимости. Они тащили библиотеку на всё подряд: форматирование дат, анимации кнопок, валидацию форм, которую можно было написать в 10 строк. Клиент сначала был доволен — на демо-устройстве работало, экраны выглядели правильно. Но стоило попробовать обновить React Native, чтобы закрыть уязвимость — всё дерево зависимостей сломалось. Каскадные конфликты версий повсюду. Фрилансеры уже ушли на следующий проект и возвращаться не собирались. По факту проект был MVP, замаскированным под готовый продукт. Пришлось разобрать его до основания и пересобрать большую часть.
- Нет архитектуры. Всё в одном файле. Бизнес-логика смешана с UI. Нет разделения ответственности. Добавление фичи означает переписывание половины приложения.
- Нет тестов. Ноль. Ни одного автоматического теста. Каждое изменение — лотерея: вы не узнаете, что сломали, пока пользователь не скажет.
- Нет обработки ошибок. Happy path работает. Всё остальное — неверный ввод, сбой сети, неожиданные данные — тихо падает или показывает пустой экран.
- Нет ревью безопасности. SQL-инъекции, XSS, открытые API-ключи, пароли в открытом виде. Не гипотетически — я видел всё это в «готовых» проектах.
- Нет документации. Разработчик уходит, и никто не знает, как что работает. Включая самого разработчика через три месяца.
- Нет плана передачи. Нет документации по деплою, нет инструкции по настройке окружения, нет объяснения, как части связаны. У вас приложение, которое вы не можете поддерживать.
Самый дешёвый разработчик — тот, кто пишет код, который придётся выбросить и переписать. Это самый дорогой исход из возможных.
Скрытые издержки
То React Native приложение, о котором я говорил? Клиент заплатил около $8K за первоначальную сборку. Пересборка — просто довести до состояния, в котором можно безопасно выпускать обновления и добавлять фичи — обошлась больше чем вдвое. И большая часть этих затрат ушла на археологию: чтение чужого кода, попытки понять, почему всё связано именно так, определение того, что можно спасти, а что нужно выкинуть. С нуля было бы быстрее.
Техдолг накапливается как финансовый долг. Каждая неподдерживаемая библиотека — бомба замедленного действия. Каждый шорткат — фича, которую нельзя добавить позже без переписывания того, что уже есть. То, что должно занимать день, занимает неделю — потому что вы обходите проблемы, которых не должно существовать.
Что значит production-grade
Ничего из этого не экзотика. Каждый senior-инженер делает это автоматически. Это то, что пропускается, когда цель — «сдать как можно быстрее и дешевле».
- Тесты, которые запускаются автоматически. Не 100% покрытие — только критические пути. То, при поломке чего бизнес теряет деньги.
- Обработка ошибок с graceful degradation. Пользователи видят понятное сообщение, а не краш. Вас уведомляют, а не ставят перед фактом.
- Базовая безопасность. Валидация ввода. Правильная аутентификация. Никаких открытых секретов. OWASP top 10 закрыт.
- Чистая архитектура. Компоненты, которые можно менять независимо. Новые фичи не требуют переписывания существующих.
- Пайплайн деплоя. Пушите код — он тестируется и деплоится. Не «SSH на сервер и копировать файлы».
- Документация. Не роман — ровно столько, чтобы следующий разработчик (или вы через 6 месяцев) мог понять, что происходит.
Средний путь
Вам не нужно агентство за $200K. Не нужен штатный senior-инженер. Нужен один человек, который знает, что такое «готово» на самом деле — и имеет опыт, чтобы это обеспечить.
AI сделал это возможным так, как было немыслимо два года назад. Senior-инженер с AI может поставить работу агентского качества за долю стоимости и сроков. Не за счёт срезания углов, а потому что AI берёт на себя объём, пока инженер применяет реальный инженерный judgment к решениям, которые имеют значение.
Самый дешёвый вариант — не тот, где самый низкий ценник. Это тот, за который не приходится платить дважды.
Разбираетесь с проектом, который должны были сделать правильно с первого раза?
Запишитесь на звонок. Посмотрю и честно скажу — можно починить или нужно переписывать.