QueryPort

17 ошибок, за которые я заплатил сам

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

Каждый пункт ниже я оплатил. Не прочитал, не согласился с чужой статьёй, а заплатил временем, деньгами и трафиком, который потом пришлось возвращать годами.

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

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

Почему это касается именно одиночек

В команде ошибку ловит кто-то ещё. Тестировщик заметит, аналитик спросит про числа, руководитель не даст начать четвёртую нишу, пока не работает первая. Один человек совмещает все эти роли и на всех них экономит, обычно на одних и тех же.

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

Список

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

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

  2. Самая дорогая моя ошибка. Пока не подтверждена одна ниша на одном языке, вторая и третья только делят ваше внимание. Умножается не выручка, умножается поддержка. У меня в сети есть домены, купленные под расширение, которые не приносят ничего до сих пор.

  3. Доводка до идеала в тишине это способ не узнать правду подольше. Спрос подтверждается людьми, которые пришли и остались, а не вашей уверенностью. Если первая версия не запущена за сутки, вы обманываете себя.

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

  5. Она не придёт. Недовольный уходит молча, довольный молчит тем более. Форма отзыва должна стоять там, где человек только что получил результат, а не в подвале раздела «Контакты».

  6. Ни первой, ни второй, ни третьей. Считать надо по человеку за всё время, а не по сделке. Кто считает по сделке, выключает рекламу ровно тогда, когда она начала работать.

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

  8. Клиент не сообщит о поломке. Он уйдёт. Мой парк сайтов месяцами держал дефекты, которые видно только сторожем: страница отвечает кодом 200, а середина у неё пустая, и форма молча не отправляется. Ни одной жалобы за всё это время.

  9. Каждое «улучшение» это чаще всего изъятие привычного. Пользователь пришёл за тем, что работало вчера, а получил новую версию, в которой надо разбираться заново.

  10. Возможно, это вообще первый пункт. Но осторожно: зелёный набор проверок не означает, что сайт работает. У меня девяносто девять сторожей светились зелёным над страницей, у которой не отображалась середина.

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

  12. Отдельно про отзывы и счётчики, которых не было. Это не серая зона и не маркетинг, это враньё, и оно вскрывается. Дико размещать выдуманную статистику просто потому, что так красивее выглядит блок.

  13. Продукт для всех не нужен никому. Пока вы не можете назвать человека, который откроет ваш сайт сегодня и зачем, вы делаете витрину, а не решение.

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

  15. Не по обзорам, а самому, открыв и попользовавшись. Вполне возможно, что у них уже лучше, быстрее, дешевле, а иногда и бесплатно. Узнать об этом до старта стоит один вечер, после старта полгода.

  16. Надежда на продажи без возможности привыкнуть к продукту. Человеку нужно получить пользу раньше, чем счёт. Лимит при этом обязан быть посчитанным: у меня два процента запросов съедали больше половины бюджета, и увидел я это только когда сел считать.

  17. Пункт, который может стоить вам всего проекта. Платформа это то, во что решение вырастает потом, если выживет. Начинать с неё значит год строить фундамент под дом, который никто не заказывал.

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

Что из этого ваше

Что вместо этого работает

  1. Делать то, чем пользуетесь сами. Иначе вы не отличите важное от мелочи.
  2. Посмотреть руками, сколько таких же и что конкретно они дают. Один вечер до старта против полугода после.
  3. Взять востребованную нишу, но с очень узким прицелом на старте.
  4. Дать человеку реальную пользу бесплатно, дать привыкнуть, и только потом предлагать расширенное.
  5. Собирать обратную связь и числа с первого дня, а не когда появится время.
  6. Запустить первую версию за сутки. Если не получилось, вы делаете не первую версию.

Ни один из этих пунктов не про технологии. Все они про ограничения, которые вы себе назначили сами, потому что назначить их больше некому.

Дмитрий Подстригаев

Дмитрий Подстригаев

Разработчик, архитектор шлюза

Шестнадцать лет разработки, свой парк сайтов и свой шлюз к моделям. Пишу только о том, за что заплатил. Другие записи.

Разборы по темам из списка

Если вы узнали за собой восьмой пункт, начните с него: поломку, о которой никто не сообщает, оплачивает уходящий посетитель. Мы такие места находим на аудите, смотрим, где принимается решение «удалось», и что при этом попадает в мониторинг.

Как мы беремся за ИИ-интеграцию · Возразить или рассказать свою задачу