Comments 35
А если завтра отключат электричество - как вы программировать собираетесь?
Как то не однозначно если честно. Вроде в чем то и правда, но в тоже самое время похоже на то как лет 200 назад предлагали сжигать станки, потому что они отбирали работу у людей кто делал все в ручную. Все же это эволюция, но увидим насколько она правильная.
А я помню подобные дискуссии в фидо. «ты не программист, если не умеешь прочитать что там компилятор наделал, в этих ваших высокоуровневых языках слишком все далеко от реального железа»
Мне близка аналогия с экзаменом в университете: проблема "Получить отлично" и разные пути ее решения:
1. Неделями готовиться самостоятельно, заполняя пробелы в знаниях и углубляя понимание тем
2. Написать шпаргалку (подставьте что угодно - пронести смартфон, распросить уже сдавших и т.п.)
Со стороны второй вариант привлекательнее меньшими временными затратами и объемом приложенных усилий. К тому же прокачиваются разные "скиллы", и мастерство у каждого свое.
Но на подсознательном уровне первый превозмогает соблазн и получает в награду фундаментальные знания. Второй же выбирает легкий путь, что подводит его на дистанции (см. Карьерный тупик).
Если мы масштабируем экзамен, включая как сложность вопросов, так и строгость контроля нарушений, то цена решения проблемы для второго мне видится выше.
Я здесь намеренно ухожу в крайности "поверхностно и быстро с ассистом" и "глубоко, но медленно без ассиста", потому что не наблюдаю примеров "глубоко и быстро с ассистом" в реальном проекте. Все упирается в тот самый выбор трудного или легкого пути, который делается индивидуально.
З.Ы. Аргументация в статье неубедительная, уже предвижу аргументы вида "проблема первична, реализация вторична" и иную интерпретацию абстрактных "сложной бизнес-логики" и "понимает суть".
З.З.Ы. Это я так испортился, или каждая вторая статья мне кажется нейропродуктом?
Написать шпаргалку, особенно короткую и одновременно понятную — это тоже труд, заполняющий пробелы и углубляющий понимание
Это правда. И без мало-мальски понимания материала тоже шпаргалки не выйдет.
В моей аналогии проще заменить шпаргалку на "загуглить ответ в туалете", суть останется в восприятии процесса и склонности действовать так и в дальнейшем.
Само наличие выбора тоже может сыграть роль, помню как сам переживал и подготовил себе:
короткую и одновременно понятную
шпаргалку.
Благо в час X собрался, и не пригодилась. Но сам факт того, что в случае чего тылы прикрыты, дарил уверенность. Дарит и сейчас, когда делаю что-нибудь в смежных областях.
Если вы не можете разобраться в машинном коде...
Если вы не можете писать на низкоуровневых языках...
Если вы не пишете без подсветки кода, без линтеров, без, боже упаси, умных компиляторов...
Если вы не можете провести рефакторинг без функций IDE...
Если вы не пишете одно и то же из раза в раз, а используете автодополнения...
Все это уже было. Теперь сюда добавилась генерация кода.
Если вы не можете разобраться в машинном коде...Если вы не можете писать на низкоуровневых языках..
Так остались те, кто может, и они востребованы. Если их не будет, разработчики на высокоуровневых языках не получат ни ОСей, ни трансляторов. Также с вайбкодингом. Он нормальный, пока у него база собрана с думающих программистов и рабочих разработок.
И эта генерация - очередной инструмент, к которому нужен толковый специалист. В противном случае люблю приводить аналогию с перфораторами. Без перфоратора можно делать дыры и штробы. Но долго и дорого. С перфоратором тот же специалист сделает дырку или штробу в разы быстрее и, возможно, даже аккуратнее и чище. С хорошим перфоратором он сделает еще лучше и быстрее. Но не важно какой перфоратор использовать, какой фирмы, мощности и так далее, если выдать его в руки обезьяне.
Я помню как появлялись первые ide с умным автокомплитом типа интеллисенса. И как ругань была, мол, это не тру, надо чуть ли не в блокноте кодить, а забери у тебя IDE, кто ты без нее? А потом оказалось, что IDE за тебя не пишет код, просто ускоряет процесс, снимая часть рутины.
Сейчас тот же виток с иишками. Но более сильный. Закончится тем же - отрезвлением, что это просто инструмент, который снимает часть рутины, но не снижает требования к специалисту, а наоборот. Если раньше слабый специалист ни с каким автокомплитом не мог написать хотя бы рабочий код, то теперь может, но не может его провалидировать, и, как следствие, в прод может пролезть жаба.
Так что то, что слабый специалист с ИИ сможет заменить сильного - это очень дорогая ошибка.
Иронично: нейросетка пишет о вреде вайбкодинга. А о вреде вайбписательства не хочешь статью запилить?:)
Помню, отправили меня с таким же молодым коллегой в командировку в Москву, чтобы мы тамошних программистов (СМ-4 & RSX-11M) обучили работать с нашей сетевой библиотекой. Ну вот, аборигены-старики принципиально исползовали текстовый редактор командной строки (ED, кажется). И какой-то ассемблер-компилятор, в котором не было поддержки макросов. Экранный редактор де жрет память, а компилятор Macro-11 с макросами слишком медленно компилирует. А у нас вся библиотекаин на макросах, и в командной строке мы давно уже редактировать разучились. Редактор ещё ладно, разобрались, а библиотеку переписывать - вообще бред. Старики-абиригены нам вещали, что они вообще раньше в кодах кодили, а мы тут с макросами припёрлись. В общем, в тот раз захватить мир нам не удалось. А потом СССР распался, СМ-4 заменили сперва на ЕС-184*, а потом и на писишки, а те аборигены, наверное, сейчас пишут статьи на Хабре о былом величии СССР, ЭВМ с троичной СС и вреде вайбколинга.
Честно, надоело наблюдать как одни молятся на генерацию ИИ, а другие хейтят как будто это самое злостно зло. Это всего лишь инструмент и у него есть зоны применимости. Вы же не будете сильно восхвалять молоток или его хейтить, если им нельзя резать как циркулярной пилой.
Моя точка зрения и то что я вывел для себя - заключается в следующем:
Писать небольшие законченные фрагменты кода - гораздо быстрее (лучше для бизнеса) с помощью ИИ.
Можно писать среднедлинные участки кода, когда он не слишком ответственный.
Для длинных и ответственных тем - это либо 100% валидация кода ИИ, когда вычитываешь каждую строчку и понимаешь всю логику либо вручную.
Используйте инструмент как инструмент. Он не плохой и не хороший.
Да, но это решение каждого отдельного программиста.
Индивидуальная проблема и массовая проблема — это две разные штуки.
Каждый отдельный программист может решить так и по другому. Но отрасль в целом будет находится под давлением вида «половину уволить, и пусть в два раза быстрее теперь работают, у них ИИ есть».
Это приведет к отложенным проблемам всей отрасли в целом! Библиотеки с неочевидными багами, браузеры с неочевидными багами, средства разработки с неочевидными багами, продукты с неочевидными багами.
Но вы-то лично, может быть, и останетесь молодцом во всем этом хаосе.
Побуду немного "адвокатом дьявола":
Если код, написаный нейросетью работает здесь и сейчас, то остальное, по большому счету, не так уж и важно. Таска закрыта, вовремя, код рабочий - что еще надо-то?
Да, в будущем, когда увеличится нагрузка, могут возникнуть проблемы, но до этого самого будущего еще дожить надо, для очень многих IT-проектов оно никогда не наступит. А если наступит и проблемы таки возникнут, то вот тогда сеньоры и будут разбираться, и переписывать то, что Джуны вайбкодили. Да, бизнесу это будет стоить денег и немалых - но это будет опять же потом, а сейчас он на вайбкодерах хорошо сэкономил. И для нас, квалифицированных программистов, это даже хорошо - работа будет, и много, и неплохо оплачиваемая.
Джуниоры-вайбкодеры ничего не понимают в коде, написанном ими с помощью нейросети, и не растут профессионально? Так это их личные проблемы. Есть много тех, кто умеет думать, курит доки и старается разобраться глубже в проекте и технологиях, и таких ребят много - они и станут в будущем мидлами, а потом сеньорами. IT не умрет.
Так что - большинство проблем с вайбкодингом, по большому счету, надуманы.
Ну в логике «если проблема будет завтра — это не считается» и «это их личные проблемы», почти любые проблемы надуманы!
На практике, это все приводит к кратному росту цифрового долга, и перекосам рынка труда. И это будет цифровой долг не только вашего личного проекта, а ПО вообще, по всей планете. Но это ж завтра, чего сейчас об этом думать?
Нейросеть пишет статью перестаньте вайбкодить ))
Автор, лучше попросите свою нейросеть написать статью "перестаньте писать статьи нейросетями" за скелет можно взять эту, все те же минусы...
А вообще это тема про делегирование. Согласен только с тем что свои навыки надо иногда тренировать. Сам тоже 50/50 делаю
Как только (в каждом конкретном случае) станет понятно, какой способ более выгоден, им и станут пользоваться.
"Рыночек порешает" - (с).
Вайбкодинг скорее отравляет IT образование
Сложно чему-то научиться когда есть инструмент который пишет за тебя все лабораторки в универе (обычно они простые и нейросеть может с ними справиться)
А вот если у тебя 10 лет опыта и ты в своём стеке как рыба в воде - вряд ли вайбкодинг лишит тебя тех знаний что уже есть. Хотя возможно со временем начнёшь деградировать, в том смысле что перестанешь изучать/пробовать новое. Но по опыту - часто новое и не нужно, лучше - проверенные решения, где заранее знаешь все тонкости и как что исправить
Не на перфокарте? Не программа.
Перестань вайбкодить: почему «разработка на расслабоне» убьет твою карьеру