Программирование 10 лет спустя: мы протёрли пыль с хрустального шара

в 9:01, , рубрики: 256, ruvds_статьи, день программиста, праздник, Программирование
— Скажи триста!
— Триста
— С днём программиста!

Предсказывать что-либо — дело неблагодарное, последние лет пять преподали нам отличный урок. Однако, если вы встретите программиста конца 80-х — начала 90-х, то он наверняка расскажет вам, сколько раз за 30 лет умирала страшно невостребованная профессия программиста. Её убивали декларативные языки, платформы разработки, low-code, no-code, теперь очередь AI. А программисты знай себе живут, раскаляют рынок зарплат, придумывают новые языки программирования и пишут тот самый искусственный интеллект, который и должен уничтожить программирование как деятельность. Потому что знают — здесь, как с врачами скорой помощи: что бы в мире ни случилось, без разработчиков ничего не обойдётся. Или… нет? В общем, давайте посмотрим в будущее. Мы под это дело даже КДПВ нагенерили (надеемся, вы не генерируете код, который выглядит, как этот кот).

Программирование 10 лет спустя: мы протёрли пыль с хрустального шара - 1


Начнём, конечно, с главного. Ну как с главного — с самого заметного и обсуждаемого. Как известно, пустая бочка громче всех звенит.

Программирование и его верный убийца AI

Искусственный интеллект будет идти рядом с программистами — это факт. Есть немалая вероятность, что он заменит кодеров — тех самых ребят, которые в офисах и на удалёнке мастерски ищут по GitHub и Stack Overflow, чтобы принести найденные зёрна разумного в свой код и в свой проект. Однако, если вы способны спроектировать решение, самостоятельно подумать над кодом, не ленитесь рефакторить, AI вас не заменит. Только человеческий мозг способен понять, как удобно человеку и что именно он хочет, а потом переложить это в код, понятный машине.

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

В целом, ситуация с искусственным интеллектом напоминает ситуацию с low-code и no-code — во-первых, его тоже кто-то должен разрабатывать, а во-вторых, нужно понимать работу алгоритмов, логику работы программы, уметь точно сформулировать запрос, чтобы с такими системами эффективно взаимодействовать.

У человека есть одна великая ценность, которую вряд ли удастся воспроизвести в нейросети, — это критическое мышление. Оно будет определяющим для программистов в будущем (неплохо бы, чтобы было определяющим и в настоящем). А вот если коду, созданному AI, начнут доверять менеджеры и руководители, а нейросети по доступности к обучению станут вторым Python-ом (а это уже есть), нас ждёт много неприятных тенденций в IT. 


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

Роль программиста

Вполне возможно изменится сам паттерн программирования — то есть то, как мы программируем. Но неизменным останется запрос на разработчиков, которые:

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

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

Кстати, о востребованности. Через 10 лет рынок окончательно насытится code monkey, бегущими в ИТ за деньгами, и им уже не удастся урвать жирный кусок зарплаты. Распределение станет более справедливым и каждый будет получать не за факт умения написать код, а за факт умения самостоятельно написать хорошо работающий код — согласитесь, разница есть. 

Революция в образовании

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

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

Между тем, будет продолжаться сближение компаний и вузов. Компании (частные ли, государственные) здесь выступают заказчиками и в их интересах получить готовых выпускников, которых можно сажать на рабочее место. А значит, будут развивать совместные программы, создавать условия для развития и растить своих сотрудников чуть ли не со школьной скамьи. Однако отбирать будут сильных, поэтому стоит постараться. И да, олимпиадное программирование и высшая математика — не такая уж фигня, поверьте.

Программирование в каждый дом

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

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

Квантовые вычисления и наука

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

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

Единый язык программирования

Пожалуй, признать факт его появления в ближайшее десятилетие стало бы самым утопическим прогнозом. А мы всё-таки реалисты, поэтому с уверенностью заявляем: не появится даже зачатков единого адекватного языка программирования. И вовсе не потому, что легаси и не легаси на всех языках от Cobol до Go придётся поддерживать много-много лет. Дело в том, что сейчас наоборот тренд на доменные языки программирования, то есть запрос скорее на лаконичные языки с внятным синтаксисом, которые смогут быстро и легко решать локальные проблемы и задачи: свой язык программирования для МРТ, свой — для написания интернет-магазинов, отдельный — для задач DevOps и проч. Это могут быть самостоятельные языки или надстройки над существующими. Впрочем, это тоже маловероятная перспектива. Скорее всего, к набору языков будет добавляться как-то новый и вся новизна и сенсация будет заключаться в том, что поменяются позиции в индексе Tiobe и в отчёте Octoverse (разработчикам PHP и Javascript можно не беспокоиться — эти двое вечны).

Новые языки будут чувствительны к запросу на безопасность — год от года инфобез будет становиться всё более важным, ключевым элементом разработки. Уже существующие DevSecOps будут неизбежно перестраиваться в DevSec и отдельно в DevOps, а разработчику помимо языка программирования и алгоритмов придётся плотно и глубоко изучать железо, сети, инфраструктуру. Только так можно будет проектировать безопасные приложения. И да, увы, с каждым годом мастерство хакеров и мошенников будет расти, отрасли разработки придётся успевать за этим развитием «тёмной материи». 

Так что делать?

Если вы опытный разработчик, развиваться, расти, наращивать хард скилы, делать то, что вы любите. И тогда вам будет совсем без разницы, что там станет со сферой разработки через 10, 15, 20 лет — вы всегда найдёте свою роль и будете востребованы.

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

Если вы ребёнок или родитель ребёнка и думаете о том, что программист — одна из лучших по соотношению трудозатрат и уровня дохода профессий, вы правы. Но это серьёзный труд, который без желания и определённых склонностей может превратиться в личный ад — вы и высот не достигнете, и себя измучаете. Мир прекрасен с программированием, но он не сошёлся на программировании: возможно, стоит выбрать дело по душе и стать в нём уникальным специалистом. Если же это «ваше», то начинать можно и в 5, и в 7, и в 14, и в 18 лет — вы быстро освоитесь в мире разработки и сможете стать специалистом высокого уровня. Главное, понимать, за чем вы гонитесь и не романтизировать профессию. По опыту, в каждой профессии есть доля романтики, но, в основном, рутина и обязательные задачи — и это нормально.

Всех настоящих, бывших, будущих программистов — с днём программиста! Преобразуйте действительность с помощью кода, сейчас для этого лучшее время.

Автор: ru_vds

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js