Жертва автоматизации – программист

Feb 12, 2019
Blog

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

Для обучения любого алгоритма ключевое значение имеет репрезентативность данных. И очевидно, что подобрать их не всегда одинаково легко. К примеру, чат-бота можно учить практически на лету. Но нейросети нужно показать целых 300.000 фотографий кошек, чтобы она с приемлемой вероятностью узнавала их в будущем. Иногда, впрочем, путая с таксами. Чтобы писать стихи, ИИ следует не только освоить понятие рифмы и ритма, но и “осмыслить” миллионы словосочетаний. И то большая часть пойдёт в брак. Ну а писать так, чтобы произвести впечатление на ту, единственную…

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

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

Возьмем самую творческую работу, построение архитектуры ПО. Предположим, нужно оптимизировать решение для международных финансов. Клиент ставит задачу в духе царя из русской народной сказки: “Пойди туда — не знаю куда, принеси то — не знаю что”. На чём нам учить нейросеть? Корректных данных просто нет. Готовые архитектурные решения не лежат на полочках, а рождаются в поту и муках абстрактного мышления. Такие задачи роботам не доверят. По крайней мере, пока они не начнут мыслить как мы.

Кстати, как на данный момент выглядит сгенерированный автоматически код?

Bayou
Вот сервис, который может дописать программу на Java за вас. Просто вставляете недописанный код, а ИИ предлагает варианты его завершения.

DeepCoder
Microsoft разработали ИИ, который использует программный синтез. Проще говоря, может создавать свой код, компилируя его из кусков чужого. Уже совсем горячо, верно?

Screenshot-to-code
А вот нейросеть, умеющая верстать сайты по картинке-образцу. Как думаете, у нее хорошие перспективы?

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

Впрочем, совсем без работы не останется никто. О том, почему же заменять всех подряд роботами нет смысла – читайте в нашей прошлой статье.

Previous articleNext article