Профсоюз Русских Программистов
![о влиянии искусственного интеллекта (ИИ) на рынок труда в ИТ](/upload/img/28dekabr2323a.jpg)
Предварительное заключение о влиянии искусственного интеллекта (ИИ) на рынок труда в ИТ: инженеры-программисты будут востребованы всегда, а для начинающих конкуренции нет и не будет.
Начнём с инсайта из тыла ИИ-разработок.
Один незаменимый действующий разработчик из команды ChatGPT пооткровенничал, что все современные нейросети являются лишь супероптимизированным набором данных, а не изобретённым алгоритмом мышления компьютера или новой прорывной академической моделью искусственного мышления. Наконец-то у производителей микроэлектроники появилась возможность дёшево реализовать мощные процессоры и большие быстрые жёсткие диски, а технократы этим воспользовались.
Пояснение на пальцах. В памяти хранятся кусочки текста с каким-то фантастическим количеством меток по признакам мест их применения. ИИ делит ваш вопрос на слова-метки и по ним собирает ожидаемый текст за счёт быстроты памяти (раньше память была дорогой и медленной) и расчёта форм слов и предложений.
Например, закинем 3 художественных произведения Шекспира в нейросеть: весь текст произведений разбивается на словосочетания, каждая такая фраза помечается всеми возможными контекстами применения из этих романов (жанр, пол, возраст, эмоция, место в сложном предложении, автор книги и так далее). А потом вы просите этот ИИ написать сочинение «в стиле Шекспира с отборным русским матом». Сначала идёт сборка текста по-шекспиру, и далее обновляется синонимами «по-русски».
Сегодня база данных — это весь Интернет, а не 3 романа. Но в Интернете 95% информации есть спам, фейки, SEO-страницы для продвижения, незавершённые работы, фантастика, догмы и так далее. Таким образом, получится не уникальный текст, придуманный умным виртуальным существом, но быстро скленный и синонимизированный текст из “случайно” подобранных заготовок. И глуповатый.
Конец 1-й части. В следующей уже покажем информацию для предпринимателей и начинающих инженеров.
Часть 2-ая. Для бизнесменов и начинающих инженеров.
Основная мысль: можно считать, что ИИ создал только улучшенный профессиональный отсев. Ленивый не сможет доучиться и на первой же средней сложности задаче будет уволен.
Вдохновение от использования ИИ вызвано скоростью выдачи результатов. Полезность ответа зависит от точности вашей просьбы. А точно сформулировать вопрос вы сможете с чёткими целями и задачами. Нет задачи — нет решения.
Вот обычная просьба «запрограммировать такой-то алгоритм на таком-то языке». И вы получите посредственный ответ, как по Платону. Также он будет на 90% запускаться, на 80% понятен инженеру, на 70% производительным в заданных условиях, и на ниже 60% безопасен. То есть первый предложенный вариант использовать в реальном проекте нельзя.
Допустим начинающий программист должен решить сложную инженерную задачу. Он дешёвый — ему поможет нейросеть там, где нет опыта. Но ответственность за её решение на кого ляжет: на машину-генератор, или нп машину-интеллектуала? Но ответственность за будущую работу точно ляжет на вас. А вы IT-профессионал?
Рост популярности вашей разработки будет приводить к поломкам, замедлению исправления ошибок. Решать проблему всё равно будет опытный человек-инженер. Но пока вы догадаетесь к нему обратиться (ведь у вас будет ИИ-робот), вы потеряете, вы недозаработаете кучу денег.
ИИ не спросит вас перед тем, как выдать ответ: «Планируете ли вы рост числа пользователей? В связке с какими другими алгоритмами будет использоваться этот? Какие административные последствия могут быть?» Бизнес-аналитик и архитектор всего программного комплекса обязательны. И квалифицированные инженеры-сборщики, тестировщики, оценщики и прочие по списку — тем более.
Студентам этот инструмент полезен в обучении. Можно его попросить примеры шаблонов программирования в разных сферах, а не только на абстрактных задачах из учебника. При этом ученик должен быть трудолюбивым, а не ленивым. Лень и желание положиться на «машинный разум», отдать ему запрограммировать курсовую, опять же приведут к отдалению от профессионального роста и деградации инженерного мышления.
Создать самому программу — это научится делать ошибки, исправлять их, и научиться снова спотыкаться с проблемой. Человек советуется с человеком, получает эмоциональную окраску, и тогда появляется опыт и понимание.
Учиться по учебнику и выполнять задачи из него всё равно нужно и придётся. Обязательно читать документацию. Gридётся разбираться, почему именно так написан был код.
Часть 3. Для бизнесменов и «тёртых» программистов.
Основной вывод: от искусственного интеллекта требуется быть быстрым, а от программиста — качественным. ИИ-ассистенты не умеют программировать, но они научены делать ошибки как человек.
ИИ полезен в практике опытным инженерам для создания «базовых» заготовок для старта работы. К примеру, прототипы для проверки гипотез, чтобы на ранней стадии стартапа убедиться в состоятельности бизнес-идеи. Но команда программистов всё равно понадобится для создания реального проекта.
Кстати, бывает нужно разобраться с программой на неизвестном для спеца языке программирования. А ведь язык является всего лишь набором слов и правил с контекстом применения. Опытный программист поймёт программу на любом языке, потому что видна алгоритмика и архитектура. Но без знания синтаксиса он будет долго писать или исправлять. Вот тут ИИ выручит.
Для менеджеров и владельцев проектов. Запомните, нельзя с помощью ИИ дёшево добавить новых функций программы за промежуток времени. Тем самым поднять производительную эффективность команды (velocity). Это субъективное понятие зависит от человеческого фактора: здоровья, быта, настроения, опыта, знания проекта. ИИ в этом смысле тоже «непредсказуем» и туп и архитектуру не знает. Он обучен на открытых скриптах программ, которые лежат в хранилищах кода. Но кто тестировал все эти хранилища на работоспособность, безопасность?
Совместить профессиональные требования к задаче и знание в «большой-глупой-словомешалке» невозможно. Инженер-человек — про знание базовых блоков архитектуры программ, принципов программирования, алгоритмических принципов и контекстов использования, опыта практического применения в заданной сфере. И эксперт в требованиях к программе в контексте проекта: безопасность, скорость, производительность, расширяемость, тестируемость, читаемость, чистота и докуметированность и так далее.
Качество кусочка программы зависит от качества запроса к ИИ. Если нужен какой-то изощрённый и оптимизированный код под особенности задачи и архитектуры, тогда запрос к чат-боту должен содержать точную техническую часть использования и контекст. Составляющий запрос человек должен быть опытен.
Начинающий разработчик, заряженный супер-мощной и дорогой нейросетью в инструментарии, не справиться без тонких нюансов, не проверит качество и безопасность, не проверит выходные результаты, и даже не запустит код в предбоевом режиме. А с опытным живым коллегой, учебником и через несколько “потных” лет — всегда, да.
То есть профессионал каждой категории будет нужен всегда!