Как скоро ваше место займет AI

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

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

Конечно, в будущем многие рабочие места, которые существуют сейчас, утратят свою актуальность. Согласно оценкам Бюро статистики труда США, к 2026 году сокращение занятости среди 11 профессий с оплатой более 60 000 долларов в год составит более 74 тысяч позиций по сравнению с 2016 годом или около 6,4 млрд долларов в заработной плате. При этом занятость программистов снизится на 7,6% с 294 900 до 272 300. Это, конечно, не говорит о том, что уже не стоит учиться на программиста, но как минимум указывает на то, что рынок будет становиться все более конкурентным.

В это время в Индии, где сфера информационных технологий стремительно развивалась в последние годы благодаря аутсорсингу, уже сегодня сокращается количество вакансий. Похоже, индустрия, которая генерирует годовой доход в размере более 150 млрд долларов и в которой задействовано около 4 млн человек, начинает давать сбой. Пока что масштаб сокращений не ясен. Но согласно исследованию Национальной ассоциации компаний по программному обеспечению (Nasscom) и McKinsey India за 2015 год, к 2020 году от 50% до 70% нынешних рабочих навыков станут неактуальными.

«Текущие сокращения в аутсорсе (из-за автоматизации) в конечном итоге приведут к сценарию, в котором (только) 30 процентов рабочей силы будут оставаться актуальными», — считает ДД Мишра, директор по исследованиям консалтинговой компании Gartner.

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

Мы больше не будем писать код

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

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

В свою очередь Карлос Е. Перес, автор книги «Deep Learning AI Playbook» пишет: «Лично я не думаю, что разработка программного обеспечения скоро исчезнет. Даже если эта роль эволюционирует — назовите ее „инженер программного обеспечения 2.0“ или „ученым-исследователем 2.0“ или как-либо по-другому — есть пути, которые позволят нынешнему программисту оставаться актуальным».

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

Александр Кондуфоров, Data Science Competence Leader в AltexSoft

Об опасениях

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

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

Об ограничениях машинного обучения

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

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

О роли программистов в будущем

Роль программистов сильно не изменится. Но я полагаю, что внедрение некоторых элементов ИИ позволит разработчикам здорово сократить время на рутину. Автоматические инструменты рефакторинга, различные автоподстановки, генераторы кода позволили существенно увеличить производительность разработчиков. Еще более умные ассистенты, встроенные в IDE, смогут вывести эту автоматизацию на новый уровень. Также стоит отметить, что постоянно увеличивается спрос на специалистов в машинном обучении, поэтому, скорее всего, этот навык скоро пригодится большинству традиционных программистов.

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

Артем Чернодуб, Chief Scientist в Clikque Technology, доцент УКУ

Об опасениях

Технологии искусственного интеллекта действительно развиваются, что делает возможным автоматизировать решение задач, которые раньше выполнялись исключительно людьми, homo sapiens. Очень хорошо, что этот высокотехнологичный процесс происходит, в том числе и у нас, в Украине — я навскидку могу вспомнить сервис Flawless App Ахмеда Сулеймана и Лизы Дзюбы для отладки визуального дизайна мобильных приложений, а также магистерский диплом Анатолия Стегния, посвященный генерации кода программ по текстовым описаниям, защищенный в этом году в УКУ.

Об ограничениях машинного обучения

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

В свое время появление Smalltalk и C++ произвели революцию в индустрии за счет использования новой парадигмы объектно-ориентированного программирования. Потом появление визуальных сред Visual Basic и Delphi позволило упростить и ускорить процесс разработки пользовательских интерфейсов, появление Java со встроенным механизмом «уборки мусора» позволило значительно ускорить разработку по сравнению с С++ и так далее. Однако все эти прорывы не снижали количество разработчиков в целом, и оно продолжалось увеличиваться вместе с развитием информационных технологий и их проникновением в повседневную жизнь. Проблемы с трудоустройством появлялись только у тех, кто не хотел идти в ногу со временем, осваивая новые идеи.

О роли программистов в будущем

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

Подобные «умные» алгоритмы в некоторых местах значительно отличаются от «обычных» алгоритмов, и этому нужно специально учиться. Более конкретно, рекомендую следующие 5 книг по машинному обучению, а также онлайн курсы по Data Science/Machine Learning/Neural Networks на Coursera/Udemy/Udacity/Prometheus или поступать к нам на магистерскую программу Data Science в УКУ.

Александр Романко, старший научный сотрудник IBM Canada, профессор Университета Торонто

Об опасениях

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

Об ограничениях машинного обучения

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

О роли программистов в будущем

Такие направление в IT как Data Science, искусственный интеллект и аналитика будут долгое время оставаться востребованными.

Андрей Яворский, VP Engineering в GlobalLogic

Об опасениях

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

Профессия программиста, как впрочем и множество других профессий, изменяется и эволюционирует с развитием технологий, общества, экономических потребностей. Задачи и навыки врачей, водителей, финансистов сегодня и 100 лет назад отличаются драматически. Технологии, которыми пользовались профессиональные программисты в 70-х, 90-х, 2000-х, и задачи, которые им приходилось решать, с тех пор сильно изменились.

Тем не менее, это не столько проблема, сколько окончание очередного жизненного цикла технологий, за которым последует появление новых технологических вызовов и необходимость в инженерах, способных их решать. Для людей, не останавливающихся в своем профессиональном развитии, подобный переход пройдет незаметно. За последние 10-15 лет мы наблюдали не один такой цикл.

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

Об ограничениях машинного обучения

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

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

О роли программистов в будущем

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

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

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

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

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

Олександр Краковецький, CEO DevRain Solutions, Ph.D., CTO ДонорUA

Про побоювання

Не потрібно переживати щодо конкуренції. Якщо колись і настане день, коли штучний інтелект зможе виконувати роботу розробників програмного забезпечення, то це станеться не дуже швидко.

По-перше, в усьому світі катастрофічно не вистачає ІТ-спеціалістів, і з кожним роком ця тенденція стає дедалі гіршою. Передусім не вистачає саме спеціалістів з Machine Learning та Data Scientists. У свою чергу, розвиток хмарних технологій, IoT, блокчейну та криптовалют створив величезний запит на нові професії та навики. Коли все перепишуть на блокчейн, вже з’явиться умовно «новий і покращений blockchain 2.0» і «3.0 beta», і всі одразу захочуть мігрувати туди. Це безперервний процес, допоки людство не стане цивілізацією другого або третього типу, але і після того можливі неприємні нюанси, не пов’язані зі штучним інтелектом, — або метеорит жахне, або Сонце вибухне, або українці знову виберуть якогось пришелепкуватого президента.

По-друге, є гарний вислів Вільяма Гібсона: «Майбутнє вже тут, воно просто нерівномірно розподілене». Десь вже запускають 5G, а у нас і 3G ще досить погано працює. Дуже багато корпорацій до сих пір сидять на Delphi та екселі з макросами, тому необхідність підтримувати ці системи ще довго буде гальмувати впровадження та використання штучного інтелекту.

Про обмеження машинного навчання

Ще не так давно говорили, що з приходом хмарних сервісів адміни стануть непотрібними, а вже через 5 років «нові адміни», або як їх тепер називають — девопси, — мають одну з найвищих зарплат серед ІТ-спеціалістів (маю на увазі США, в першу чергу).

Про роль програмістів у майбутньому

Програмісти без роботи точно не залишаться, хоча процес програмування та процес роботи звісно зміняться.

Что же делать разработчикам

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

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

Похожие статьи:
Привіт, мене звати Мар’ян Дмитрів. За 15 років я пройшов шлях від джуніор девелопера до Product Manager-а. Крім того займався викладанням,...
DOU продовжує серію оглядів регіонального ІТ-ринку України. Раніше ми вже розповідали, як живе ІТ-спільнота Вінниці. Цього разу...
Український інтернет-супермаркет Rozetka розпочав роботу на ринку Польщі. Поки що сайт rozetka.pl працює в тестовому режимі, про...
Рішення про найм програмістів...
ЗСУ розбили російську армію під Ізюмом, а кількох російських пропагандистів оголосять...
Яндекс.Метрика