Иногда при обсуждении заказов на разработку мы слышим:
— Вы серьёзно? Да нейросеть на коленке это за три дня напишет!
— Мне дешевле самому всё бросить и сесть писать.
— У меня племянник учится на программиста — он дёшево сделает.
Что тут сказать. Если такой вариант вас полностью устраивает по
качеству — почему бы и нет? Смело приступайте. Опытные специалисты в эти рамки не протиснутся. Но для простых задач или экспериментов можно
попробовать и такие способы.
Но давайте будем честны с собой: если бы вас этот уровень устраивал,
вы не искали бы профессиональных разработчиков. Нейросеть за три дня на коленке — не очень подходящий аргумент для торговли. Ведь столкнувшись с результатами её трехдневной работы вы вряд ли попросите как можно скорее залить их на живой сервер.
Почему «быстро и дёшево» редко означает «хорошо»?
Потому что результаты работы нейросетей, начинающих разработчиков или тех, кто берется за проект без должного опыта, нередко выглядят так:
— Функционал вроде есть, но… — ошибки появляются в
самых неожиданных местах, а производительность оставляет желать лучшего. Скажем, 250 запросов к базе данных на одну страницу, из которых 150 одинаковых.
— Уязвимости и технический долг — нефильтрованный
пользовательский ввод, прямые SQL-запросы, отсутствие тестов. Вы об этом узнаете не сразу, но исправлять их потом будет дороже.
— «95% готово, нужно чуть-чуть доделать» — на биржах фриланса такие проекты встречаются практически каждый день. Часто оказывается, что проще переписать с нуля, чем починить то, что сломано фундаментально.
Так за что же вы платите профессионалам?
Очевидно, не за то, что они нажимают кнопки вместо нейросети, а за:
✔ Понимание, как делать правильно — спланировать архитектуру, не забыть про рекомендованные практики безопасности и оптимизации.
✔ Умение предвидеть проблемы — не только написать код,
но и сделать так, чтобы его было легко поддерживать и приятно развивать. Чтобы он работал, а не отправился на биржу с тегом «95%».
✔ Опыт — знание, какие решения работают, а какие
создают только видимость результата. Когда выдачу нейросети взять, когда подправить, а когда — стереть и сделать самому.
Конечно, всегда есть вариант собрать что-то быстро и сэкономить. Но
если вам уже нужен продукт, а не эксперимент — то он должен быть
надежным и масштабируемым. И его разработку стоит доверить тем, кто
знает, как этого добиться.
А как тогда прицениться к заказной разработке?
Проще всего наверно действовать народным методом. Отправить заявку
нескольким подрядчикам и сравнить предложения. Но как их сравнить? Ведь если один оценил проект в 500 тысяч, а другой — в миллион, это не
обязательно значит, что второй обманывает.
Почему оценки могут отличаться?
- Один посчитал только базовый функционал как написано в ТЗ.
- Другой учёл ряд неявных требований исходя из своего опыта.
- Третий возможно недооценил работу, или снижает цену чтобы взять заказ.
- Четвертый увидел в задании проект более грандиозный, чем вы возможно планировали.
- У пятого просто дешевле часовые ставки.
Есть и другие нюансы. Например, один разработчик может заложить в
стоимость пакет тестов и получить на выходе более надежный и
поддерживаемый продукт.
А другой планирует вести разработку методом стремительного домкрата —
быстро реализовать, исправить те ошибки, которые вскроются сразу, а
дальше брать за правки дополнительные деньги.
Также стоит понимать, что многие задачи можно решить, прилагая разные усилия.
Пример: Допустим, вам нужна авторизация на сайте.
- Базовая версия (логин/пароль) — почти бесплатна, все современные средства разработки это сразу умеют.
- Но добавьте к требованиям вход через Google, Яндекс, Telegram, и
SMS-верификацию телефона — и стоимость решения изменится драматически.
На что же смотреть при выборе?
Помимо общей стоимости нужно учесть:
✔ Часовую ставку и состав команды, если разработчик поделится такой информацией.
✔ Сроки — зная сроки, часовую ставку и бюджет, адекватно сравнить предложения будет проще.
✔ Средний уровень зарплаты в отрасли — например, как не устает сообщать ФНС, средняя зарплата в Москве по отрасли ИТ до налогов — что-то около 150 тысяч.
Эту сумму я бы взял за некий минимум в пересчете на месяц работы
одного разработчика. И предложения ниже относил бы к немного
подозрительным.
Что еще?
Если переговоры располагают к дальнейшим обсуждениям с разработчиками, имеет смысл уточнить инструменты, на которых
предполагается разработка.
Во-первых так можно оценить современность, востребованность, распространенность предлагаемых инструментов.
Во-вторых, так тоже можно сравнивать бюджеты предложений. Скажем,
один разработчик решил воспользоваться всем спектром готовых функций CMS (системы управления контентом) и снизить цену. А другой предлагает
решение на фреймворке, где многое нужно будет реализовать, и поэтому
предложение дороже.
Про CMS vs Framework мы поговорим в следующий раз.