Блин. Все рассматривают программирование, как какую-то фишнифлюшку в самой себе. Нет такого в жизни! Всегда есть ПРЕДМЕТНАЯ ОБЛАСТЬ. Нафиг никому не надо человека, который просто сядет и начнет фигачить тонны кода. Нужно всегда писать код для чего-то. И тут уже и джун синьора не заменит, и ИИ толком ничего сделать не сможет
Re: Джун наоборот или разоблачение вайб-кодинга...
Здравствуйте, Shmj, Вы писали:
S>Интересная сатья: https://habr.com/ru/articles/971226/
S>Толковый чел, препод МФТИ (причем не формальный а именно увлеченный своим делом, что достойно уважения) оценил возможности LLM.
S>Пишет что все вовсе не так как вы подумали. Оно не заменит джунов — а наоборот, из джуна сделает сеньора — т.е. заменит сеньоров.
Сеньор — это не тот, кто на верхних уровнях абстракции, этот тот, кто легко может перемещаться между уровнями.
"Есть слои core, domain, infrastructure. В коде мелькают UserRepository, PaymentService, Factory, Strategy, иногда даже AggregateRoot" — это про стажера после курсов.
Re: Джун наоборот или разоблачение вайб-кодинга...
Здравствуйте, Shmj, Вы писали:
S>Пишет что все вовсе не так как вы подумали. Оно не заменит джунов — а наоборот, из джуна сделает сеньора — т.е. заменит сеньоров.
Мой опыт использования ИИ говорит о том, что без хорошего сеньора ИИ — игрушка. Самое неприятное, что она может сделать, это сгенерить что-то визуально рабочее. Это даст автору надежду на разработку и он может осознать масштаб проблемы довольно поздно. И диаграмма джуна с ИИ непонятная, скорость кодинга у джуна чаще всего высокая, это сеньор умудряется иногда стереть кода больше чем добавить при реализации новой фичи.
С архитектурой у ИИ сейчас достаточно проблем. Употребление названий паттернов в классах, даже по назначению, скорее напоминает джуна, прочитавшего GoF. В примере как раз все ошибки джуна перечислены, сеньоры на такие грабли наступают на порядки реже.
Я вижу у бизнеса надежду, что наконец всех заменят, но это вишфул синкинг.
Уверенность в ответе вообще странный показатель. Джуны часто уверены, а с ИИ непонятно как оценить.
Re[2]: Джун наоборот или разоблачение вайб-кодинга...
Здравствуйте, Sharov, Вы писали:
S>Архитектуру ИИ действительно набросает. Но dt в интеграле потеряет, шаг посчитает странно, угол перепутает, а float сравнит через ==. Проверяйте «простое». Именно там теперь живут самые дорогие баги.
Вероятнее всего автор не имеет большого опыта в архитектуре крупных приложений и не понимает, что это такое. Мои опыты говорят, что даже структуру данных ИИ делает посредственно, что уж говорить про слои абстракции и дизайн классов — обработчиков этих данных.
Re[4]: Джун наоборот или разоблачение вайб-кодинга...
Здравствуйте, Hоmunculus, Вы писали:
S>>Ну предметную область чаще всего знают совсем другие люди. И они ставят задания/говорят и консультируют как правильно сделать.
H>Как правильно сделать что? Кнопочку в форму вставить без понимания нафига эта кнопочка нужна? H>Я не знаю кто бы вообще так делал. С самого начала джунов начинают втягивать в понимание что и для чего. Рисователи кнопочек, которые не могу развиться дальше в понимание проекта — и так никому не нужны
Я так делал, много раз. Не понимая в предметной области практически ничего. это конечно мешало работать, немного бесило, но не так чтобы вообще блокировало работу.
Те кто знал "зачем эта кнопочка нужна" были давно на пенсии, их приглашали иногда поделиться мудростью. И эта схема вполне рабочая, уверяю тебя
Не у нас конечно проводили периодически ликбезы, частично помогало, но это вообще не тот уровень.
IMHO, в целом разработчику приложения нет необходимости детально понимать бизнес. Жить без этого вполне можно.
Re[2]: Джун наоборот или разоблачение вайб-кодинга...
Здравствуйте, bnk, Вы писали:
bnk>В этом понимании, "джун-наоборот" — это вовсе не "сеньор". Сеньор — это не тот, кто "путается в элементарных вещах".
Так ты смотри диаграмму — если совместить способности джуна и добавить к ним способности ИИ — то они друг-друга как раз дополнят — и получается именно что полный охват.
=сначала спроси у GPT=
Re: Джун наоборот или разоблачение вайб-кодинга...
Здравствуйте, Shmj, Вы писали:
S>Пишет что все вовсе не так как вы подумали. Оно не заменит джунов — а наоборот, из джуна сделает сеньора — т.е. заменит сеньоров.
Пока человество ишет новый тулинг для работы с использованием ИИ.
Вы же анализируете — что было бы если бы у первобытного человека был бы ИИ?
Причем именно так и ставите задачу — давайте пофантазируем что было бы?
Сейчас будут другие сеньеры и другие джуны.
Возможно появяться другие компиляторы, другие языки программирования.
Это будет постепенный процесс, никого не уволят на улицу, в лучшем случае переведут на другие проекты
Re[7]: Джун наоборот или разоблачение вайб-кодинга...
Здравствуйте, Shmj, Вы писали:
S>В этом и проблема — как раз для такого чела с еще работающим молодым мозгом, натренированным на олимпиадных задачах — будет проще понять, если есть говорилка в виде ИИ, которая имеет широкий взгляд.
Широкий взгляд — это когда ты понимаешь связи между вещами на широком спектре.
Умение сыпать цитатами из википедии, которые ты держишь в голове в изобилии, но толком не понимаешь, про что это вообще, никакого отношения к широте взгляда не имеет.
Re[2]: Джун наоборот или разоблачение вайб-кодинга...
Здравствуйте, Hоmunculus, Вы писали:
H>Блин. Все рассматривают программирование, как какую-то фишнифлюшку в самой себе. Нет такого в жизни! Всегда есть ПРЕДМЕТНАЯ ОБЛАСТЬ. Нафиг никому не надо человека, который просто сядет и начнет фигачить тонны кода. Нужно всегда писать код для чего-то. И тут уже и джун синьора не заменит, и ИИ толком ничего сделать не сможет
Чёйто вдруг. Это человеку чтобы стать каким-нибудь HVAC инженером надо четыре года в ВУЗе учиться, а потом ещё несколько лет работать в поле. И всё это время НЕ заниматься изучением OOAD, реляционной алгебры, теории формальных языков, и так далее.
А ИИ-шечка надрочена примерно на всё. Разговаривать с ней о гуманитарщине занятие бессмысленное, а вот примерно в любой предметной области она точно такой же сениор, как и в программировании.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Shmj, Вы писали:
S>Толковый чел, препод МФТИ (причем не формальный а именно увлеченный своим делом, что достойно уважения) оценил возможности LLM.
S>Пишет что все вовсе не так как вы подумали.
Окак. А он не продает шапочки для защиты от его телепатии?
S>Оно не заменит джунов — а наоборот, из джуна сделает сеньора — т.е. заменит сеньоров.
Первым делом стоило бы определиться с терминами — кто есть джун, а кто сеньор?
Внезапно, это очень размытые градации и разные люди понимают их по-разному.
Я лично предпочитаю такое деление, где деление проходит по степени уверенности в решении поставленной задачи.
— джун — его коду нельзя доверять. Что бы он ни сделал, другой более опытный разработчик должен внимательно проверить и, с большой вероятностью, внести правки а то и переделать начисто. Вероятность, что джун что-то сделает сразу правильно — классическая "или сделает, или не сделает", чисто лотерея. Самое ужасное, что джуны часто переоценивают свои силы и уверенно делают задачи вне их компетенции — либо потому что стесняются спросить уточнения, либо потому что излишне уверены в себе. Получается — плохо. Часто получаются огромные объемы монструозного кода, который вроде правильный и даже "красивый", только совершенно излишний.
— миддл — есть уверенность, что если он взял типовую задачу — то он ее или нормально сделает, или придет с вопросами и уточнения. Сделанную работу тоже стоит проверить, как и в случае любой работы, но, скорее всего, задача будет сделана вполне нормально. В незнакомых задачах может теряться, но хотя бы осознает свою зону компетенции.
— сеньор — может решать всякие задачи и простые, и сложные, типовые и нетиповые и наиболее вероятно что задачи будут или решены или он четко скажет, что справиться с этим — не может.
Джун легко может уверенно браться решать сеньорские задачи — просто скорее всего на выходе будет ерунда. Он может знать массу умных слов и "правильных подходов", только не иметь достаточно опыта для понимания, стоит ли в данном конкретном случае применять конкретный вот этот "правильный подход" или лучше не стоит.
И вот в таком определении ИИ сейчас — это как раз именно джун. Он может шикарный код налабать, но при этом всегда надо очень внимательно проверять — а решает ли этот прекрасный код именно поставленную задачу, или очень красиво делает что-то другое. И запросто может оказаться именно второе.
И так же как джуну надо очень четко описывать, что ты хочешь получить. И это еще мелочи. А вот в случае, когда он делает код, который сильно не тот, что ожидалось — нужно еще дольше объяснять, чем это плохо, и как надо правильно. Только в случае джуна это время на объяснение идет в его обучение, а в случае ЛЛМ просто теряется.
Re[7]: Джун наоборот или разоблачение вайб-кодинга...
Здравствуйте, Hоmunculus, Вы писали:
H>Ха. Ну ты же понимаешь зыбкость этого пути и что он максимум для поддержки, но никак не разработки нового? И там без понимания сотрудники не особо нужны. Хоть с ИИ, хоть без него
В моем случае как раз старая система (еще с мейнфрейма) и переписывалась на новую (веб-версию)
Если есть достаточно тестов, то вполне можно повторить логику и сделать пользовательский интерфейс без детального понимания.
Re: Джун наоборот или разоблачение вайб-кодинга...
Здравствуйте, Shmj, Вы писали:
S>Пишет что все вовсе не так как вы подумали. Оно не заменит джунов — а наоборот, из джуна сделает сеньора — т.е. заменит сеньоров.
В статье этого нет. Буквально:
Всё ровно наоборот — ИИ хорошо пишет довольно сложные вещи и достает важную информацию,
которую самостоятельно трудно найти. Но путается как раз таки в элементарных вещах.
Это джун наоборот.
В этом понимании, "джун-наоборот" — это вовсе не "сеньор". Сеньор — это не тот, кто "путается в элементарных вещах".
Да, "практический пример" из статьи кстати тоже порадовал.
Симуляция полета баллистической ракеты с помощью Клода — это прямо огонь
bnk>Всё ровно наоборот — ИИ хорошо пишет довольно сложные вещи и достает важную информацию,
bnk>которую самостоятельно трудно найти. Но путается как раз таки в элементарных вещах.
bnk>Это джун наоборот.
У меня, как раз, полуается, что на сложных задачах, где немного лень и хотелось напрячь болванчика — он не справлялся, а элементарые вещи сам достаточно бодро пишу.
Разве что накидать по быстрому какой-нибудь известный алгоритм можно запросить, но его надо 300 раз перепроверять.
bnk>Симуляция полета баллистической ракеты с помощью Клода — это прямо огонь
Ха, дочитал сообщение, и сразу-же подтверждение моего второго предложения.
Здравствуйте, Hоmunculus, Вы писали:
H>Все рассматривают программирование, как какую-то фишнифлюшку в самой себе.
Во-первых, не все.
Во-вторых, иногда это именно так. Например, если брать какой-то инфраструктурный код (библиотеки/фреймворки) без которого сейчас практически ничего не делается.
H>Нет такого в жизни! Всегда есть ПРЕДМЕТНАЯ ОБЛАСТЬ.
Можно примеры этих самых предметных областей?
H>Нафиг никому не надо человека, который просто сядет и начнет фигачить тонны кода.
Хорошая аналогия -- "литературные негры". Берут историю какого-то человека, который, возможно, и трех абзацев связного текста самостоятельно написать не сможет, и облекают это в литературную форму.
Re[3]: Джун наоборот или разоблачение вайб-кодинга...
Здравствуйте, so5team, Вы писали:
S>Можно примеры этих самых предметных областей?
Ммм. Мне сложно привести обратный пример, вне какой-то предметной области.
Что, знаешь программистов, работа которых просто лабать гигабайты кода без всякого смысла? Я — нет
Re: Джун наоборот или разоблачение вайб-кодинга...
Здравствуйте, Shmj, Вы писали:
S>Пишет что все вовсе не так как вы подумали. Оно не заменит джунов — а наоборот, из джуна сделает сеньора — т.е. заменит сеньоров.
Статья прекрасно иллюстрирует мою давнюю мысль: не надо имень много ума, чтобы архитектурить в стиле ИИ: произносить правильные слова и делать архитектуру "по паттернам".
Понятно, что этих долбодятлов ИИ легко заменит.
Re: Джун наоборот или разоблачение вайб-кодинга...
Здравствуйте, Shmj, Вы писали:
S>Интересная сатья: https://habr.com/ru/articles/971226/
S>Толковый чел, препод МФТИ (причем не формальный а именно увлеченный своим делом, что достойно уважения) оценил возможности LLM.
S>Пишет что все вовсе не так как вы подумали. Оно не заменит джунов — а наоборот, из джуна сделает сеньора — т.е. заменит сеньоров.
Прочитал, почему "джун наоборот" не понял. Джуны с профильным образованием вполне пишут рабочий код с использованием ООП паттернов, при этом косяча в предметной области и изобретая велосипеды, то есть то же самое что и получили в эксперименте.
Re[2]: Джун наоборот или разоблачение вайб-кодинга...
Здравствуйте, Hоmunculus, Вы писали:
H>Блин. Все рассматривают программирование, как какую-то фишнифлюшку в самой себе. Нет такого в жизни! Всегда есть ПРЕДМЕТНАЯ ОБЛАСТЬ. Нафиг никому не надо человека, который просто сядет и начнет фигачить тонны кода. Нужно всегда писать код для чего-то. И тут уже и джун синьора не заменит, и ИИ толком ничего сделать не сможет
Ну предметную область чаще всего знают совсем другие люди. И они ставят задания/говорят и консультируют как правильно сделать.
А вот в код они, как правило, погружаться не хотят — чтобы не утонуть в деталях реализации. Чаще всего и конфликт на этой почве — бизнес видит только готовые фичи, но не понимает что кривой код, смешение — это проблемы в будущем. Они не могут оценить реальную работу с учетом простоты поддержки в будущем — и получается что классическая схема:
1. Приходит чел, пишет быстро и выдает видимый результат. Но ценой спагетти кода, который первоначально дает преимущество.
2. Потом, когда видит что спагетти стало слишком комкокватым и неудобоваримым — увольняется.
3. Тут главное вовремя уйти — ведь начальство думает что ты крутой спец — быстро решаешь из проблемы.
4. Приходит новый чел. и понимает что нужно устранять технический долг — а именно тратить время при нулевом выхлопе для бизнеса.
5. Бизнес думает что их разводят на бабки — что-то там делают а результата нет, нужно показать результат.
Здравствуйте, Shmj, Вы писали:
S>Ну предметную область чаще всего знают совсем другие люди. И они ставят задания/говорят и консультируют как правильно сделать.
Как правильно сделать что? Кнопочку в форму вставить без понимания нафига эта кнопочка нужна?
Я не знаю кто бы вообще так делал. С самого начала джунов начинают втягивать в понимание что и для чего. Рисователи кнопочек, которые не могу развиться дальше в понимание проекта — и так никому не нужны
Re[4]: Джун наоборот или разоблачение вайб-кодинга...
Здравствуйте, Hоmunculus, Вы писали:
S>>Ну предметную область чаще всего знают совсем другие люди. И они ставят задания/говорят и консультируют как правильно сделать.
H>Как правильно сделать что? Кнопочку в форму вставить без понимания нафига эта кнопочка нужна? H>Я не знаю кто бы вообще так делал. С самого начала джунов начинают втягивать в понимание что и для чего. Рисователи кнопочек, которые не могу развиться дальше в понимание проекта — и так никому не нужны
Ну если это не космическая отрасль — то джун более-менее поймет для чего нужна кнопка — он как пользователь проги имеет общее понимание.
=сначала спроси у GPT=
Re[5]: Джун наоборот или разоблачение вайб-кодинга...
Здравствуйте, Shmj, Вы писали:
S>Ну если это не космическая отрасль — то джун более-менее поймет для чего нужна кнопка — он как пользователь проги имеет общее понимание.
Полно областей и без всяких космических отраслей, где надо вникать и понимать.
А те примитвные софтинки и сайтики, где все джуном тяп-ляп делается — так там и денег не будет в ближайшем будущем. А там где нужен мозг деньги останутся
Re[6]: Джун наоборот или разоблачение вайб-кодинга...
Здравствуйте, Hоmunculus, Вы писали:
H>Полно областей и без всяких космических отраслей, где надо вникать и понимать. H>А те примитвные софтинки и сайтики, где все джуном тяп-ляп делается — так там и денег не будет в ближайшем будущем. А там где нужен мозг деньги останутся
Так джун же — это не дурак. Чел. после 5 курса может порешать половину Демидовича, т.е. вполне владеть абстракциями, которыми никто из нас никогда в жизни не владел. А вот как раз понимания какие существуют готовые библиотеки, какие виды лицензий бывают, как собрать проект — у него нет.
В этом и проблема — как раз для такого чела с еще работающим молодым мозгом, натренированным на олимпиадных задачах — будет проще понять, если есть говорилка в виде ИИ, которая имеет широкий взгляд.
В общем, этот препод зрит в корень, имхо.
=сначала спроси у GPT=
Re: Джун наоборот или разоблачение вайб-кодинга...
Ха. Ну ты же понимаешь зыбкость этого пути и что он максимум для поддержки, но никак не разработки нового? И там без понимания сотрудники не особо нужны. Хоть с ИИ, хоть без него
Re: Джун наоборот или разоблачение вайб-кодинга...
Так это и не особо интеллектуальный и интересный труд. Такое — да, скоро ИИ автоматом делать будет.
Еще раз — я про разработку НОВОГО. Если и не в глобальном плане нового (такого осталось не так много, многое решено уже) то хотя бы в решении уже решенных задач, но чьи решения от нас закрыли. Например сейчас — в импортозамещении. Да, решаем с нуля то, что уже кем-то решено. Но ИИ тут ни бум-бум в простейших вопросах, коих сотни. Не говоря про сложные
Re[8]: Джун наоборот или разоблачение вайб-кодинга...
Здравствуйте, Hоmunculus, Вы писали:
H>Так это и не особо интеллектуальный и интересный труд. Такое — да, скоро ИИ автоматом делать будет.
Да, здесь согласен. Принципиально новые приложения (если это не сайт-визитка, конечно) идут сильно со скрипом.
Текущие модели такое не тянут, тут нужен какой-то новый толчок, чтобы он смог заменить бизнес-аналитика так же как разработчика.
Но в плане рутины, ежедневной работы, он очень хорошо помогает. Автокомплит (интеллисенс) например больше особо не нужен.
Не нужно выяснять, какие параметры, методы и интерфейсы есть и за что они отвечают, ИИ это выяснит гораздо быстрее (или уже просто знает)
Автоматический рефакторинг так же (привет решарперу), ИИ сам все сделает, достаточно только сказать что надо.
Здравствуйте, Shmj, Вы писали:
S>Здравствуйте, bnk, Вы писали:
bnk>>В этом понимании, "джун-наоборот" — это вовсе не "сеньор". Сеньор — это не тот, кто "путается в элементарных вещах".
S>Так ты смотри диаграмму — если совместить способности джуна и добавить к ним способности ИИ — то они друг-друга как раз дополнят — и получается именно что полный охват.
Я не очень понял как он это диаграмму достал из шляпы, да еще и с измеряемыми градациями (1-5)
Это, по виду, просто наглядная иллюстрация его слов, ничем, кроме них, не подтвержденная.
Его нарратив про индексы и "элементарные вещи" с его точки зрения, я, как пример живого кодера, думаю ни за что бы не нашел, точно так же как ИИ.
И со знаками "<" или "<=" в алгоритме быстрого поиска у меня например были бы точно такие же проблемы как у ИИ.
На мой дилетантский взгляд, он выдает "элементарные" проблемы как он их видит со своей колокольни.
Здравствуйте, Hоmunculus, Вы писали:
H>Ммм. Мне сложно привести обратный пример, вне какой-то предметной области.
Это странно.
Мне, вот, например, приходилось сталкиваться с людьми, которые собаку съели на специфических предметных областях: расчет прочности конструкций (в частности фундаментов зданий), радиолокация, финансовый консалтинг. Чтобы разговаривать с ними на одном языке в их предметной области нужно иметь не просто высшее профильное образование, а еще и ученую степень в этой же области.
У них у всех была одна общая черта: даже в рамках своей предметной облати они писали код "как курица лапой". А за пределами оной -- вообще ни бум-бум.
H>Что, знаешь программистов, работа которых просто лабать гигабайты кода
Я такого каждый день в зеркале вижу.
H>без всякого смысла?
Вот до маразма доводить не надо. Смысл есть. Только этот смысл определяю не я, а заказчик, который как раз в своей предметной области собаку съел. Но, скажем, mutex-а от spinlock-а отличить не может, а про приоритеты тредов в ОС вообще никогда не слышал.
Re: Джун наоборот или разоблачение вайб-кодинга...
Здравствуйте, Shmj, Вы писали:
S>Интересная сатья: https://habr.com/ru/articles/971226/
S>Толковый чел, препод МФТИ (причем не формальный а именно увлеченный своим делом, что достойно уважения) оценил возможности LLM.
S>Пишет что все вовсе не так как вы подумали. Оно не заменит джунов — а наоборот, из джуна сделает сеньора — т.е. заменит сеньоров.
Выводы в статье (целиком не читал) несколько иные:
На практике для меня из этого следуют четыре простых вывода.
Во-первых, ИИ нельзя считать автором кода. Он — генератор черновика. Каркас архитектуры, обвязка вокруг библиотек, мёртво скучный boilerplate — да.
Всё, в чём замешана математика, физика, дискретная логика, — проверяется ровно так же, как если бы это писал совершенно неграмотный во всех этих вещах человек.
Во-вторых, нельзя делегировать ИИ «простые» вещи.
Наоборот, именно простые вещи — шаги, индексы, типы, инварианты — придётся проверять особенно тщательно. Архитектуру он нарисует за вас. А вот dt посчитает через int() от деления и уедет на 0.03 секунды в сторону.
В-третьих, джунам по-прежнему надо учить матчасть, а не только «как правильно сформулировать запрос к нейросети». Если человек не понимает, чем явный метод Эйлера отличается от Рунге–Кутты и что такое численная устойчивость, он не увидит проблемы ни в схеме интегрирования, ни в расхождении временных сеток, ни в кусках отключенной аэродинамики. При этом матчасти нужно учить особенно хорошо, начиная с самых базовых вещей, таких как ошибки из-за особенностей машинной арифметики.
В-четвёртых, то, что ИИ иногда способен найти свои же ошибки, не делает его безопасным. Это полезный инструмент для второго взгляда. Но ответственность за то, что ракета в вашей модели не превращается в численный фейерверк, всё равно на вас.
Архитектуру ИИ действительно набросает. Но dt в интеграле потеряет, шаг посчитает странно, угол перепутает, а float сравнит через ==. Проверяйте «простое». Именно там теперь живут самые дорогие баги.
Вроде все по делу. Джун для джуна, по сути. Лично мне он скорее кое-какие идеи может дать или что-то уточнить. Пока так.
Улучшатель, а не заменитель.