Программисты не нужны(?) 3

Всего 8 месяцев прошло с последнего поста на тему замены разработчиков ИИ. Как и в прошлый раз я снова ошибся со сроками. Сначала было 10 лет, потом 5, теперь я думаю, что самые инициативные компании сменят парадигму уже в этом году, а более инертные в течение 2-3 лет.

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

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

Стандартный пайплайн довольно дорогой и не всегда эффективный. Но: 1. Предсказуемый. Четкие этапы, четкие зоны ответственности. Проблему «ответственности» или владения задачей / этапом ИИ не решает. 2. Экономит время более дорогих специалистов. Опытные разработчики или архитекторы вполне могут составить продуктовые требования и запроектировать всю систему на бумаге. Но их время дороже, чем время аналитика. Плюс вместо этого они могут заняться своими задачами, которые аналитик не сделает. Теперь же благодаря ИИ временные затраты на написание чего бы то ни было (например, тех же ТЗ) существенно сокращаются. Настолько, что написание одним специалистом с последующей передачей контекста другим становится непозволительным оверхедом. 3. Узкие компетенции в нетиповых случаях. Конечно, есть много ситуаций, где нужны узкоспециализированные высококвалифицированные специалисты: высоконагруженные системы, уникальные кейсы, специфика технологии / класса систем и тд. Поэтому специализация важна. Но ИИ существенно поднимает компетенции в узких технологиях при наличии общей высокой квалификации у специалиста. Раньше фронтендер вряд ли написал бы bash скрипт, а сейчас сможет. Так что этот пункт я бы закрыл ИИ на половину.

Итого из 3 пунктов ИИ закрывает 1.5, 50% причин (по версии автора данного канала) наличия сложного, долгого и дорого пайплайна производства нивелируются ИИ инструментами.

Ну и что дальше? Ценность написания кода, документации, тестов и прочих артефактов существенно снижается. (При этом ценность результата не меняется, это важно, но не для этого поста)

Вот следствия: 1. Специализация (например, бекенд или devops) важна только для самых сложных кейсов, нетиповых и уникальных задач, которых в обычной жизни бывает не более 10-20%. В общем случае специализация не должна иметь значения, тк опытный инженер должен уметь сделать 80% результата самостоятельно. Фронтендер, просто пишущий код и «заблокированный бекендом» драматически теряет ценность.

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

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

4. С точки зрения бизнеса: определить, а что вообще нужно, чтобы потом переложить это на продукт (см предыдущий пункт)

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