ИИ: умрёт ли профессия программиста ★
Честно говоря, плач по «умирающей» профессии программиста меня очень сильно утомил. Я понимаю, откуда берутся пессимистические настроения, но сам я далёк от мысли, что программисты вымрут. Профессия не исчезнет — она просто изменится.
И дело не в наивном оптимизме. Дело в механике развития технологий.
Собственно, это уже не раз происходило. Каждая новая волна автоматизации забирала у программистов часть низкоуровневой работы — но не саму профессию. Исчезала механика, оставалась ответственность. Исчезала рутина, оставалось мышление.
Многим кажется, что изменения происходят впервые, просто потому что они не застали предыдущие волны. Но даже беглого перечисления ключевых слов, которые есть в памяти каждого айтишника, достаточно, чтобы понять: с каждым десятилетием программировать становилось комфортнее — и при этом программистов становилось больше, а не меньше.
В моём детстве я писал первые команды прямо в машинных кодах — шестнадцатеричными цифрами (!) — в тетрадке, отлаживая их в уме. Потом ждал, иногда целыми днями, когда смогу ввести их в компьютер, набирая прямо из тетрадки. Получив
Это очень похоже на то, как
Потом пришли ассемблеры. Потом компиляторы. Потом высокоуровневые языки. Потом фреймворки. Потом облака. И всё заверте…
Снижение стоимости разработки не убило рынок — каждый раз он только расширялся. Когда программировать становится проще, программировать начинают больше. Появляются новые продукты, новые интеграции, новые автоматизации, новые требования к качеству, безопасности, масштабируемости. Сложность системы растёт быстрее, чем упрощается инструмент.
Мы больше не программируем в машинных кодах. Очень мало кто пишет даже на ассемблере и даже Си многие считают
И что именно из этого следует?
Если нейросеть способна переводить текст в код, это значит, что исчезает этап механической трансляции. Но разработка программного обеспечения никогда не сводилась к набору текста.
Я специально нашёл слайд презентации, которая с моим участием готовилась для президента нашей республики в 2021 году. Схема упрощённая; сегодня я добавил бы туда ещё
Нейросеть может помочь почти на каждом этапе. Но помощь и замещение — разные вещи.
Разработчик высокого уровня даже сейчас способен закрыть большинство, а то и все (разве что насчёт ЮИкса у меня есть сомнения), этапы самостоятельно. Почитайте, например, историю известнейшей игры «Принц Перси» — её создал один разработчик, пройдя все без исключения этапы, включая дизайн.
Важно не то, что он был один. Важно то, что ему пришлось проявить себя во множестве ипостасей.
Представьте, что у этого разработчика в то время была бы под рукой мощная нейросеть. Было бы ему нечего делать? Вряд ли. Он бы быстрее перебирал варианты, быстрее тестировал идеи, быстрее исправлял ошибки. Но кто бы решал, какую игру делать? Кто бы определял, что она достаточно хороша? Кто бы нёс ответственность за результат?
Автоматизация всегда убирает уровень ниже. Программисты просто поднимаются выше.
ИИ не отменяет сложность. Он лишь сдвигает её на другой уровень абстракции.
Поэтому вопрос не в том, вымрут ли программисты. Вопрос в том, кто останется на уровне «переводчика текста в код», а кто поднимется на уровень «архитектора систем и решений».
Комментарии 25
Кроме того, есть отрасли, где замроские нейросети нельзя будет использовать, а своих у нас нет — это весь софт КИИ.
Плюс, понимание моделью архитектуры проекта и категорический запрет на завершение задачи без прогона юнит- и регресс тестов немного помогает.
Codex рекомендую попробовать, если еще не, это хороший пример описанного выше.
Кодексом уже некоторое время пользуюсь, пока доволен.
Если же мы говорим о будущем, то нельзя исключить возможность, когда ИИ будет читать мысли человека и просто выдавать на выходе готовую program.exe, которая идеально соответствует задумке пользователя. Как это было написано, на каком языке, он даже не задумывается (как мы сейчас не задумываемся о машинном коде программы на Go). Вот здесь да, можно говорить об еще одном толстом слое абстракции.
На мой взгляд, человека пока списывать рано.