Вокруг ИИ в разработке сложился устойчивый нарратив: инструменты повышают производительность, ускоряют выпуск функций и становятся неизбежной частью профессии. Вайбкодинг подается как естественный этап эволюции — достаточно описать желаемый результат, принять сгенерированное решение и двигаться дальше. Однако за разговорами о скорости теряется вопрос, что происходит с самим разработчиком, когда значительную часть процесса создания программы берет на себя ИИ.
Программирование нельзя свести к повторению шаблонов. Создание DTO или типового обработчика — рутина, для которой ИИ подходит идеально. Но нетривиальные задачи решаются множеством способов: разработчик выбирает, как разделить ответственность между компонентами, где провести границы модулей, какие состояния сделать явными, чем пожертвовать ради простоты. Код отражает не только знание синтаксиса, но и способ мышления — он похож на почерк, который командные соглашения и линтеры сдерживают, но не уничтожают.
Написание кода — часть мышления. Разработчик придумывает верхнеуровневое решение, пишет несколько строк, запускает код, замечает неудобство и меняет интерфейс. Возникает цикл: предположение → код → обратная связь → переосмысление. Удовольствие приносит не набор символов, а момент, когда неясная идея превращается в работающую систему. Автоматизируя написание кода, можно убрать и часть процесса, в котором рождается решение.
ИИ помогает, когда разработчик сам декомпозировал задачу и определил архитектуру, а модель лишь реплицирует найденное решение. Например: «Вот существующий компонент. Создай три аналогичные реализации. Не меняй публичные интерфейсы». В этом случае ИИ устраняет рутину, но не забирает проектирование. Проблемы начинаются, когда разработчик описывает требуемое поведение, но не определяет внутреннее устройство. Чем больше неопределенности, тем больше инженерных решений модель принимает вместо человека.
Второй подход опасен тем, что разработчик перестает быть автором системы. Он не выбирает, куда поместить логику, какие компоненты использовать и где провести границы ответственности. Со временем это ведет к утрате понимания системы и выгоранию: внешнее ускорение сопровождается внутренним опустошением. Профессия меняется, и важно осознанно выбирать, какие задачи делегировать ИИ, а какие оставлять за собой.

