Провокационно? Да. Реально? Тоже да. Вроде бы понятно, что на вопрос уровня StackOwerflow нынешний ИИ отвечает влет и, как правило, верно. Что же будет, если попробовать написать на нем фреймворк, например. Я попробовал. Понятно, что нужно подсказывать что проектировать и как это реализовывать. Вот тут типичный заказчик спасует. Потому что он не мыслит таблицами, классами, связями, зависимостями. А типичный миддл скажет - дайте мне ТЗ, как я тут иначе все буду придумывать, а потом переделывать? Ему не нужна ответственность. Синьор сдюжит, и именно потому что опыт и вопрос этот больше про архитектуру, чем про код. Вот тут наш взгляд и падает на software architect позицию. Потому что там и про опыт, и про код, и про требования заказчика и про проектирование сложных систем.

Ведь именно на стадии проектирования нужно понять куда может повести заказчика потом и заложить эти возможности на старте. Нужно знать как это будет в БД, как в коде, как в шине данных. Какие будут протоколы, какие хранилища, где, когда, сколько. Тот же ИИ тоже вполне вменяемо ответит на эти вопросы. Надо только их поставить.

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

Какое решение напрашивается, чтобы было удобно? Дать ИИ свободу создавать файлы и писать в них. И дать возможность загрузить весь контекст проекта в память. Хотя бы для текущей подсистемы или микросервиса. Вот тут я должен признать удобство микросервисов, хотя их и недолюбливаю. ИИ с ними будет проще, так как контекста меньше. Получаем идеальную IDE для архитектора. Который не просто творит, а который с аналитиками все обкашлял, понимает, что нужно клиенту, может проверить решения, которые дает ИИ, чтобы застраховаться от совсем дичи. Ревью кода и поиск ошибок тоже ложится на плечи ИИ. Да, потом и человек отревьюит. Но первый проход будет за ИИ, что экономит время. Тестирование людьми тоже пока что остается, тут подстраховка нужна.

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

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

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

И на втором конце этой IDE нужен человек, который скажет как, куда и что писать. В этом вроде бы и проблема, что заказчик не сможет адекватно это описать.А нам и не надо. Индустрия уже есть. Менеджер по продажам его обработает, аналитики все из него высосут, может быть даже полноценное ТЗ напишут (но это вряд ли, в эпоху, когда модно двигать задачи по доске, такое не работает). Но основную потребность они обозначат, опишут, предложат пути решения и тут появляется на сцене наш герой - системный архитектор. Который крупными мазками начинает хреначить продукт. И уже к вечеру того же дня готов показать бету. И это стоит $500. Я условно говорю, но вы понимаете масштаб...

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

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

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

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

Комментарии (15)


  1. radtie
    10.08.2023 12:03

    А как стать архитектором, если джуны/мидлы не нужны? Сразу учить на сеньоров?

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

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


    1. Captain Автор
      10.08.2023 12:03

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

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


      1. Slaiter89sp
        10.08.2023 12:03

        В недавнем видео на Youtube Евгений Борисов сказал что возможно скоро появиться новая должность Junior Architect, так как реалии рынка благодаря ИИ поменяются


  1. anonymous
    10.08.2023 12:03

    НЛО прилетело и опубликовало эту надпись здесь


  1. SUNsung
    10.08.2023 12:03

    Скорее програмирование за упрощением

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

    А люди будут рисовать ТЗ для ИИ по которому уже будет собиратся программа


  1. valex2019
    10.08.2023 12:03

    Шансы ChatGPT ответить на вопросы по коду хуже, чем подбрасывание монетки

    https://www.theregister.com/2023/08/07/chatgpt_stack_overflow_ai/

    так что получается что ии врет в 52% случаев, но врет вежливо, подробно и правдоподобно)))


    1. Captain Автор
      10.08.2023 12:03
      +1

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


  1. kasiopei
    10.08.2023 12:03

    Люди для людей ТЗ еле составляют, а для ИИ еще сложней


    1. Captain Автор
      10.08.2023 12:03

      так а сейчас ТЗ и не составляют, как ни парадоксально. Aglie, понимаешь. Внедрение фич есть, а ТЗ нет... Ну т.е. формально ТЗ могут составить для договора, а работать по нему не будут..


      1. DMGarikk
        10.08.2023 12:03

        в случае с ИИ, аджайл приведет к тому что технически софт им написанный будет адовой мешаниной


        1. Captain Автор
          10.08.2023 12:03

          Скорее всего да. Но если он будет работать, то дешевизна и скорость перевесят


  1. berng
    10.08.2023 12:03

    А что это за вопросы уровня SteckOwerflow? Какой-то новомодный тест на знание английского языка? Интересно просто.


    1. Captain Автор
      10.08.2023 12:03

      StackOwerflow это очень популярный ресурс на котором программисты задают вопросы по своему коду, типа qna.habr.com

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


      1. klis
        10.08.2023 12:03
        +1

        Настолько лень ссылку открыть, чтобы посмотреть как он правильно пишется? Блин, сделать две ошибки в названии ресурса, заметить и исправить только одну… это какой-то особенный вид кликбейта?


        1. Captain Автор
          10.08.2023 12:03

          Жаль, я думал будет обсуждение по сути статьи...