В 2017 году спрос на блокчейн-разработчиков рос вместе с курсом биткоина. Количество вакансий снизилось, когда рынок разочаровался в новой технологии. Вместе с представителями Mail.ru Cloud Solutions, Red Hat, Acronis, «Рексофт», SEMrush и Bilderlings разобрались, какие технологии популярны сейчас и на изучение чего стоит тратить время.

Облака, контейнеры и микросервисы


Расходы компаний на облачные сервисы скоро пересекут отметку в 1 млрд долларов. В дальнейшем рынок будет расти примерно на 15% ежегодно.

Одна из наиболее популярных облачных платформ — это OpenStack, на которой мы строили свое облако. Есть множество форков, есть какие-то проприетарные версии OpenStack от разных вендоров, начиная с Red Hat и HP, заканчивая IBM. Но начать обучение стоит с «ванильного» OpenStack.

Николай Бутенко, архитектор в Mail.ru Cloud Solutions

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

Есть несколько популярных систем контейнерной оркестрации (управления контейнерами), например, очень популярен Kubernetes. Есть более высокие уровни абстракции, вендорские решения, где в лидеры выбивается OpenShift от Red Hat. Знакомство с технологией контейнеризации стоит начать с Docker, собрав простой кластер на Docker Swarm. Это базовые вещи, с них стоит постигать азы, а после этого переходить к серьезным контейнерным оркестраторам.

Николай Бутенко, архитектор в Mail.ru Cloud Solutions

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

Сейчас набирает популярность язык программирования Go — именно на нем написана платформа Red Hat OpenShift. Еще есть бессерверные вычисления, в их основе функции, которые запускают на контейнерной инфраструктуре. Они требуют новых подходов к разработке, в последние годы поставщики гибридных и публичных облачных сред много сделали для того, чтобы облегчить задачу написания и использования облачных функций.

Владимир Карагиоз, руководитель группы архитекторов по решениям Red Hat

Технологии на основе Python


Есть несколько перспективных сфер, которые условно можно объединить по ключевому требованию к разработчику, — он должен отлично знать Python. Это задачи, связанные с машинным обучением, нейронными сетями, искусственным интеллектом и глубинным обучением.

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

Николай Сокорнов, директор департамента разработки ПО «Рексофт»

О перспективности машинного обучения говорит и старший программист группы разработки карты рассрочки «Совесть» Дмитрий Вдовин, упоминая про инновации. В качестве примера он приводит развитие голосовых помощников Siri, Алисы, Маруси. Они работают на основе машинного обучения.

Базовые знания никогда не выйдут из моды


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

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

Антон Тужик, Frontend Developer SEMrush

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

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

Есть базовые языки, которые дают общий бэкграунд. Есть JavaScript — языку много лет, в рамках него много библиотек и фреймворков. Сейчас с него многие переходят на TypeScript, который тоже как бы надстройка над JavaScript. И я не знаю, насколько реально начать писать на TypeScript, не владея изначально JavaScript. Так со многими модными языками программирования — под капотом находятся базовые языки.

Юрий Мейталов, руководитель IT-отдела Bilderlings

Кривая хайпа и стабильность спроса


Архитектор платформы Acronis Анна Мелехова считает, что многие технологии в IT проходят через кривую хайпа (Hype Cycle). Сначала появляется огромная востребованность в разработчиках, технологию пытаются использовать во множестве отраслей. Затем спад, количество вакансий сокращается. И стабилизация — бизнес понимает, где технология действительно пригодится, а где лучше использовать другие решения.

В качестве примера Анна приводит блокчейн. Пару лет назад он был в моде, а сейчас по кривой хайпа приближается к дну — он не оправдал ожиданий. При этом архитектор уверена: блокчейн в итоге займет свое место, и специалисты в нем будут востребованы, просто не так массово, как на вершине хайпа.

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

Анна Мелехова, архитектор платформы Acronis

Что будет востребовано в IT в 2020-х


  1. Облака, контейнеры и микросервисы: VMware, OpenStack, Kubernetes, Docker Swarm.
  2. Python для создания нейросетей и машинного обучения.
  3. Всегда нужны базовые знания основ: computer science, алгоритмы, структуры данных, паттерны проектирования, абстракции, методологии программирования.
  4. Спрос на хайповые технологии со временем может падать, но если технология полезна, то займет свою нишу на рынке.


Что еще почитать:

  1. Какой язык программирования учить, чтобы за вами охотились HR крупных компаний.
  2. Иллюстрированное руководство по инструментам командной строки.
  3. Наш канал в Телеграме о цифровой трансформации.