Раньше вкат в айтишку выглядел примерно так: садишься, открываешь курс, учишь переменные, циклы, функции, потом массивы, потом “грокаешь” алгоритмы, потом начинаешь морочится с O(n²) и думаешь ̶а̶ ̶п̶о̶ш̶л̶о̶ ̶в̶с̶е̶ ̶к̶ ̶ч̶е̶р̶т̶у̶.
А щас что? Открыл Курсор, Клод, ЧатДжиПиТи или какую-нибудь другую ИИ-шку и пишешь ей: сделай мне бота, который делает дневное саммари рабочего чата, используя апи опенроутер - вуаля код готов.
Да, не всегда хорошо. Да, не всегда безопасно. Да, не всегда так, как надо. Но код работает и запускается. А что еще надо, спросите вы?
Потом многие на это посмотрели и сказали “Айти пузырь лопнул”, “Программисты больше не нужны. Теперь можно просто вайбкодить”
Ага. Конечно.
Вайбкодинг - это когда ты как будто не пишешь код в классическом смысле. Ты скорее направляешь нейросеть: объясняешь, что хочешь получить, просишь поправить, просишь добавить кнопку, потом ещё одну, потом “сделай красиво”, потом “ой, всё сломалось, верни как было”.
И на уровне демки это магия.
За вечер можно собрать то, на что раньше ушла бы неделя условного синьера. Лендинг, форму, апи, базу, авторизацию, админку, тг бота, обработку файлов, простую оплату - всё это теперь не выглядит как квест со всеми неизвестными. Особенно если ты уже хоть немного понимаешь, что вообще происходит.
Но проблема в том, что между “собрать демку” и “владеть продуктом” лежит огромная пропасть.
И вот эту пропасть вайбкодинг сам по себе не закрывает.
ИИ-шка может быстро написать код, и это реально круто. Но она не понимает твой бизнес, твой прод, твою базу, твои деньги, твоих пользователей и твой завтрашний пожар на серве в 3 ночи (когда отвалится апишка из за нагрузки).
Она может нагенерировать тебе проект. Но если ты не понимаешь, где входящий запрос, где база, где настройки, где логи, где Docker, где nginx, где миграции, где пользовательские файлы и почему внезапно “500” - ты не разработчик продукта. Ты пассажир.
Причём пассажир в машине, которая уже куда-то едет, в ней есть руль и педали, но ты не знаешь где
Мне кажется, новая реальность разработки не в том, что теперь всем не нужны знания. Наоборот. Просто изменился набор базовых знаний.
Раньше очень много внимания было на том, можешь ли ты сам руками написать сортировку, дерево, очередь, алгоритм поиска и не завалиться на собесе. Это не обесценилось и сейчас. Алгосы важны, особенно если ты работаешь там, где нельзя весь проект скормить нейронке (а я видел и такое)
Но для создания просто продукта, сейчас важно другое = понимаю ли я структуру.
Понимаю ли я, как данные проходят через систему.
- Пользователь нажал кнопку
- запрос ушёл на backend
- view/API его принял
- сервис что-то обработал
- база сохранила результат
- frontend получил ответ
- пользователь увидел нормальный результат.
Айти не умерло, оно просто переродилось.
Можно не помнить или даже не понимать каждую команду докер. Но ты должен понимать, что такое контейнер, где volume и зачем их вообще монитровать, почему бд не должна жить внутри одноразового контейнера (лол), почему .env не надо коммитить в гитхаб и почему “оно работало локально” не равно “оно работает на серве”
И вот когда ты от этапа генерации кода, начинаешь разбратся уже в кишках своего продукта, бро, это уже не вайбкодинг. Это разработка.
Настоящий скилл не в том, чтобы печатать 100500 строк кода без автокомплита. Настоящий скилл сегодня - это уметь принять решение.
Предсавим, что ИИшка тебе предлагает структуру. Ты понимаешь, нормальная она или каша.
ИИшка пишет код. Ты видишь, где опасное место и вообще зачем так много исключений?
ИИшка добавляет фичу, чинит баг, переписывает проект, а ты ПОНИМАЕШЬ, что происходит.
Потому что есть опасная иллюзия: “если ИИ пишет код, то мне можно не разбираться”. Нет. Так можно, но недолго. До первого бага, первой миграции, первой потери базы, первой дырки в безопасности или первого пользователя, который увидел чужие данные.
Удивляет и другой подход: ИИ-шка зло, вайбкодеры дураки, я буду писать руками до посинения, потому что я “синьер”
Так можно писать проект годами и ничего не выпустить. Пока другие на коленке десять раз собрали твою идею и протестировали ее.
И вчерашний вайбкодер, спустя 10 проектов, станет не менее опытным разработчиком, чем ты (даже без знания всех нюансов ООП)
Решение должно быть посередине.
ИИшка пишет - ты понимаешь и контролируешь.
Да, я попрошу ИИ сделать авторизацию. Но я все равно понимаю, где пользователь, где сессия, где права доступа и почему нельзя просто “user_id передали в форме, значит это его данные”.
Вот это и есть новое АЙТИ.
Не “я помню все методы фреймворка” и решил 200 тысяч задат на литкод, а я понимаю, как система, которую я создал, живёт в проде.
То есть вайбкодинг сам по себе - это не профессия. Это скорее армия джунов под твоим управлением (как сказал один мой знакомый)
НО, если у тебя нет понимания, вайбкодинг усиливает хаос.
А если у тебя есть структура в голове, то он усиливает скорость разработки.
Мой вывод короткий: промтить будут все, и это неизбежно.
Когда появился гугл и море информации, 99% не стали великими учеными (хотя вроде бери и учись, все доступно)
Потом появился ютуб, и тоже ничего не произошло. (Хотя я лично находил и пользуюсь нереально крутыми бесплатными курсами на ютуб по разным дисциплинам)
Вайбкодинг хорош как старт. Он убирает страх белого листа и позволяет хоть что-то начать делать и быстро увидеть результат. Он даёт ощущение: “Ого, я могу собрать штуку”. А дальше начинаешь копаться в нюансах, структуре, особенностях.
Да что там говорить, я сам так начал изучать JS. Я всегда знал, что для полноценного фулстека это нужно, но незнал как подобратся (ведь это второй язык после питона). Пришла задача. Пришла нейронка. И пошло поехало, надо читать и вникать в код. А там и структура, логика, особенности нового языка.
Я вспоминаю как в далеком 2017 году я пытался вкатится в шарп, что начать делать игры. Это были боль, слезы и мучение, но так ничего и не получилось. Сейчас это супер доступно для каждого. И где армия успешных вайб-игроделов?
Поэтому вайбкодинг - это не конец программирования. Или, если хотите, это конец программирования в том виде, в котором оно было раньше, т.е. бесконечного ручного набора типовых кусков без понимания продукта.
И начало другой истории, где важнее не то, насколько быстро ты печатаешь код, а насколько хорошо ты управляешь им.