В 2017 году спрос на блокчейн-разработчиков рос вместе с курсом биткоина. Количество вакансий снизилось, когда рынок разочаровался в новой технологии. Вместе с представителями Mail.ru Cloud Solutions, Red Hat, Acronis, «Рексофт», SEMrush и Bilderlings разобрались, какие технологии популярны сейчас и на изучение чего стоит тратить время.
Расходы компаний на облачные сервисы скоро пересекут отметку в 1 млрд долларов. В дальнейшем рынок будет расти примерно на 15% ежегодно.
Облака — это не только виртуализация, популярных и прикладных технологий гораздо больше. Например, разработка микросервисных архитектур, их оптимизация под реалии облака — приложение разбивают на много маленьких кусочков, таким образом, отказ одной части не влияет на работу приложения в целом. Такой принцип отлично работает с контейнеризацией: когда эти части приложений упаковывают в контейнеры, что позволяет их разрабатывать и обновлять независимо друг от друга, а также гарантировать, что приложение и в тестовой среде, и на проде будет работать одинаково.
Контейнеры и микросервисы перспективны, потому что меняют способ доставки и развертывания современных приложений. Они снижают зависимость от языков программирования, так как позволяют писать разные части приложения на разных языках — чаще на Java и Python.
Есть несколько перспективных сфер, которые условно можно объединить по ключевому требованию к разработчику, — он должен отлично знать Python. Это задачи, связанные с машинным обучением, нейронными сетями, искусственным интеллектом и глубинным обучением.
О перспективности машинного обучения говорит и старший программист группы разработки карты рассрочки «Совесть» Дмитрий Вдовин, упоминая про инновации. В качестве примера он приводит развитие голосовых помощников Siri, Алисы, Маруси. Они работают на основе машинного обучения.
Для любого IT-специалиста важнее не владение каким-то узкоспециализированным инструментом, а общее понимание сферы технологии. Ведь любая хайповая технология строится на фундаментальной базе.
С ним согласен Дмитрий Вдовин, по его словам, качество кода и скорость его исполнения у профессионального разработчика могут отличаться от любительских в десятки раз.
Но вне зависимости от того, на каком языке вы пишете или в какой области программируете, вам потребуется техническая база: знания структур данных, алгоритмов, паттернов и принципов проектирования. Базовые знания потребуются в любом случае, даже если вы решите перейти от чего-то стандартного к модной технологии.
Архитектор платформы Acronis Анна Мелехова считает, что многие технологии в IT проходят через кривую хайпа (Hype Cycle). Сначала появляется огромная востребованность в разработчиках, технологию пытаются использовать во множестве отраслей. Затем спад, количество вакансий сокращается. И стабилизация — бизнес понимает, где технология действительно пригодится, а где лучше использовать другие решения.
В качестве примера Анна приводит блокчейн. Пару лет назад он был в моде, а сейчас по кривой хайпа приближается к дну — он не оправдал ожиданий. При этом архитектор уверена: блокчейн в итоге займет свое место, и специалисты в нем будут востребованы, просто не так массово, как на вершине хайпа.
Что еще почитать:
Облака, контейнеры и микросервисы
Расходы компаний на облачные сервисы скоро пересекут отметку в 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-х
- Облака, контейнеры и микросервисы: VMware, OpenStack, Kubernetes, Docker Swarm.
- Python для создания нейросетей и машинного обучения.
- Всегда нужны базовые знания основ: computer science, алгоритмы, структуры данных, паттерны проектирования, абстракции, методологии программирования.
- Спрос на хайповые технологии со временем может падать, но если технология полезна, то займет свою нишу на рынке.
Что еще почитать: