23:40. Пятница. Я смотрю на чужой Node.js код, который кто-то писал в 2019 году явно в спешке. Клиент из Германии платит $85 в час и ждёт фикс к утру.
Раньше такая ночь заканчивалась в 4 утра.
---
Год назад я бы открыл этот же код и начал читать его сверху вниз. Потом снизу вверх. Потом добавил бы console.log в каждую функцию. Потом выпил бы третью чашку кофе и начал гуглить "node.js async queue bug debugging".
Это не преувеличение. Это буквально то, как я работал.
Легаси-код - это отдельный ад. Там нет документации. Там есть комментарии типа "// TODO: fix this" от человека, которого уже нет в компании. Там переменные называются `data2` и `dataFinal` и `dataFinalActually`. И ты не знаешь, где баг - в логике, в асинхронности, в конфигурации, или вообще в том, что кто-то когда-то забыл поставить `await`.
Я помню клиента, которому я выставил инвойс на $680 за один такой вечер. Он заплатил. Но больше не вернулся. Я тогда думал - ну, $680 это хорошо. Потом понял, что потерял человека, который мог давать мне задачи каждый месяц.
Дорогая ошибка. Не в деньгах - в мышлении.
Я собрал промпты по этой теме в PDF. Забери бесплатно: https://t.me/airozov_bot
---
Я скинул в Claude весь файл с очередью. Не кусок - весь файл, 340 строк. И написал одно сообщение: "Это асинхронная очередь на Bull. Клиент говорит, что задачи иногда выполняются дважды. Иногда - это раз в несколько дней, воспроизвести не могут. Что здесь может вызывать такое поведение?"
Claude не сказал "добавьте логи". Он указал на конкретное место - обработчик `completed` event навешивался внутри цикла без проверки, существует ли уже такой listener. При определённых условиях перезапуска воркера listener дублировался. Задача отмечалась как выполненная дважды.
Я проверил. Это было оно.
40 минут. Инвойс - $170. Клиент получил фикс в 00:20, написал "perfect, thank you" и лёг спать. Я закрыл ноутбук до полуночи впервые за несколько недель.
Вот как я использую Claude для дебага легаси - три конкретных шага.
Первый. Даю максимальный контекст сразу. Не "вот функция, почему не работает". А - стек, версии зависимостей, описание симптома, как часто воспроизводится, что уже пробовал. Чем больше контекст, тем точнее ответ. Это занимает 3 минуты, но экономит час.
Второй. Прошу не просто найти баг, а объяснить механику. "Объясни, почему именно это вызывает проблему и при каких условиях." Это важно - я не хочу просто скопировать фикс. Я хочу понять, чтобы не наступить на то же в следующем проекте. И чтобы объяснить клиенту, что именно было сломано.
Третий. После фикса прошу найти похожие паттерны в остальном коде. "Посмотри на весь файл - есть ли ещё места, где та же ошибка могла повториться?" В той пятнице Claude нашёл ещё два потенциальных места. Я их исправил. Клиент не знает об этом - но его система теперь стабильнее.
Cursor я использую для всего остального - написание нового кода, рефакторинг, автодополнение. Но для дебага чужого кода, особенно легаси - Claude в чистом виде. Он лучше держит длинный контекст и точнее рассуждает о логике. ChatGPT я пробовал для той же задачи - он давал более общие ответы и чаще предлагал "добавить обработку ошибок" вместо того, чтобы найти корень проблемы.
---
$170 за 40 минут против потенциальных $680 за ночь. Казалось бы - я заработал меньше.
Но это неправильная математика.
Клиент из Германии вернулся через неделю с новой задачей. Потом ещё раз. За март он принёс мне $1,240. Если бы я выставил $680 за ту пятницу - скорее всего, он бы заплатил и исчез. Как тот другой клиент.
Я не продаю своё время. Я продаю результат. AI просто сделал эту разницу финансово очевидной.
Раньше высокий инвойс был оправдан - я реально тратил 8 часов. Сейчас я трачу 40 минут, но результат тот же. Значит, ценность не в часах. Она была в результате всё это время - я просто не мог позволить себе так думать, пока часы и результат были связаны напрямую.
Это меняет всё. Как ты продаёшь. Как ты выбираешь задачи. Как ты объясняешь клиенту стоимость работы.
Разработчик, который дебажит легаси 8 часов - это не более ценный разработчик. Это просто медленный разработчик. И большинство клиентов, если им объяснить, выберут быстрый результат по честной цене.
Каждый день разбираю один такой инструмент в Telegram: https://t.me/yevheniirozov
---
Возьми любой кусок кода, который тебя раздражает. Не обязательно баг - может быть функция, которую ты не понимаешь, или легаси-файл, который боишься трогать.
Зайди на claude.ai и напиши вот этот промпт:
*"Вот код: [вставь код]. Технологии: [стек]. Проблема или вопрос: [опиши]. Объясни, что здесь происходит, найди потенциальные проблемы и объясни механику каждой из них - не просто что исправить, а почему это ломается."*
Засеки время.
Сравни с тем, сколько ты бы потратил без этого.
Потом подумай, сколько ты берёшь с клиентов за это время - и сколько на самом деле стоит результат.
• [Я потратил месяц на AI-инструменты и удалил половину из них](https://telegra.ph/YA-potratil-mesyac-na-AI-instrumenty-i-udalil-polovinu-iz-nih-05-24)
• [Как я перестал тратить часы, выбрав правильную нейросеть](https://telegra.ph/Kak-ya-perestal-tratit-chasy-vybrav-pravilnuyu-nejroset-05-23)
• [Оказывается, ChatGPT работает иначе. Я узнал это случайно.](https://telegra.ph/Okazyvaetsya-ChatGPT-rabotaet-inache-YA-uznal-ehto-sluchajno-05-24)
Почему твои коллеги до сих пор тратят день на то, что можно сделать за 15 минут?
Почему твои коллеги до сих пор тратят день на то, что можно сделать за 15 минут?