Обновить

«Фронтенд умер»? Жаль, что я узнала об этом только после четырех лет учебы

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели10K
Всего голосов 5: ↑5 и ↓0+5
Комментарии68

Комментарии 68

Тут очень зависит где фронтендить. Если на обычный сайтах. То вероятно Вы там будете одним специалистом. А последнего специалиста ИИ заменить очень сложно, не будет же менеджер сам даже с ИИ этим заниматься. Другое дело часто хотят сэкономить и ищут бэкенд фронтенд в одном лице, но это как будто всегда так было(( Фулстакам проще, но их меньше. Если не найдут у нас есть шанс))

Если на обычный сайтах. То вероятно Вы там будете одним специалистом. А последнего специалиста ИИ заменить очень сложно

Но есть нюанс, все такие места уже давно заняты и увольняться с них никто не будет, просто банально потому что некуда и другого оффера больше не будет) Либо уходить из профессии, либо держаться до последнего на текущем месте. Поэтому на таких местах будут сидеть до талого, либо пока не уволят, либо пока компания не загнется.
Единственный вариант туда влезть - увольняют Васю и нанимают Вику за зарплату в 2 раза ниже чем у Васи. А в этой ситуации вы та самая Вика) При этом надо понимать что эта самая ЗП будет в 2-3 раза ниже чем у любого курьера или таксиста. А сколько усилий надо приложить чтобы стать курьером или таксистом? Правильно ноль. А сколько усилий надо приложить чтобы стать разработчиком? Правильно до хрена и больше.

Сто процентов Вы правы)) Сидеть там, так уже до финала, своего либо конторы))

Со вторым по всякому бывает. Где то богатая контора и постоянно чето мутят на своем проекте, там и з.п. хорошая. Есть консервативная тактика, минимум изменений абы работало, там и платить могут каких-нибудь 10 000р в месяц, но и работы столько же на пару часов в месяц. Т.е. за единицу времени как бы и неплохо. Но жить с одного такого увы не получится.

Готов работать за зарплату в два раза ниже, чем у таксиста. Где записываться?

// Сейчас в три раза ниже

Фронт мертв уже 3 года, последние полтора года мертв вообще капитально, и каждый день умирает только сильнее и сильнее. Но дело не только фронте, вообще вся разработка, бэкенд тоже умер(по сравнению с фронтом он немного живее). Более того, специалисты уровня junior вообще никому не нужны, даже middle, потому что ИИ прямо сегодня намного сильнее чем junior и middle, остаётся только разумным нанимать Senior/Lead, но тут опять же смешно, на 1 вакансию 10000 желающих, поэтому тут тоже без шансов. Плюс ваканасии которые вы сейчас видите на hh минимум в 60-70% случаев фейковые, мало того что их очень мало, так ещё и из этого мизерного числа 70% просто фейк, вот и остается на 1 вакансию 10-20тыс желающих, если не верите, создайте аккаунт работодателя на hh и создайте вакансию разработчика на фронт и бэк, и вы просто будете в шоке от того сколько тысяч откликов вы получите в первый час размещения этой вакансии, я уж не говорю скажем про то, что эта вакансия будет висеть неделю. Короче говоря, ваше резюме и ваш отклик в принципе в 99.9999% случаев просто не увидят даже среди десятков тысяч таких же, готовы ли вы заниматься этой фигней в таких условиях и тратить годы только на то, чтобы случай но найти работу(и то далеко не факт), чтобы просто тупо набраться реального коммерческого опыта) Но и тут облом, за последний год ИИ сильно круче стал, подумайте что будет в 2027 году.

С того момента как начали из всех утюгов рекламировать курсы и кричать что в IT якобы дифицит кадров я сразу понял что ещё 2-3 года и труда) Ну оно было сразу очевидно, а тут ещё ИИ навалился со всей силы, поэтому собралось гипер кобмо против разработчиков.

Вот да с вакансиями вообще какая то дичь. С одной стороны их даже больше в моей сфере раза в 2 стало чем 3 года назад. Но по обратной связи вообще тонкая струйка, притом и просмотров очень мало. Как будто их там действительно спамом с тыщай резюме забросали.

Как будто их там действительно спамом с тыщай резюме забросали.

Как будто? Нет, это реальность, на полном серьезе их тысячи на каждую вакансию. Я разговоривал со знакомыми рекрутерами, их уже 2 года назад тысячими откликов засыпали и они не знают как отбиваться.

Ну не знаю. Придумали б капчу какую)) Ключевые фразы в резюме. Анкетки какие-нить. Хоть какой-нибудь отсев от некачественного спама.

Хоть какой-нибудь отсев от некачественного спама.

Это не некачественный спам, это реальные люди которые знают все уловки в том числе то, что нельзя указывать в резюме что они закончили курсы по программированию, всякие там сли вы дочитали вакансию до конца, то напиши ключевое слово анаконда в сопроводительном письме и т.п.. Они указывают максимально релевантный возраст, максимально релевантный опыт, не слишком много и не слишком мало. Если бы все так просто было, то у нас бы не было проблем. Но, увы и ах. Ну и вы заблуждаетесь что окликаются 99% только шлак, а 1% это реальные разработчики) В реальности примерно 85% шлак, 15% реальные разработчики которые соответствуют вакансии, а само это число 15% это много много тысяч людей) И того на одну вакансию только среди реальных разрабов конкуренция из 1-2тыс человек. А если добавить сюда шлак, то на 1 вакансию 10-20тыс человек изи

создайте аккаунт работодателя на hh и создайте вакансию разработчика на фронт и бэк, и вы просто будете в шоке от того сколько тысяч откликов вы получите в первый час размещения этой вакансии

Сами то пробовали? Не так то просто создать акк работодателя. Нужно подтверждение и оплата.

Сами то пробовали? Не так то просто создать акк работодателя. Нужно подтверждение и оплата.

Да, я смотрел с аккаунта знакомого, у него мелкая SEO контора была. Мы создавали вакансию React разработчика и Node.js разработчика, это было ещё в конце 2024, и нас засыпали тысячами откликов в этот же день, не помню точно, утром выложили, к вечеру было порядка 5 тыс откликов на React и порядка 2-3тыс на Node.js бэк. Я это чувствовал и без этого, судя потому что примерно 0 выхлопа от поиска работы, но провести такой эксперимент всегда хотел, вот теория и подтвердилась. Вот прям какие средние цифры на сегодняшний день я уже не знаю, но я думаю больше раза в 2-3 и проверить бесплатно не могу, потому что контора моего знакомого уже загнулась и больше не функционирует) Но в целом мне уже проверять повторно нет смысла, с того момента стало сильно хуже, поэтому и так всё понятно.

 на 1 вакансию 10000 желающих

Из которых 9995 это студенты и люди, которые окончили 3-х месячные курсы. Или вы думали, что это 10000 профессионалов?

Всё так, вот только как из этих 10000 вычленить тех 5 профессионалов за адекватное время и кто будет этим заниматься? Девочка hr после таких же трехмесячных курсов? И при этом ещё иметь ввиду, что у этих профессионалов резюме не будет “вылизанным” и адаптированным под ATS как у вкатунов с трехмесячных курсов, где их только этому и научат.

Из которых 9995 это студенты и люди, которые окончили 3-х месячные курсы. Или вы думали, что это 10000 профессионалов?

Это не имеет значения:
a) Ваше резюме в любом случае никто не видит.
b) У них резюме будет в 95% случаев более привлекательное чем ваше.
с) Фейковый опыт тоже никто не отменял.
d) Ещё сейчас модный тренд это отсеивать overcvalified людей, потому что им якобы будет скучно и не интересно. И это значит что люди у которых 10+ опыта вообще нафиг не нужны ибо они overcvalified. А нужные люди желательно 25 лет с 2-3 годами опыта.
e) Даже если вас увидят и даже если каким-то чудом дело дойдет до собеседования, то всё равно 99.9% дальше этого дело не зайдет и никакого офера не будет. Потому с вероятностью примерно 99% будет специалист не хуже вас, а то и лучше, плюс готовый работать за ЗП в 2 раза ниже, ну как бы потому что бешеная конкуренция, рынок все дела, а он уже и так последние 24 месяца ищет работу и никак не найдет. Или просто собеседующему ваш голос не понравится или тон, или всё что угодно. Ему вообще пофиг, ведь таких же как вы ещё в очереди стоят тысячи, выбирай сколько влезет, а когда надоест можно просто сказать рандомному человеку вы приняты. Вот и все дела.

P.S.
1) Кол-во реальных вакансий сократилось раз в 10-20 это минимум
2) Кол-во профессионалов в худшем случае при этом осталось прежним, а реальном увеличилось раза 3 за период 2021-2026. Или вы думаете что 100% людей кто начал путь в 2021 или чуть раньше полные нули чтоли?) Нет уж, да 90% из них нули, но 10% нет, они реальные конкуренты. И 10% это не какие-то копейки, это 10% от минимум миллиона, а то 2-3х млн людей который начали в 2020 году учиться программистам, а это сотни тысяч людей.
3) Даже если магическим образом оставить на рынки исключительно профессионалов, то все равно конкуренция среди них будет бешеная и 95% просто будут безработными, ибо реальных вакансий крайне мало, а реальных профессионалов крайней много на одну вакансию.

Жиза(((
а) Среди 1000 резюме даже не откроют, плюс какое-нибудь ИИ его в конец списка поместит за то что оно не правильное

б) Однозначно у них лучше. Я пишу резюме чтоб потом работать, а значит указываю лишь те навыки, в которых уверен и указываю в минусах те которые плохо знаю и часто спрашивают. Эти же пишут чисто чтоб взяли на работу, а дальше хоть трава не расти

в) Из пункта б следует пункт в)) Про опыт они тоже фантазируют.

д) Есть такое)) Поэтому я прямо в резюме указал, что люблю рутиную работу, легаси и мне не бывает скучно. А так же что со словом "развитием" я не в ладах. Но это как будто мне плюс. Я все таки на конкретную CMS ищу работу, и программировать надо в соответствии с нормами этой CMS а не как "модно молодежно прогрессивно"

е) Я сам с деревни, где 100 тыщ богатый, 160 сельский олигарх. Поэтому демпинговать могу. Но я ж не один такой с деревни, хватает готовых поработать со скидкой. Плюс до собеседования ещё дойти должно

П.С.
1) Реальных вакансий как будто больше стало. Зачем просто так её публиковать, платить и т.д.? Есть такие подозрительные, которые весят больше чем я работу ищу, могли бы уже хоть какого-нибудь взять за это время, но они во все эпохи бывали.

2) Тоже согласен. Мы ж не хирурги, которым чем опыт больше тем намного лучше. На обычный проект чела и с 5-летним опытом хватит, не хуже меня справится.

1) Реальных вакансий как будто больше стало.

Может исключительно в вашем конкретном единичном сценарии) В моём сценарии React.js фронт или node.js бэк их стало раз в 15-20 меньше. Плюс уже 2 года мне ни разу ни один рекрутер сам не написал и не предложил какую нибудь вакансию) С 2017 по 2020 в среднем 1-2 раза предлагали в неделю вакансии САМИ, в 2021 понятно, там по 5-7 вакансий в день предлагали, ну а с 2023 по сей день просто 0 =)

Зачем просто так её публиковать, платить и т.д.?

Нужно создавать иллюзию что якобы вакансии есть, чтобы вкатывальщики думали что дверь ещё открыта и охотнее покупали курсы за сотни тысяч рублей.

е) Я сам с деревни, где 100 тыщ богатый, 160 сельский олигарх. Поэтому демпинговать могу. Но я ж не один такой 

Вот вот, работодатели демпенгуют(потому что могут и хотят) и соискатели демпенгуют(от безисходности разумеется). Ну и в таких условиях понятное дело уже всем насрать на качество разработки, на разработку как искусство и т.п.

То, что творится во фронтенде сейчас - это какое-то коллективное помешательство. Бандлы весят по несколько мегабайт, код большинства проектов - неподдерживаемая индусятина, тянутся какие-то "модныe" новые модули, наваливается несколько слоёв абстракции, всё это сложночитаемое месиво обмазывается типами тайпскрипта и в последнее время нейрослопом. Часто это непроворотливое чудо фризит на слабых девайсах, а заряженным девайсам быстро высаживает батарею :) Короче, хз, что посоветовать. Если чисто ради бабок, то и бог с ним. Если для удовольствия, то лучше учить что-то другое

Зато на хабре ежедневно статьи от свидетелей ИИ, как они "навайбкодили" очередной шаблонный сервис, как у них все круто и бла-бла-бла.

Ага :) Но во фронте (да и вообще в js) ещё задолго до нейронок лютый треш начал твориться. Нейронки только всё в разы усугубили. Ну ничего, умные дядьки, которые пишут v8 и javascript core, spider monkey на си и растах всяких пока +- спасают ситуацию. Последние явно чувством юмором не обделены, судя по названию их движка :) Как знали, чей и какой код ему придётся интерпретировать :)

Типы тайпскрипта клиенту не идут, зато помогают хоть как-то поддерживать на плаву всё легаси. Я обычно работаю с бэкендером, который любит числа присылать строкой, причём, рядом могут быть два числовых параметра, один числом, второй строкой. Вот тут с типами уже сложно, да. Заранее не знаешь, что он пришлёт. Ждёшь число, складываешь с другим, а там была строка.

Спасают реалтаймовые валидаторы, тогда между фронтом и бэком контракт будет зафиксирован. Удобно, когда они автоматически из TS моделей выводятся - условно TypeResponse = { id: number } получится стабильным источником истины по типам и реальному контенту.

Назад бекендеру таску верните, пусть приводит в соответствие требованиям :) А так, хорошая практика на стыках между системами, при работе с апи приводить к типу и прописывать фейлбек.

У нас задача, условно, "сделать модерацию статей", на более мелкие мы сами себе разбиваем и не видим, что делает другой. Часть этого у меня, чать у него. Я не могу ему что-то вернуть, потому что мы не обмениваемся задачами. Я могу написать, что нашёл такое несоответствие, а дальше он или захочет это поменять, или уж я у себя преобразую строку в число, чтобы было нормально. Пролема только в том, что я не всегда уверен, что в строке всегда будет число. Вдруг это частный случай. Обычно разницы нет, но когда он говорит, что в таком-то запросе параметр — числовой ID, я это описываю и потом туда передаю то, что он мне прислал ранее, то приходится добавлять приведение к числу.

Вообще, надо бы как-то наладить взаимодействие, синхронизировать между собой этапы, чтобы не ходить потом по чатам в поисках, где же он неделю назад писал, что сделал какой-то метод для поиска пользователей, и вроде бы описал, какие у него параметры. Не мы же сами должны найти для этого рабочий инструмент. А специального человека-исследователя у нас нет.

Вчера я обнаружил, что он присылает мне поле, которое нужно выводить пользователю вместо показа ID, об этом поле мы заранее не договаривались, я просто нашёл его в ответе. С одной стороны, он мог бы сам добавлять его мне в typescript в описание ответа сервера, тогда я всё равно не узнаю, что такое поле есть, но у него хотя бы будет правильный тип. С другой стороны, это совсем другой репозиторий, он у него даже не скачан. А на счёт правильности типов: иногда приходит null в поле, и я не знаю, лежит там строка или число, когда не null. Ещё встречалось, кажетстя, что приходит число, но если числа нет, тогда пустая строка. И я всё равно не знаю, может ли там прийти null вместо пустой строки и числа. И вообще, обязательное ли это поле, или оно может пропасть. И нет ли в ответе сервера ещё необязательных полей, которых я пока просто не вижу.

Сочувствую, это реально бесит :) Ну, честно сказать, это классика: два репозитория, ноль синхронизации и вечные сюрпризы. Но без единого описания апи (хотя бы notion или openapi) будете дальше ловить null/string/number как лотерею.

Я предлагаю попробовать openAPI, даже нашёл им для битрикса какой-то генератор кода. Посмотрим, получится ли в будущем воспользоваться.

говорите что хотите, а я все равно найду свою позицию фронтенд-разработчика.

Мыши плакали, кололись, но продолжали жевать кактус…

А если серьёзно, автор(ка), ну зачем это вам? Кодер - это вымирающая профессия, на которой бизнес в период нынешнего тяжёлого кризиса будет максимально экономить и платить ровно столько сколько хватит на еду. А зачем им платить больше, если за забором толпа таких, которым нужно найти работу во что бы то ни стало?

Ну ладно, я ещё могу понять программистов, у которых 10+ лет опыта работы - им действительно жалко весь свой опыт в помойку выкинуть. Но вам то, человеку который начинает свой путь в ИТ, зачем тратить столько усилий на заведомо безперспективную профессию?

Я не к тому, что надо выкинуть свой диплом в мусорку и пойти в сварщики. Я это к тому, что надо подумать за какие знания и навыки бизнес будет готов достойно платить в условиях жесточайшей экономии и массовой безработицы.

Да хотя бы тот же вайбкодинг освоить в совершенстве и пойти на фриланс выполнять задачи на разных языках программирования. Понятно, что это не идеальный пример, я его навскидку придумал. Но кмк если уж так хочется остаться в IT, то надо не биться головой об стену, а как то адаптироваться под существующие реалии

Кодер - это вымирающая профессия

Будет еще один ларек в ряду других - "Ремонт часов", "Ремонт обуви", "Ремонт бытовой техники", "Фронтэндъ", "Электрическая почта"...

Но есть такая вещь, как "Информатика". Information Technology. Так вот она не сильно меняется при переходе от ручного кода к управлению агентами. Все те же принципы, задачи. Та же самая задача работы с информацией. Просто более удобным и продвинутым способом. Информатика же не умерла вместе с перфокартами. И AI её не погубит.

в 1988 работал с программистами на ЕС1022, в 1997 встречаю одну из них учителем информатики в школе:-)

Но есть такая вещь, как "Информатика". Information Technology

И о каких конкретно вакансиях вы говорите? Учитель информатики в шокле/институте/шараге?

О любых. Если вы раньше двигали информацию через датчики и микропроцессоры или от юзера в БД, то примерно также будете двигать информацию через агентов ИИ. Принципиальной разницы нет. А если вы писали код, то тогда ой.

Я из того поколения когда на программистов не учились, учились на математиков физиков инженеров, а дальше все изучалось по документации и с опытом, честно говоря всегда воспринимал ИТ как просто ремесло, если ты инженер или у тебя научное образование физмат для тебя все должно быть семечкам, ты и так знаешь теорию систем, статистику, да что угодно, так что что такое высшее образование со специальностью фронтэнд и зачем на это тратить 4 года не понятно. За 4 года как минимум надо стать инженером и плюс освоить весь стек.

Вот тоже в ступоре, как это возможно 4 года изучать фронтенд и при этом не дружить с JavaScript. Моя специальность была «специалист по ИБ» после получения диплома работала C++ программистом, когда надо было - переключилась на Python, потом на Java. Сейчас работаю по специальности. Мне кажется 4 года на фронтенд это точно не уровень университета, где должны давать фундаментальные знания, в том числе и про сетевые технологии.

Умер не фронтенд, а дизайн.

Весь современный дизайн скатился к шаблонному оформлению, заходишь на один сайт, на другой сайт — а они, как братья близнецы, только раскраска разная…

Если в 90% случаев — все просто и идентично, конечно, уже никакого фронтенда не нужно, любой ИИ возьмет из гитхаба аналогичный проект и его вам скопипастит.

А если дизайн сложный, непростой, тут уже никакой ИИ не вытянет, так как решение нужно оригинальное…

А если дизайн сложный, непростой, тут уже никакой ИИ не вытянет, так как решение нужно оригинальное…

Так это вопрос не к программистам, а к дизайнерам. Сажаешь их в фигму, и они рисуют всё, что надо. А потом говоришь Клоду: вот тебе фигмовская нода, напиши её реализацию на моём стеке. И что характерно – неплохо справляется.

Вчера, значит, пошёл я смотреть запись очередного эпизода Tsodingа на Twitch, а Twitch решил порекомендовать мне прямой эфир с вайбкодингом как раз фронтенда сайта фанатов некоторой игры.

У меня самого с вайбкодингом не складывается, не получается решать свои задачи. Я вижу много недостатков и ошибок в генерируемом коде, и у меня никак не получается их надёжно избегать. Мне все твердят, что это skill issue, и надо просто уметь настраивать агентов. Человек же в эфире утверждал, что он занимается этим уже год, что всё у него настроено, как надо. Поэтому я не смог пройти мимо, дабы набраться опыта, перенять частичку Дао и проникнуться духом времени.

За 2 часа, которые я смотрел трансляцию, автор (1) поменял порядок колонок в таблице, (2) сделал подсветку некоторых ячеек, (3) слегка переставил div-ы внутри других div-ов и (4) поменял фон последних.

При этом иного уровня владения агентом я не ощутил. Агент работал примерно так же, как и у меня: иногда путался, иногда генерировали лишнюю функциональность, иногда стирал работающий код, иногда выдавал ошибочный код. Для исправления этих действий автору приходилось лезть в код сайта, брать кусочки кода для составления промптов. Было видно, что программирование и фронтенд ему не чужды, профильные навыки у него есть.

Я не настоящий фронтендер, но в жизни приходилось делать простенькие сайты. Представление о HTML у меня есть, и оно мне подсказывает, что эти 4 простые изменения не должны требовать 2 часов усилий.

Как-то не бьётся это всё со стратегией: уволить всех джунов, чтобы создавать продукты в 10 раз быстрее.

Джуны нужны, проблема, однако в том, что найти хорошего джуна в море выпускников курсов вайбкодинга, которые вайбкодят себе, в том числе, и резюме, и портфолио, стало крайне сложно.

Никто не запрещает жить в розовом мире где все хорошо и где разработчики находят себе работу, особенно джуны, мидлы и выпускники курсов) Ведь на каждого разработчика сейчас по 100 вакнсий, разрабочиков лютый дифицит, каждый день по 30 новых проектов стартует, ну и так далее по воображаемому сценарию)

За 2 часа, которые я смотрел трансляцию, автор (1) поменял порядок колонок в таблице, (2) сделал подсветку некоторых ячеек, (3) слегка переставил div-ы внутри других div-ов и (4) поменял фон последних.

А тут вы посмотрели какого-то жесткого нуба, серьезно. Потому что я разрабчик с 2012 года и то по приколу навайбкодил за неделю мессенджер аналог whatsapp, клиент flutter, бэкенд go, да, не с первого промпта, итеративно, суммарно промптов 30 было, а по времени ну часа 4 (именно работы ИИ), я то разбивал это по дням. И всё, на выходе end-to-end шифрование, аудио видео звонки, чаты, пуш уведомления, отправка фото/видео, групповые чаты, светлая/темная тема, рус/англ язык, смена цветового оформления. Сначала это был rest + ws, потом ещё за 4-5 итераций переехал полностью на gRPC. Вот такой у меня был эксперимент вайбкодинга, целого проекта от и до.

Видите ли... Колоночки местами переставить - это продуктовая задача. Это нужно для дела, чтобы сайт был удобнее для пользователей. И именно такого рода возникают задачи в промышленном программировании. Бывают и на порядок сложнее, связанные с математикой и построением корректных моделей, но в таких задачах агенты отрабатывают ещё хуже. Потому что это не абстрактная математика, а прикладная, для которой нет готовых решений в открытых источниках.

А вот Ваш мессенджер, при всём уважении, кому кроме Вас нужен? Таких мессенджеров и до AI бума существовало множество, и они продолжают успешно развиваться. И многие из них гораздо технологичнее, чем просто клиент-серверные приложения. Ну, собственно, именно по причине их существования в форме ПО с открытым кодом Вы и смогли навайбкодить Ваше решение.

К тому же, код Вашего мессенджера, в отличии от кода этих написанных людьми мессенджеров, не вычитан, не проверен на безопасность, не проведён анализ его эффективности. Поэтому лично я бы не рискнул им воспользоваться. При этом, в отличии от кода, написанного людьми, читать код сгенерированный агентами очень тяжело. Они по какой-то причине не умеют создавать абстракции, и в основном пишут на низком уровне. Возможно, потому что их тренировали во многом на решениях олимпиадных задач.

Поэтому, даже если Вы скажете: вот код, смотрите, читайте, убеждайтесь, - то, чтобы убедиться в безопасности этого кода, от меня потребуется уйма времени и сил, которых у меня нет. Поэтому я предпочту решение, созданное людьми, чисто по технологическим причинам: его проверяют и верифицируют по мере разработки небольшими логичными фрагментами. Я могу посмотреть историю коммитов интересующего меня фрагмента кода, могу почитать обсуждения, в конце концов, сам могу проследить ход мыслей авторов. И такому коду я буду доверять больше.

Наконец, нисколько не сомневаясь в высоком уровне Ваших навыков работы с ИИ, смею утверждать, что Вы бы не смогли решить обсуждаемую задачу с перестановкой колонок в режиме диалога с ИИ агентом быстрее, чем это сделал автор трансляции. Потому что, время у него уходило на то, чтобы писать длинные запросы, описывающие его задумку, и на поиск проблемных мест в коде страниц, чтобы указывать на них агенту в запросах, описывающих необходимые исправления. Да и агент отрабатывал не мгновенно. Автор за время ожидания результатов запросов успевал сыграть партию в свою любимую игру. Я могу смело утверждать, что переставить местами вывод двух колонок в коде руками он бы мог гораздо быстрее, чем в режиме: сформулировать запрос, дождаться результатов генерации, обнаружить мелкие ошибки, снова сформулировать запрос, и так далее.

А вот Ваш мессенджер, при всём уважении, кому кроме Вас нужен?

1) Я его сделал исключительно для семьи, а не на масс маркет.
2) У меня даже близко не стояло цели чтобы он был идеальный и отполированный. Это вообще эксперимент по созданию с нуля от А до Я ни написав ни строчки кода руками.
3) Я про него сказал просто чтобы было понимание, что ИИ сегодня, намного намного сильнее, чем ИИ из 2024 года скажем. Я на глазах вижу как быстро и как сильно он становится лучше. В 2027 году будет сильно лучше чем сегодня, а сегодня уже огого.

И уж поверьте, ни один джун или мидл даже близко не сделает такой же по качеству проект. А уж про то, что мидл на такую реализацию потратит примерно в 1000 раз (и это без преувеличения) больше времени я вообще молчу.

Как думаете что для бизнеса привлекательнее?
- 17$ в месяц за подписку ИИ которая за 4 часа своей работы сделала то, что сделает крутой мидл за 6 месяцев. Ну т.е. это даже не 6мес * 17$, это один раз 17$ и проект готов, потому что даже месяц не нужен ИИ на реализацию.
- 1.5млн рублей в виде ЗП мидлу на реализацию такого проекта. Это вот при условии что он фулстэк и тестировщик и вообще всё в одном лице. Ну т.е. сильно я тут в сторону розового мира шагнул, и все равно разница чудовищная.

Весь смысл моего ответа был для ваших слов:

Как-то не бьётся это всё со стратегией: уволить всех джунов, чтобы создавать продукты в 10 раз быстрее.

Джуны нужны

Джуны даже в лучшие времена были почти никому не нужны, ну да было 5% от общего числа позиций выделено джунам, но хотя бы в абсолютных цифрах это было скажем 500 вакансий, сегодня это просто 5 вакансий. А в 2027 будет 1, а в 2028 будет 0. А всё по чему? Не потому что ИИ на 100% всех вытеснит, а потому что не будет ротации кадров, никто больше никогда не будет сам увольняться(потому что это билет в один конец), а значит вакансий просто физически не будет. Их уже сегодня можно сказать что нет, так, вымирающий вид, потому что все кто чувствует рынок давно всё поняли и своё место ни за что не освободит другому. А те, кто живёт в розовом мире, на здоровье)

Джуны даже в лучшие времена были почти никому не нужны, ну да было 5% от общего числа позиций выделено джунам, но хотя бы в абсолютных цифрах это было скажем 500 вакансий, сегодня это просто 5 вакансий.

Без джунов не будет мидлов, без мидлов не будет сеньёров. Сеньёры тоже не нужны? Кто код будет писать через 20 лет? Или, через 20 лет уже весь код будет написан? Или вы уверены, что через 20 лет ИИ сможет генерировать решения end-to-end, даже если оно будет сформулировано без технических подробностей. Типа: напиши мне интернет-банк, - и всё? Какая логика скрывается за высказыванием: джуны никому не нужны?

Кстати, в Сбере и Яндексе целые этажи джунов. К чему бы это? Не потому ли, что они лучше всех понимают, какие возможности есть у ИИ?

1) Я его сделал исключительно для семьи, а не на масс маркет.

Вам настолько безразлична безопасность вашей семьи и надёжность хранения семейной переписки?

Как думаете что для бизнеса привлекательнее?
- 17$ в месяц за подписку ИИ которая за 4 часа своей работы сделала то, что сделает крутой мидл за 6 месяцев. Ну т.е. это даже не 6мес * 17$, это один раз 17$ и проект готов, потому что даже месяц не нужен ИИ на реализацию.
- 1.5млн рублей в виде ЗП мидлу на реализацию такого проекта. Это вот при условии что он фулстэк и тестировщик и вообще всё в одном лице. Ну т.е. сильно я тут в сторону розового мира шагнул, и все равно разница чудовищная.

Вы неверно считаете затраты бизнеса. За $17 бизнес не получит продуктовое решение, которое можно будет внедрить сразу в it-контур. Причины: (1) нет никакой технической поддержки, (2) в процессе разработки не было никакого аудита безопасности, без которого безопасники просто не пустят такой код в работу, (3) не понятно, какие сбои могут быть в этом ПО, и кто и на основании чего будет компенсировать финансовые потери. То есть, бизнесу придётся проводить аудит такого кода и каким-то образом обучать техподдержку, разбирая код. Сколько будет стоить такой аудит?

По моему опыту приёма тестовых заданий на собеседованиях, которые слишком часто кандидаты пытаются решить при помощи агентов, ИИ решает задачку, которая решается в 100 строчек кода, строк этак в несколько тысяч (если вообще решает), генерируя вокруг собственно сути задачки очень много бесполезного бойлеплейта. Часто бывает так, что задачу ИИ не решает, но делает вид, что она решена, сгенерировав уйму правдоподобной аналитики. Само решение обычно написано так, что невозможно понять, оно рабочее или нет. Тесты проходит обычно, да. Но тесты не покрывают всё.

Я не против ИИ. Zeitgeist, все дела. Если человек может при помощи ИИ получить внятное рабочее решение, почему бы и нет? Вперёд! Но пока такие ИИ решения приходится с большим трудом вычитывать, чтобы обосновано отказывать кандидатам. Я трачу на это уйму времени. И уже подумываю о том, чтобы сообщать кандидатам, что решение не должно занимать больше N строк кода.

Так вот, трудозатраты на аудит и вычитку ИИ-кода неприемлемо велики. Как бы не вышло так, что вместо Р1.5млн и 6 месяцев придётся потратить $1.5млн и год.

Другой сценарий - это когда ИИ-корпорации страхуют тот код, который их агенты генерируют. Но готовы ли ИИ-корпорации на это? И будет ли стоить генерация решения в таком случае $17? Вопросы риторические...

ОМГ, что вы так прицепились к этому ИИ, он не виноват на 100% в том, что разработка умирает, он лишь дополнительно это усугубляет. Неужели так сложно понять что если раньше по РФ требовалось скажем 200тыс программистов, то сегодня 20тыс, а через год 10тыс, а ещё через год 5тыс. Всё дело в том, что как бы 90% просто останутся без работы, ну вот не будет физически вакансий и всё тут. А тот небольшой процент что останется трудоустроен, просто останется трудоустроен, вот и вся арифметика.

Без джунов не будет мидлов, без мидлов не будет сеньёров. Сеньёры тоже не нужны?

Нужны, просто теперь в 30 раз в меньшем количестве чем раньше. А через 2 года, в 100 раз меньшем количестве чем раньше. Но всё ещё нужны, просто шанс что именно вам сделают оффер 0.001% вот и всё, но есть и будет какое-то время ещё.

ИИ решает задачку, которая решается в 100 строчек кода, строк этак в несколько тысяч

Всё просто, вы максимально невнятно значит описали задачу и она не понятна даже для человека, но разумеется она только вам одному понятна, вы же её написали, а понятна ли она всем остальным это по барабану) Посмотрим как вы запоете через 2 года, когда ИИ станет ещё на 2 головы лучше чем сегодня, если к тому времени вам уже не будет пофиг, потому что уволят(а это дорога в один конец, но вы пока этого не знаете потому вам не пришлось в нынешнее время искать по настоящему работу)

Я могу смело утверждать, что переставить местами вывод двух колонок в коде руками он бы мог гораздо быстрее, чем в режиме: сформулировать запрос, дождаться результатов генерации, обнаружить мелкие ошибки, снова сформулировать запрос, и так далее.

Ошибаетесь. Так уж случилось, что мне ровно это пришлось делать буквально вчера. Написать запрос – несколько секунд, генерация кода примерно столько же. Ошибок не было. "Так далее" – это проверка, она нужна независимо от способа внесения изменений. Но в данном случае изменение было ещё и тестом покрыто, так что вероятность ошибки минимальна.

"Skill issue" как объяснение не фальсифицируемо по критерию Поппера, как и психиатрия. Если не получается, значит ты плохо настроил. Удобная позиция для евангелистов.

Иногда складывается ощущение, что вместо очередного отклика пора уже морально готовиться к работе кассиром в «Пятерочке».

Сочувствую я нынешней молодежи! Раньше было легче: работы валом, образование в цене, социальных плюшек, вроде работы по распределению, бесплатных квартир для молодых специалистов, не говоря уже о бесплатном образовании, стипендии и много чего еще – море.

Да, сейчас есть то, чего не было в СССР: компьютеры, смартфоны, Интернет, ИИ, соцсети и т.п. Но, должна ли из-за этого страдать современная молодежь – я не уверен!

Как минимум, придется ждать «Цифрового Коммунизма». Там хотя бы, весь ИИ и цифровой контент должны стать полностью бесплатными. «Обычный» Коммунизм ушел вместе с эпохой Хрущева, который он нам всем торжественно обещал, от лица всей Партии.

Если же, допустим, давать совет самому себе по принципу: «Юноше, обдумывающему житьё – делать жизнь с кого? – С товарища Дзержинского! (с) В. Маяковский», то я бы выбрал следующее:

  1. Отказ от профессиональной работы в области веб-технологий. Только десктоп-программирование, только хардкор.

  2. Допустимо совмещение десктопа с вебом, с приоритетом первого. Например, разработка «облачного» учета для своего предприятия, по типу: «Завод в Магадане, магазин в Амстердаме».

  3. В содержательной части – ориентация на учет на предприятии. Учет будет вечен и на всех предприятиях. Меняться будет только законодательство и, тем самым, всегда обеспечивать работой прикладных программистов. А сам учет нужно знать капитально, на уровне главного бухгалтера, как минимум.

  4. В области технологий и инструментов – ориентация на фундаментальное образование, вроде мехмата МГУ, на язык программирования – C++ с использованием легких фреймворков, типа WTL. Но, это для души или хобби, если хотите. Для профессиональной работы – ориентация на прикладные языки, вроде «1С», язык запросов к базам данных и т.п. Соответственно, освоение навыков серверного администрирования, работы с локальными сетями и т.п. Для работы с данными – очень хорош Питон.

Резюмируя, можно сказать, что самому себе я бы посоветовал, в нынешних реалиях, пойти по пути: освоения учета, как такового, «1С» и всё, что с ним связанно и, для собственного удовольствия: глубокое изучение C++ и легких фреймворков для него.

Как-то так. Что-нибудь из этого гремучего конгломерата – должно «выстрелить».

В СССР были компьютеры. Интернета не было, но сети ЭВМ были.

В СССР были компьютеры. Интернета не было, но сети ЭВМ были.

Если хотите, я могу высказаться точнее. В 1990-м году, во времена СССР, были уже и персональные 286-е компьютеры и Фидонет и даже Интернет, по е-мэйл (вы посылаете запрос по e-mail, вам по почте приходит html-страница). А в последние месяцы, перед развалом СССР, появился уже и более-менее, нормальный Интернет. При этом все сайты Интернет публиковались в книге: «Желтые страницы Интернет». Там их было порядка тысячи.

«Сети ЭВМ» были у нас на мехмате МГУ, с 1985-го года. Это были терминалы PDP-11/70 подключенные к мейнфрейму. Я на них решал комбинаторные задачи, на Фортране, вроде задачи Киркмана, для групп чисел 3x7 = 21. Задачу 3x5 = 15 решали 50 лет (решение нашли в 1922-м году). В моё время задача 3x7 еще не была решена. Какие-то промежуточные результаты я получил, но компьютерного времени у меня было мало, для более полноценного результата.

В НИИ, где я работал, перед поступлением в МГУ, были советские ЭВМ, типа БЭСМ-6, но, ни в какие сети они подключены не были.

Однако, по большому счету, это ничего не меняет в моих рассуждениях. Ибо не принципиально, для основной массы народа.

самому себе я бы посоветовал, в нынешних реалиях, пойти по пути: освоения учета, как такового, «1С» и всё, что с ним связанно

Вот уж с чем-чем, а с учётом ИИ справляется на ура, куда лучше людей. Строго формализованная область, были бы только данные по приходу/уходу.

Строго формализованная область, были бы только данные по приходу/уходу.

Не уверен, что вы профессионально занимались учетом на большом предприятии. В этой области скучно никогда не было. Во-первых, бесконечные изменения в законодательстве, депутаты, явно, усложняют учет, чтобы на «хлеб с маслом» прикладным программистам всегда хватало. Во-вторых, законодательство намерено создается двусмысленным, что уже давно пора вводить новую штатную должность, типа, «бухгалтер-юрист». В-третьих, типовые учетные программы, вроде, «1С8х» уже настолько зашкаливают в своей сложности, что там уже давно, «без бутылки», не разобраться. Вот только, чтобы эффективно бороться с монструозной «1С», нужно иметь «семь пядей во лбу» или, как минимум, образование на уровне мехмата МГУ. Я боролся, еще с «семеркой» (1С77), у меня отлично получалось, что вполне кормило меня двадцать лет. Но, сейчас времен другие, нужно осваивать другие треки, в том числе ИИ-сервисы.

Главный посыл: «Учет будет – вечен! И он есть везде!». Так что, будете супер-пуперными спецами в учете, вообще, и в прикладном программировании, в области учета, в частности, то, думаю, есть шанс без работы не остаться. А «чистым» программированием, например, на С++ или Питоне, всегда есть возможность заниматься, при этом. По крайней мере, в моем случае, это меня сильно выручало и облегчало жизнь. По принципу: «Сначала я работал на свою программу, потом, программа работала на меня!».

А ИИ еще не научилось мыслить на концептуальном уровне и генерировать новые, нетривиальные, идеи, поэтому, здесь он «кожаным мешкам», пока, не конкурент.

Не уверен, что вы профессионально занимались учетом на большом предприятии.

Можете быть уверены, что нет 😊

Во-первых, бесконечные изменения в законодательстве

Собственно, именно поэтому. Как только новый нормативный акт публикуется, он сразу доступен ИИ и вся обработка подстраивается под новые реалии. В том и суть, что человек может что-то забыть/не учесть ‒ а машине сказано, что это обязательная норма, она ей и следует.

уже давно пора вводить новую штатную должность, типа, «бухгалтер-юрист»

Думаю, что юристам тоже скоро станет кисло. Опять же, строго формализованная сфера, требующая оперирования чудовищным объёмом информации. Как раз то, что машины делают хорошо, нужно только однажды правильный AGENT.md написать.

машине сказано, что это обязательная норма, она ей и следует

Интересно, как именно «следует»? Например, в учете заработной платы, новые веяния в законодательстве требуют не только поменять какие-то коэффициенты в настройках, но и изменить или даже добавить новые алгоритмы в расчетах. Кто это будет делать? Машина или фирма «1С»? Это касается и новой отчетности, которая может затрагивать огромные массивы данных и разного рода обмен данными с внешними сайтами и много чего еще.

Типовые конфигурации «1С» помогают плохо: дорогие, громоздкие, тяжеловесные, сложные в освоении и поддержке и могут отставать от «точки актуальности». Иногда «очень дешевле», использовать самописки, заточенные под конкретное предприятие. Да, есть риск, связанный с уникальностью штатного программиста. Но, тогда, наймите, двух, трех, чтобы они гарантированно подменяли друг друга, «в случае чего».

Однако, чтобы заменить дорогое решение от «1С» местным, дешевым, нужно быть хорошим, разносторонним специалистом, А не школьником, умеющим пользоваться калькулятором, но не знающим таблицы умножения, не говоря уже «ручном» извлечении квадратного корня. Кстати, вас этому в школе учили? Не удивлюсь, если нет. А стереометрию в «обычной» школе давали? – Тоже, нет? – Ай-йа-йай! Куда катится Мир?

нужно только однажды правильный AGENT.md написать

Как говориться: «Дьявол, кроется в деталях!». Ну, или в промпте. Хороший промпт эквивалентен хорошему ТЗ. Раньше для разработки техзадания нужно было иметь хороший жизненный опыт… А сейчас, наверное, достаточно попросить «Искусственного Идиота» написать промпт для самого себя. По принципу: «Сделай мне красиво! – Что ты имеешь в виду? – Ну, ты же умный, придумай что-нибудь!»

Например, в учете заработной платы, новые веяния в законодательстве требуют не только поменять какие-то коэффициенты в настройках, но и изменить или даже добавить новые алгоритмы в расчетах. Кто это будет делать? 

ИИ и будет. Детально описанные алгоритмы он реализует вполне прилично.

А сейчас, наверное, достаточно попросить «Искусственного Идиота» написать промпт для самого себя. По принципу: «Сделай мне красиво! – Что ты имеешь в виду? – Ну, ты же умный, придумай что-нибудь!»

Это основная ошибка начинающих ИИ пользователей. Просят "сделать им хорошо", а потом удивляются, что хорошо не стало.

Раньше для разработки техзадания нужно было иметь хороший жизненный опыт…

Именно. С ИИ то же самое. Я в последнее время активно им пользуюсь ‒ и результаты от неплохих до отличных. Но я не прошу "сделать хорошо"; я именно что пишу детальное ТЗ, и только потом запускаю его для реализации. Сам уже много лет не программист, навыки потеряны. А вот навыки проектирования (тот самый жизненный опыт) не только остались, но пожалуй, даже улучшились с тех пор, как сам код писал. И вот если дать ему подробную спецификацию задачи, с требованиями к архитектуре, стеку, платформе, безопасности и даже стилю написания кода ‒ то результат получаешь буквально за минуты. Причём совершенно приличный результат ‒ таки код читать я не разучился ещё и знаю, как правильно. Баги бывают, но тогда отдельным промптом на них указываешь и он фиксит.

ИИ и будет. Детально описанные алгоритмы он реализует вполне прилично.

Как говорится: «Нет безнадежной работы, если её делать… другому!»

То, что ИИ реализует «детально описанные алгоритмы» «вполне прилично», я в курсе. Некоторые свои задачи, уровня «ноу-хау», я решал в один промпт. Круто? – Да! Однако, ИИ не покрывает полностью даже мои пет-проекты, не говоря уже о чем-то более серьезном. Правда, я ограничиваюсь только бесплатными сервисами, по «политическим» соображениям.

Однако, спор этот малополезен. Вы говорите о своем опыте, я о своем, поэтому, вряд ли поймем друг друга.

Сам уже много лет не программист, навыки потеряны. А вот навыки проектирования (тот самый жизненный опыт) не только остались, но, пожалуй, даже улучшились с тех пор, как сам код писал.

Странно! Я программирую до сих пор, уже неофициально, только на уровне своих пет-проектов.

А так, ваш опыт мог бы быть интересен для меня, если бы вы написали об этом статью. Только я далек от темы веб-программирования. Как «свободный художник» предпочитаю только C++ / WTL для программирования GUI-приложений на десктопе и Питон для подготовки и обработки данных.

Однако, ИИ не покрывает полностью даже мои пет-проекты, не говоря уже о чем-то более серьезном.

Вот тут как раз и есть та точка, где начинается проектирование. Декомпозиция, куда без нее. У меня процесс выглядит примерно так: сначала пишется общий CLAUDE.md (он же AGENT.md), где подробно расписываются общие принципы, на которых строится проект. А когда нужно добавлять конкретные фичи или экраны, на каждый пишется отдельный скилл. В результате каждая отдельная задача получается небольшой, с такими ИИ справляется хорошо. А уж объединение всего этого в систему ‒ моя работа.

Однако, спор этот малополезен.

А мы разве спорим? По-моему, просто обмениваемся мнениями.

Странно! 

Ну, программисты таки бывают бывшими ‒ в отличие от 😊

А так, ваш опыт мог бы быть интересен для меня, если бы вы написали об этом статью. 

Не думаю, что он настолько уникален, чтобы заслуживал статьи. Да и были уже тут другие, с похожими идеями. Сам кое-что для себя почерпнул.

Вот тут как раз и есть та точка, где начинается проектирование. Декомпозиция, куда без нее.

Если я правильно понял, то вы предпочитаете веб-проектирование или программирование. Я в нем не разбираюсь от слова «совсем», хотя у меня есть проекты с бесплатными сайтами, которые еще ждут своего наполнения контентом и я даже пытаюсь пользоваться там серверными скриптами, на тех хостингах, которые это позволяют. Однако, главная цель там простая, эти сайты - всего лишь контейнера для моих проектов, чтобы можно было одной ссылкой «объяснить» всё. Поэтому лишних «художеств» и эффектов – избегаю.

Что касается «проектирования» и «декомпозиции». Теоретически, всё просто. Тем не менее, практически возникает много вопросов. Например, у меня опубликована, здесь первая версия обучающей (иностранным языкам) программы. Теперь, вот, созрел на создание, с нуля, ее второй версии. Задачи, которые я перед собой ставлю – это имитация командной работы (из-за дискуссий – нужен ли Гит индивидуальным разработчикам?) и модульного программирования на С++, с легким фреймворком.

Структуру проекта я вынашиваю до сих пор. Что-то уже понятно, что-то еще только созревает. Ну как я могу дать техзадание ИИ, если я еще сам до конца не определился, что именно я хочу? Там, где мне было все понятно, например, в проекте создания графической обёртки для консольного загрузчика любимых видосиков из «народного» видеохостинга, там, мне (бесплатный) ИИ очень помог. Заодно продемонстрировал народу (в дискуссии, можно или нет сделать «тёмную тему» на C++ / WTL?), что «темная тема» вполне реализуема стандартными средствами. В итоге, программа создана и опубликована, и без ИИ я бы её не осилил. Однако, по второй версии своей обучающей программы я этого сказать, пока, не могу.

Или еще один достаточно простой случай. Вот, загрузил я все страницы французско-русского оглайн-словаря, вместе с файлами озвучки. Встала задача – выгрузить данные всех словарных статей из html-страниц в некий конечный формат. Вопрос на «засыпку». Каким он должен быть? И как, лучше, это сделать? Да, есть BS4 в Питоне и прочие библиотеки, но, реально, от них толку мало. В принципе, сам текст получить не сложно, хотя бы тупым копированием содержимого html-страницы, в буфер обмена, в соответствующем просмотрщике либо браузере. Но, это будет «голый» текст, а мне надо, в какой-то мере, сохранять его структуру.

Далее, ладно, вытащу я нужные данные, а в каком виде мне их отображать для целей освоения? Тут уже возникает масса вариантов, какой, либо какие мне нужно предпочесть? У меня есть некоторые мысли по этому поводу и я экспериментирую с данными и эффектом их воздействия на меня. Но, для конечного запроса ИИ-сервису я, пока, не готов. Ибо мой ИКР («Идеальный Конечный Результат») развивается вместе с развитием моего проекта. Иначе говоря, идеальный промпт должен иметь не статическую а динамическую природу и, заранее, как правило, не вполне определен, только, постепенно «вызревает» в процессе работы над проектом.

Структуру проекта я вынашиваю до сих пор. Что-то уже понятно, что-то еще только созревает. Ну как я могу дать техзадание ИИ, если я еще сам до конца не определился, что именно я хочу?

Неожиданный вопрос. А разве кто-то отменял итеративную разработку в случае использования ИИ? Строго наоборот ‒ он крайне облегчает проверку гипотез. На обдумывание проекта с ИИ или без оного тратится одинаковое время. Но если без, то потом нужно самому написать реализацию ‒ что занимает немалое время. А ему можно просто скормить предварительное описание, быстро получить MVP и попробовать, как всё выглядит. Не понравилось? Меняем описание и через несколько минут получаем переделанный вариант. И на этих этапах даже не так важно, сколько багов он налепил ‒ нам ведь надо составить общее впечатление о том, как идея могла бы выглядеть "в железе". В конце концов, тем, кто совсем уж не доверяет качеству кода ИИ, ничто не мешает использовать его реализацию, как макет, позволяющий быстро оценить идею проекта, а боевой код потом писать полностью самим на базе уточнённой спецификации.

Встала задача – выгрузить данные всех словарных статей из html-страниц в некий конечный формат. Вопрос на «засыпку». Каким он должен быть?

Эмм, снова неожиданно. Это, опять же, вопрос проектирования. Никакой ИИ такого сам не решит ‒ он может написать преобразование форматов (очень быстро), но сами входной/выходной форматы ‒ часть спецификации.

В принципе, сам текст получить не сложно, хотя бы тупым копированием содержимого html-страницы, в буфер обмена, в соответствующем просмотрщике либо браузере.

Ой. XPath взять не судьба? Как один из вариантов.

Но, это будет «голый» текст, а мне надо, в какой-то мере, сохранять его структуру.

Вот "в какой-то мере" ‒ это то самое сакральное "сделай мне хорошо, ты умный". Отображение результата ‒ часть спеки, её пишет человек, и она должна быть однозначной. Но её можно многократно менять по ходу дела, если результат не нравится. Поэтому совершенно неважно, что:

Но, для конечного запроса ИИ-сервису я, пока, не готов.

Просто если ясности нет, то к конечному нужно подходить постепенно, исследуя различные варианты ‒ но не умозрительно, а на живой реализации.

А разве кто-то отменял итеративную разработку в случае использования ИИ? Строго наоборот ‒ он крайне облегчает проверку гипотез.

На самом деле, проблема не в «проверке гипотез». Есть готовый проект, в виде первой версии. Я его хочу полностью переделать. Например, разделить роли. Есть «архитектор», который дает шаблон проекта (набор классов публичных функций, с пустыми телами). Есть главный класс приложения, в котором определены обработчики событий, вызывающие методы (с пустыми телами) используемых классов. Программа компилируется, но ничего не делает. «Архитектор» программы говорит членам команды программистов, кому какой класс реализовывать (т.е., пустые тела публичных функций заменять реальным содержимым, при этом программист может, по своему усмотрению, добавлять приватные данные и функции в «свой» класс), У всех членов команды, первоначально, одинаковый шаблон, с которым они работают локально. Подключение либо отключение модуля к проекту это, просто, замена, формальной реализации, реальной либо наоборот (т.е., по сути, обычная подмена файлов). Член команды реализовал свой класс, соответственно, выслал его модули архитектору (можно удалено). Архитектор замещает свои формальные реализации реальными и делает предварительное тестирование. При необходимости, раздает новые «ценные указания» команде. Одобренные им модули становятся доступными всем членам команды. Мы можем использовать чужие модули, но не менять их, только предъявлять устные претензии.

Чтобы подключить ИИ для этой задачи, нужно, первоначально, определиться с архитектурой программы. Поскольку, первая версия у меня уже реализована, то архитектура ее будущей второй версии, мне, примерно, ясна. Задача, только разделить связи. Ибо главная проблема в первой версии – это сильные связи (в отношении многие ко многим), из-за чего я себе чуть мозги не сломал, пока не получил более-менее рабочий вариант. Как я уже говорил, дополнительная цель – обойтись собственным аналогом Гита.

Работа с декомпозицией сильных связей, это не «проверка гипотез», и мне для этого ИИ, просто, не нужен, скорее, он будет даже мешать. Эту работу я, фактически, делаю в фоновом режиме, попутно занимаясь другими задачами. А когда ИИ реально понадобиться, чтобы узнать, как именно сделать, то, сё, пятое, десятое, тогда я им и воспользуюсь.

Ой. XPath взять не судьба? Как один из вариантов.

Фактически, здесь важны не инструменты, а целеполагание. А последнее сильно связано с имеющейся структурой исходных данных. Но, чтобы ее понять, логично начать с использования функции BeautifulSoup.prettify() из BS4. Однако, реализована она плохо (один пробел вместо табулятора плюс, начальные пробелы в текстовых данных вносят искажения). Общение с ИИ, на эту тему, проблемы не решило. Сервис начал советовать использовать не существующие версии BS4, либо делать модификацию полученного результата путем замены пробелов на табуляторы или, там, применять перегрузку данных во внешний файл и прочие бестолковые идеи. На Гитхабе подобные задачи тоже решались не слишком красиво. Короче, написал, независимо, свой вариант и он мне понравился. Аналогичные проблемы были и с другими библиотечными функциями Питона, при этом, мои собственные варианты оказали и проще и удобнее для использования. Вот пример, конечного результата для французских глаголов.

Пример представления французских глаголов.
Пример представления французских глаголов.

Для начала, хотел бы уточнить: не пытаюсь никого убеждать пользоваться ИИ, но мне интересна мотивация тех, кто отказывается. Ну и с этой конкретной задачей не всё понятно.

____

На самом деле, проблема не в «проверке гипотез». Есть готовый проект, в виде первой версии. Я его хочу полностью переделать.

А зачем? If it ain't broken, don't fix it.

Есть «архитектор», который дает шаблон проекта (набор классов публичных функций, с пустыми телами).

Это называется интерфейсы. Их структура может быть частью задания для ИИ, или он может сам её сгенерить на одном из этапов из текстового описания.

«Архитектор» программы говорит членам команды программистов, кому какой класс реализовывать

Я чего-то не понял? Вроде речь о пет-проекте, делающемся в одно лицо, откуда команда? Но если речь об ИИ, то в принципе запуск нескольких агентов, каждый из которых реализует свою часть кода под управлением агента-координатора ‒ вполне обычная практика.

Чтобы подключить ИИ для этой задачи, нужно, первоначально, определиться с архитектурой программы. Поскольку, первая версия у меня уже реализована, то архитектура ее будущей второй версии, мне, примерно, ясна. Задача, только разделить связи. Ибо главная проблема в первой версии – это сильные связи

Так "разделить связи" ‒ это по сути новая архитектура и есть. И вполне можно подключить ИИ именно для проработки этой новой архитектуры, добавив в требования нечто вроде: No hardcoded dependencies, use DI pattern. Или даже: Use SOLID principles across the project.

логично начать с использования функции BeautifulSoup.prettify() из BS4. Однако, реализована она плохо (один пробел вместо табулятора плюс, начальные пробелы в текстовых данных вносят искажения).

Тут два вопроса:

  • почему логично использовать библиотеку, работающую не так, как нужно;

  • если дело только в табах/пробелах, то что за проблема добавить враппер, который будет их приводить их к нужному виду ‒ вроде это буквально несколько строк кода.

Как я уже говорил, дополнительная цель – обойтись собственным аналогом Гита.

Ох... а это-то зачем? 🤔

Для начала, хотел бы уточнить: не пытаюсь никого убеждать пользоваться ИИ, но мне интересна мотивация тех, кто отказывается.

Разве я отказываюсь? Возникает потребность – пользуюсь и даже получаю нужный мне результат. Более того, для меня интеллектуальные сервисы – это уже Интернет-2.0. Но, в концептуальных вопросах, где возникает сильная зона неопределенности, ИИ мне мало чем может помочь. Не буду спорить, может быть это мои личные проблемы, но я еще не видел ни одной статьи, где народ использовал бы ИИ для решения своих собственных концептуальных задач. Обычно, ограничиваются общими словами.

Ну и с этой конкретной задачей не всё понятно.

Согласен! Поэтому, готовлю статьи с подробными объяснениями.

А зачем? If it ain’t broken, don’t fix it.

Ну, если так рассуждать, что зачем вообще было писать эту программу? Отчасти, конечно, чтобы выучить иностранный язык по собственной методе. Однако дешевле было бы просто штудировать учебники и смотреть обучающее видео. Меньше сил, в итоге, потратил бы. Скорее, это уже некая древнефилософская парадигма: «Цель – ничто! Путь движения к Цели – это всё!». Есть потребность подобного «движения», вот и двигаюсь.

А так, после первой версии, остались ментальные проблемы, которые хотелось бы разрешить.

Это называется интерфейсы. Их структура может быть частью задания для ИИ, или он может сам её сгенерить на одном из этапов из текстового описания.

Про подобные интерфейсы у меня есть статья здесь: «Модульное программирование в C++. Статические и динамические плагины» в https://habr.com/ru/articles/566864/ . Но, сейчас, будет реализация другого варианта «модульного программирования» на С++. Подобных «интерфейсов» я нигде не встречал, а у ИИ, мне, по большому счету, спрашивать нечего. Просто, закончу текущий проект, с онлайн-словарем, и приступлю к модульному программированию. Если возникнут технические «ноу-хау» – спрошу, но, пока, в принципе, мне понятно, что делать.

Я чего-то не понял? Вроде речь о пет-проекте, делающемся в одно лицо, откуда команда?

Я где-то упоминал, выше, что речь идет об имитации командной работы без использования Гита. Просто, меня очень удивили настойчивые попытки народа доказать, что Гит мне нужен, даже, если я программирую один. Поэтому, попробую эмулировать Гит, в той мене, в какой он может быть мне полезен. Если не получится, попробую тогда использовать классический Гит, Короче – обычные творческие эксперименты, в области программирования.

Но если речь об ИИ, то в принципе запуск нескольких агентов, каждый из которых реализует свою часть кода под управлением агента-координатора ‒ вполне обычная практика.

Нет, для меня это, пока, лишнее! «Слона», то бишь, ИИ будем переваривать маленькими кусочками.

Так “разделить связи” ‒ это по сути новая архитектура и есть. И вполне можно подключить ИИ именно для проработки этой новой архитектуры

Как говорится: «Лучше один раз потрогать, чем сто раз увидеть!». На «Хабре» масса статей про ИИ, но интересы, у народа, немного отличаются от моих, поэтому, мы и не понимаем друг друга.

почему логично использовать библиотеку, работающую не так, как нужно

Ну, любые утверждения относительны. Если применять упомянутую функцию для «красивого» представления html-страниц, то использование пробела, вместо табулятора, вполне оправдано, особенно для слишком широких «деревьев». Что касается лидирующих пробелов в текстовых значениях («листьях» «дерева»), то это проблема html-данных, а не указанной функции. Другое дело, что ее могли бы сделать более настраиваемой, в своих параметрах, но, это не слишком большая проблема. Моя собственная, независимая от библиотек, функция «DoTabPrettify(HtmlText)», вполне умещается в экран монитора и решает все мои проблемы.

Ох… а это-то зачем?

Классический Гит – явно избыточен для моих целей. Да и собственные каталоги с проектами я привык контролировать самостоятельно. Однако тема командной работы, точнее ее имитация, мне, более-менее, интересна. Вот спросил самого себя, смог бы я, допустим, как «архитектор» дать ТЗ «команде» программистов, чтобы они быстро наваяли мне вторую версию программы? Заодно проверю, может ли «девять девушек родить за месяц одного ребенка, вместо одной роженицы – за девять месяцев?» :) .

Классический Гит – явно избыточен для моих целей.

Мда, нам будет сложно понять друг друга – слишком разные жизненные парадигмы. Писать свой "гит" потому, что тот "избыточен"? Да не пользуйтесь ненужным функционалом, и все дела. SVN возьмите, в конце концов – он в разы проще. Но написать собственную систему контроля версий, даже в самом простешем варианте – это минимум недели, а скорее месяцы работы – и всё равно её надёжность останется под вопросом. Этим можно заниматься, если совсем уж делать нечего. Я своё время ценю, лучше потрачу на что-то, приносящее заработок.

Писать свой “гит” потому, что тот “избыточен”?

Не уверен, что вы поняли меня. Я не собираюсь писать Гит, как некий программный продукт, от слова «совсем». Все гораздо проще. Я использую методологию итерационно-модульного программирования, который мне вполне заменяет Гит, как таковой. Проблема возникла из-за дискуссий, здесь, что мол, программирую я «неправильно», а надо явно применять Гит для разработки. Я отвечаю, но, я же – один, «во всех лицах». Ничего, отвечают мне, ты не понимаешь своего счастья, Гит – очень нужен всем, в том числе, индивидуалам. Пришлось даже посмотреть пару роликов на Ютубе, чтобы узнать, что это за зверь такой, что от него все без ума. Посмотрел, представление получил, заодно, понял, что он мне действительно, не сильно нужен.

Остался, правда, один момент, связанный с проблемой сильных связей в моем проекте. Но, Гит, здесь, принципиально, ничем помочь не может, только фиксировать текущие изменения и откатываться в любую «точку» назад. Но, это я могу и без него делать, под полным своим контролем.

Что касается главного возражения, что в командной работе без Гита – никуда, то и здесь я хочу провести эксперимент, имитируя разработку, с нуля, второй версии моей программы.

Таким образом, это не создание новой системы контроля версий, а попытка эмулировать командную работу без Гита, вообще. Получится или нет – не знаю. Моя личная заинтересованность в этом проекте, это декомпозиция сильных связей, которую вы предлагаете делать вместе с ИИ. Как это делать с помощью «Искусственного Идиота», я, откровенно говоря, не знаю. Хороших статей на эту тему – нет. А те, которые демонстрируют хоть какой-то практический результат, мне мало, что дают.

Поэтому, продолжаю работать над своими проектами, попутно почитывая, что на эту тему пишут на «Хабре». Если появится что-то интересное – постараюсь вникнуть.

Ой как я вас понимаю, мне тут тоже все уши прожужжали фанатики своим дурацким гитом. А я как его не использовал, так и не собираюсь. Удобнее просто по фтп сохранять файлы и всё на этом.

Стоит вспомнить историю с бухгалтерами. Буквально лет 20 назад они были нужны всем юрлицам, был большой спрос и было уважение. Наблюдал переход от "простыней" квартального отчета к дискетам, от ночных бдений по сведению баланса к рутинизации внесения первички и планирования. Приложения для бухучета сократили спрос на бухгалтеров очень сильно, в какой-то момент один бух мог вести до 10-15 мелких фирмёшек, т.е. сокращение рынка труда для бухгалтеров было в 10 раз уж точно. Плюс упрощенное налогооложение. А потом появились банковские терминалы с отправкой данных в налоговую и для мелких лавочников бухи стали не нужны совсем. Вот тут я даже не знаю во сколько раз сократился спрос на бухгалтеров, но суть в том, что я помню отделы бухгалтерий в крупных компаниях где сидели десятки человек, а сейчас для конторы с 1000 человек хватит одного главбуха, пары его замов и еще максимум пары операционщиков(тоже типа бухгалтеры, но по сути те, кто документы оцифровывает).

С инженерами проектировщиками происходило такое же, чертежники улетели в никуда, отделы проектировки сжались, спрос снизился засчет замены "ручного" труда программным.

Архитекторы? те что здания проектируют. Насколько их сейчас меньше нужно? А потому что в САПРе сделать чертежи в десятки раз быстрее, чем на бумаге в ручную. То что делал отдел на десять тел неделю, сейчас делает один чел за компом за несколько часов с визуализацией, расчетом нагрузок, материалов, узлов соединений, креплений и пр и даже не помнит при том сопромат!

Мне кажется с разработкой сейчас происходит аналогичная автоматизация работы и закономерно, что спрос на программеров сократится раз в 20 как минимум.
Фронтенд станет подфункцией других отраслей типа дизайнер +ИИ=фронтендер или бэкенд+ИИ.

Важно что главбухи, архитекторы, инженеры не исчезли, они остались и выполняют важный функционал с использованием новых средств, их работа изменилась, но не исчезла совсем.

в бюджете бухгалтера никуда не делись. А сокращения там исключительно из-за низких з/п и огромных нагрузок. Нормальный бух. пойдёт вести 10 ИП вместо сидения в гос. конторе с бесконечными дубовыми отчётами. Тем более, что те же нормальные ИП каждые 5 лет закрываются и открываются с теми же людьми, но под другим именем.

Архитекторы? те что здания проектируют. Насколько их сейчас меньше нужно? А потому что в САПРе сделать чертежи в десятки раз быстрее, чем на бумаге в ручную. То что делал отдел на десять тел неделю, сейчас делает один чел за компом за несколько часов с визуализацией, расчетом нагрузок, материалов, узлов соединений, креплений и пр и даже не помнит при том сопромат!

Вообще-то нет. Рисовать карандашом на продвинутом кульмане проще и быстрее, чем мышкой в условном АвтоКАД. Даже есть цифровые кульманы, чтобы инженеру не приходилось мучиться с ограничениями монитора (чертёж геометрически обычно гораздо больше экрана, и чертить его частями - ну, такое себе удовольствие) и мышиным вводом.

Преимущество цифрового чертежа не в скорости построения, а в скорости и точности передачи на производство, и в скорости редактирования.

Конструкции же обычно рассчитываются до построения чертежей, ну, и люди, которые этим занимаются, в сопромате хорошо понимают. Им же надо сначала придумать то, что потом будет обсчитано на компьютере, а для этого надо таки иметь представление о том, где несущую стену ставить...

Умерли фантазии о миллионах в наносекунду. Смешно даже слышать о вайбкодинге когда миллионы сайтов продолжают выглядеть как сделанные в 00-х. А оставшаяся часть выглядит, как сделанная под действием каких то грибов.
Рынок просто порешал, что уникальный дизайн и решение под конкретный проект нафиг никому не нужны. Берем WP натягиваем на него один из 100500 бесплатных шаблонов и обмазываемся плагинами. Пусть это слабо решает бизнес задачи, зато любая макака сможет подправить. И по итогу куча сайтов шаблонных с неудобный дизайном и функционалом. Ну и железо до последнего времени прощало 10 слоёв абстракций и библиотек для решения базовых задач.

Разработка (и фронтенд и бэкенд) - останется

А вот разработчиков в таком количестве уже не понадобится

За место джунов - нейросети, а потом и мидлов меньше станет надо

Поэтому не понятно зачем это всё начинающему специалисту

Прогноз: в цене будет ручной труд, но там где надо думать. Нейросети до туда не добрались, но при этом нужна квалификация и интеллектуальные навыки

Я уже лет 15 в разработке, эти вот все современные профессии в ит, выполняли разработчики( можно сказать фулстэк,т.к. обязанностей у штатного разработчика вагон был - дизанейр, верстальщик, дба, архитектор, тестировщик,саппорт и тд). Так ИИ похоже возвращает нас в эти времена.

Умер фронтенд ? Он только на начале своего пути как и разработка всего. Вместо нытья и статей, в чем проблема самостоятельно не находить говносайты, переделывать их при помощи ИИ и предлагать это бизнесу ?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации