65 айтишников задержаны.
33 — неизвестно где.
21 вышли на свободу.

3 причины, почему роботы не смогут заменить программистов

22 комментария
3 причины, почему роботы не смогут заменить программистов

В своей колонке Java-разработчик Павел Вейник, основатель и преподаватель школы программирования ITStart.by, порассуждал, являются ли программисты «операторами телеграфа 21 века» и не останутся ли они без работы в результате всеобъемлющей автоматизации.   

Читать далее...

Иллюстрация: Shutterstock

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

Сейчас полетит камень в огород некоторых лидеров мнений. Как правило, люди, довольно далёкие от ИТ — точней, сильно далёкие — замечают тренд по автоматизации, которая происходит во всех отраслях, и экстраполируют его на ИТ. В частности — на программистов.

Это, с моей точки зрения, говорит о том, что они абсолютно не понимают, что такое автоматизация сама по себе и где границы её возможностей.

Индустрии предстоит пройти ещё очень долгий путь, прежде чем искусственный интеллект сможет по-настоящему конкурировать с программистами. Ну разве что существует какая-нибудь компания, которая уже лет 30-40 тратит все свои деньги (если денег у неё много) на исследования такого рода, но при этом о ней никто не слышал. Такой вот чёрный лебедь.

Фактор N1: именно айтишники всё автоматизируют

Во-первых, автоматизируют всё на свете — айтишники. Именно они внедряют правила работы различных процессов в код, чтобы в таком виде оно работало быстрее и точнее, чем если бы делалось руками. Ровно до тех пор, пока сам процесс не изменится — тогда для него придётся писать новый код. Это обычно долго.

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

Уже довольно давно — лет 8 точно — я вижу всевозможные системы, которые автоматизируют написание кода. Но они зачаточные и покрывают ничтожную долю того, что нужно автоматизировать, убирая самые простые, рутинные шаги разработчиков и в очень небольшом количестве случаев. Поэтому заслуживают упоминания лишь как нечто незначительное.

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

ИТ — это причина автоматизации других отраслей, но она не может быть причиной автоматизации самой себя.

Фактор N2: технологическая неготовность ИИ к тому, чтобы заменить программистов

Добавлю кое-что как человек, который очень долго занимался не то чтобы ИИ, но некоторыми задачами, которые обычно этому интеллекту приписывают. А именно: анализ данных.

Как всякий молодой (когда-то) студент со взором горящим, я мечтал написать систему, которая будет автоматизировать хотя бы какие-то части работы программиста. Чтобы любой человек, сформулировав более-менее внятное ТЗ, мог получить на выходе рабочую программу. Мечты мальчишки — это прекрасно, но когда я начал углубляться, то понял, что до всего этого ещё страшно далеко.

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

Да, есть нашумевший стартап, который делает дизайн сайтов с помощью какого-то алгоритма. Но дизайн сайтов — это не более чем компоновка и совмещение цветов в соответствии с чёткими, известными правилами.

Фактор N3: Человеческий, или «любовница главного инженера»

В автоматизации участвует не просто условный конвейер с деталями, но и «влияющие лица», которые есть в каждом процессе. Любой бизнес-аналитик, работающий с предприятиями, это подтвердит.

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

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

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

Здесь зарыта ещё одна собака: чтобы провести автоматизацию в таких условиях, нужно учесть все эти недомолвки и иногда прямой обман, на который идут представители предприятия, чтобы сохранить и увеличить свои привилегии и/или кому-то насолить.

В таких рамках любая машина не сможет функционировать, потому что получит противоречивые данные — и привет.

Водянистый пузырь искусственного интеллекта

Сейчас, когда интерес к теме ИИ вспыхнул с невиданной силой, мы, похоже, попросту стали свидетелями раздувания нового пузыря, на котором некоторые люди здорово проедутся.

То же самое было со всем известным пузырём доткомов и со многими другими пузырями: все возлагали большие надежды, надежды оказались слишком большими. «Ну извините, не получилось».

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

Сегодня под ИИ понимают просто чуть более умные и сложные алгоритмы. Под эту марку можно подгрести что угодно, маркетологам всё равно: главное — инвестиции. Назовёмся ИИ — дадут больше денег? Чудно! 99% таких компаний лопнут, а 1% через 20 лет родит что-нибудь стоящее.

Ну а пока это просто спекулятивная игра красивейшим термином «искусственный интеллект», превратившимся в яркий баннер, за которым кроется что-то непонятное. Надеюсь, со временем этот термин себя настолько дискредитирует, что использовать его к месту и не к месту перестанут.

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

Треть разработчиков боится ИИ, но не понимает, что это такое?

Тем не менее, статистическое исследование, проведенное фирмой Evans Data Corp., свидетельствует: 29% из 550 опрошенных разработчиков ПО беспокоятся, что их на рабочем месте заменит искусственный интеллект (ИИ).

Фото: Андрей Давыдчик, dev.by

Тут есть серьёзная оговорка: большинство людей не понимает, что обозначает термин ИИ. Ставя перед респондентами этот вопрос, нужно оговорить, что понимается под этим термином.

Я читал книги про ИИ, написанные ещё в 1960-1980, и сейчас тоже почитываю что-то более современное. И вот какая штука: искусственным интеллектом постоянно называют то, чего машина делать ещё не может. Как только она научится это делать, это перестанет называться ИИ и получит какое-то другое название.

К примеру, пока машина не умела «видеть», алгоритмы машинного зрения тоже называли искусственным интеллектом. Как только она научилась видеть, это стало называться распознаванием изображений и образов, машинным зрением и пр. То же самое с нейронными сетями.

Если исходить из этого банального людского представления про ИИ — оно не академично, неправильно, но в большинстве голов присутствует — то и получается такая вот ерунда: «я как программист могу быть заменён машиной, которая умеет делать то, чего машина делать не умеет».

Оптимизация кода: «навороченное» удаление лишней переменной vs улучшение процессов

MIT и Adobe научили компьютер оптимизировать старый код быстрее программистов?

Ладно, разберёмся. В той же Java есть 2 уровня оптимизации кода: один происходит прямо при компиляции, другой прямо при выполнении. Эти оптимизации лет за 15 настолько развились, что некоторые ошибки исправляются очень уверенно.

При этом существуют:

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

Помню, нужно было написать алгоритм оптимизации работы машин в таксопарке. Машин было под 300, довольно большой город — американский, конечно. Я выдал хитрый навороченный алгоритм, который много чего учитывал и требовал несколько месяцев на сбор данных разработку, отладку и тестирование. А пара менеджеров или бизнес-аналитиков за вечер придумали решение, которое вовлекает и пассажира, и таксиста, и простейшие данные по всему таксопарку, выбирая наилучшее решение для задачи, причём очень быстро, на лету.

Здесь оптимизация улучшила не просто скорость работы, а пользовательский опыт, плюс сильно упростила происходящее на серверах и сэкономила немало денег. На такую оптимизацию машины не способны: она требует знания не просто кода, а ещё и контекста. Машины, к сожалению, пока ещё не умеют его учитывать, выбирая то, что подходит для решения задачи.

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

Называть это шагом к ИИ — всё равно что называть новую модель машины прорывом в космос.

И всё-таки: так кого заменят роботы в ИТ?

Бизнес-аналитиков, менеджеров, дизайнеров (если это не что-то очень банальное), верстальщиков роботы вряд ли заменят.

Что касается тестировщиков, тут чёткая и всем известная тенденция: ручные тестировщики уже гораздо менее востребованы, чем тестировщики-автоматизаторы, которые пишут программы, тестирующие систему.

Эйчары — вот здесь, думаю, не за горами тот момент, когда их работа будет процентов на 80 автоматизирована. Есть модный тренд больших данных, который давно суют во все щели. Могу даже прикинуть, как с его помощью можно автоматизировать большую часть работы рекрутера. Сперва, конечно, кое-что будет сделано криво, но потом дело пойдёт.

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

 

 

Колонка подготовлена при участии Натальи Провалинской

 

 

*Мнение колумнистов может не совпадать с позицией редакции.

Хотите сообщить важную новость?

Пишите в наш Телеграм

Читайте также

Издатель игр Gismart запустил обучающий канал для разработчиков
Издатель игр Gismart запустил обучающий канал для разработчиков
Издатель игр Gismart запустил обучающий канал для разработчиков
Bulba Ventures инвестировал в стартап Gero. Мельничек вошёл в совет директоров
Bulba Ventures инвестировал в стартап Gero. Мельничек вошёл в совет директоров
Bulba Ventures инвестировал в стартап Gero. Мельничек вошёл в совет директоров
GitHub опубликовал карту новых фич
GitHub опубликовал карту новых фич
GitHub опубликовал карту новых фич
Штаб Дмитриева запустил сервис, который считает зарплаты
Штаб Дмитриева запустил сервис, который считает зарплаты
Штаб Дмитриева запустил сервис, который считает зарплаты
4 комментария

Обсуждение

1

Ну и зачем это здесь? Разве что многомудрый Павел придумал многоходовочку с последующей перепечаткой авторитетного источника ) Статья для хомячков: идите ко мне учиться на прграммиста,.. бандерлоги...
Этому место на анальнере - там нужная вам аудитория, Павел.

Pavel Veinik
Pavel Veinik CTO в SplitMetrics
-3

А можно подробнее про многоходовочку? Заранее спасибо )

0

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

Pavel Veinik
Pavel Veinik CTO в SplitMetrics
3

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

0

>Я читал книги про ИИ, написанные ещё в 1960-1980, и сейчас тоже почитываю что-то более современное. И вот какая штука: искусственным интеллектом постоянно называют то, чего машина делать ещё не может. Как только она научится это делать, это перестанет называться ИИ и получит какое-то другое название.

Угу, всё так.

Но аргументы в статье слабые и, в общем, обходимые.

Главная фишка вопроса в самой сути программирования, как постановки форальной задачи перед машиной. Что бы и как бы не автоматизировали, ставить задачу всё равно будет необходимо и ставить её будут программисты. Просто языки программирования могут стать менее формализованными. Возможно, профессии аналитика и программиста сольются в одну.

Pavel Veinik
Pavel Veinik CTO в SplitMetrics
0

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

А написание ПО на данный момент считается алгоритмически неразрешимым, потому что неполнота Гёделя.

6

"вот какая штука: искусственным интеллектом постоянно называют то, чего машина делать ещё не может. Как только она научится это делать, это перестанет называться ИИ и получит какое-то другое название."
Дело не в названии. Когда машина научится 'думать', тогда и будет замена программистам и более универсальные машины с ИИ будут проектировать более специализированные. Понимаю, что слово 'думать' несколько абстрактно, и дать точное академическое определение в данном контексте затруднительно, но мы ведь понимаем о чем речь, так? И в книгах по ИИ не пишут о том что сейчас делают в исследовательских лабораториях, так что о текущим состоянии можно только догадываться по косвенным признакам :-) https://dev.by/lenta/main/investitsii-v-iskusstvennyy-intellekt-byut-vse-rekordy

Pavel Veinik
Pavel Veinik CTO в SplitMetrics
0

вы вот сейчас заменили слова "искусственный интеллект" не менее непонятным словом "думать" :)
Я не понимаю, что значит "думать" :) Серьезно. Я прочел кучу книг о деятельности мозга, и кучу книг по алгоритмам, и стараюсь кое-что применять. Но что такое "думать" - не понимаю.
Вот когда будет академическое определение, не философское, тогда можно будет думать о том, чтобы научить машину думать. А пока - ваши слова ничем не отличаются от слов тех, кто говорит, что скоро ИИ заменит программистов.

0

Утрируя, каждая книга о деятельности мозга начиналается словами - мы не знаем как работает мозг. Отдельные части более-менее изучены, но в целом - мрак. Кстаи ИИ не обязательно, и даже скорее всего, не будет копировать работу мозга. Мы ведь можем думать, вне зависимости от наличия академического определения, так почему ИИ нельзя создать не дав определения.
1. Возможно ИИ не будет создан на основании тех задания метематиков, а в результате эволюции и "естетсвенного" отбора базовых программ в имитируемой "среде обитания".
2. Все таки мозг интенсивно изучается, и вполне возможно будет создана полная имитация процессов с последующим разбором происходящего. Тут возможно с одной стороны упростить, уменьшив размер нейронной сети, с другой сторны усложнить - так как мозг это не только электрические импульсы.
3. вполне возможно реализация алгоритма "честно" проходящего что нибудь типа «схемы Винограда», поможет и определится с термином и создать ИИ.

0

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

В частности. Если он будет реально "думать", то формально от человека-программиста он не будет отличаться. То есть профессия останется, и инструменты для занятия ей останутся. Изменится только исполнитель.

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

0

Компьютерная программа -- это, в первую очередь, конечный автомат. И я не вижу в статье причин, почему один конечный автомат (или несколько) не сможет собрать другой, более сложный, конечный автомат (компьютерную программу).
Возможно, в будущем, чтобы написать программу, будет достаточно условного "архитектора", который задаст параметры программы и пары "тонких наладчиков", которые посмотрят, что там бот нагенерил и поправят.
Я думаю, что в течении времени жизни одного поколения эта задача будет решена.

Где останется человек? Там, где машина не в состоянии с ним конкурировать. Например, машина очень быстро считает, значит, все специальности, основанные на рассчитывании данных и формальных процессах, исчезнут, специалисты будут заменены машинами. Устоят те, кто использует особенности человеческой природы: интернационализация, проработка логики программ, опыт использования.

Все это ИМХО

0


##

Pavel Veinik
Pavel Veinik CTO в SplitMetrics
1

Про неполноту Гёделя почитайте. Там умными словами описано почему не может.

Anonymous
Anonymous сам не знаю в ИНИС-СОФТ
0

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

0

А мне как-то больше нравится вариант №3. Допустим, загорюсь я идеей автоматизировать программирование и, вдруг, это получилось. И вместо многоэтажного офиса соратников, вдохновленных одной или многими идеями и чувством дружеского локтя, в небольшой комнате будут мирно гудеть серверные стойки, зарабатывая мегабаксы. С точки зрения бизнеса, это будет колоссально выгодно. Деньги польются рекой и собственный Боинг будет мирно гудеть в ожидании прогулки. Но кто из сотоварищей скажет мне спасибо за "обломившуюся" отрасль, которая сейчас в фаворе? Никто. А Земля-то круглая. И всё обычно возвращается, по кругу. Поэтому надо не спешить, я полагаю. Ждать кризиса и оттачивать идеи. И решать то, что является реальной проблемой сегодня. Чтобы по Земле разливалась благодарность за добрые дела.

0

Я бы на месте программистов так не расслаблялся:)

Мало кто с таким усердием пытается уничтожать свои рабочие места. Они же автоматизируют всё подряд. Например, своими руками убили спрос на программистов на ассемблере. Благодаря им, требуется всё меньше и меньше программистов для создания той же функциональности.

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

Безработица среди программистов наступит не потому, что роботы будут стучать по клавиатуре, набивая код :)

Anonymous
Anonymous сам не знаю в ИНИС-СОФТ
2

Как бы рынок ИТ после смерти ассемблера вырос в разы, даже на порядок. О чем вы вообще?)))

Eugene Wolfson
Eugene Wolfson CEO в Syberry
1

Статья норм и мысли довольно здравые. Единственное, я не думаю, что на написание кода ИИ уйдет >=20 лет. Вполне вероятно, это произойдет гораздо раньше. Лично я связываю способность ИИ писать программный код на основе слабо формализованных требований с созданием сильного ИИ (strong AI). Или, по крайней мере, его частную вариацию. На такие мысли (срок менее 20 лет) наводят последние тематические события: очень серьезные успехи в распознавании изображений и ассоциации их с семантическим описанием объектов, распознавание речи и победа AlphaGo.
Однако, чтобы оставаться объективным, все же следует упомянуть гипотезу о квантовой природе сознания. Если она подтвердится, то может и 20 лет не хватить.

Pavel Veinik
Pavel Veinik CTO в SplitMetrics
1

спасибо )
Гадать про будущее, да еще со сроками... Увидим )

0

На основе слабо формализованных требований корректный софт не напишешь: garbage in - garbage out. Точнее напишешь далеко не весь. Дорисовывание картинок это очень мило, но там "правильных" вариантов миллион. А в каком-нибудь финансовом софте один неверный бит может полностью исказить весь замысел.
Поэтому когда навыки кодирования отточены, вся трудная работа программиста как раз и сводится к тому чтобы превратить слабо формализованные требования в сильно формализованные.
Лично я буду только рад если этот последний шаг автомитизируют, а то пока всё чаще приходится раскидывать на неопытных джуниоров и за ними потом перепроверять.

0

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

-1

Ребята, вы же понимаете, что если автоматизируется работа программиста - это значит, что автоматизируются все остальные сферы деятельности. Вопрос потери работы программистами стоять не будет. Будет вопрос - что делать вообще всем. Из этих всех, кстати, прогеры потеряют работу последними.

Спасибо! 

Получать рассылки dev.by про белорусское ИТ

Что-то пошло не так. Попробуйте позже