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


Немного о принципах составления рейтинга
Райан Вильямс, как он себя называет, “муж, отец и любопытный разработчик программного обеспечения”, опубликовал анализ своего рейтинга “Hacker News Hiring Trends”. Этот рейтинг он составляет ежемесячно на основе ветки обсуждений на Hacker News — популярном дискуссионном ресурсе для программистов. Пользователи этого сайта не только комментируют, но и размещают объявления о найме специалистов.
По словам Вильямса, ему было интересно определить, какие технологии активно развиваются, и попробовать предсказывать тренды. Ветка “Ask HN: Who is Hiring?” оказалась благодатной средой для сбора информации, ведь большинство объявлений там помещают стартаперы, а они зачастую разрабатывают и применяют самые передовые технологии.
Конечно, рейтинг, составленный Вильямсом, далеко не единственный и, может, не самый авторитетный. Например, есть Индекс TIOBE и Рейтинги RedMonk, но они отслеживают именно языки программирования, упуская различные технологии. Google Trends наоборот, охватывает весь Интернет в целом. Hacker News Hiring Trends Райана Вильямса ранжирует самые разнообразные навыки, на которые есть спрос, и делает это ежемесячно.
Итак, рассмотрим тренды.
Взлет React
Пятерка самых востребованных навыков выглядит так:
- React
- Python
- JavaScript
- AWS
- Full Stack
React это популярная библиотека JavaScript, созданная Фейсбуком. В августе это название упоминалось почти в 23% постов в ветке “Ask HN: Who is Hiring?”. Рост популярности React не назовешь внезапным: почти год назад, в июне 2016, он занимал второе место, а в ноябре 2016 — первое место в рейтинге.
Положение в сообществе JavaScript
Взлет React впечатляющий сам по себе, но он также говорит о трендах. Разработчики JavaScript чаще меняют свои предпочтения, чем их коллеги в других сферах. Кажется, совсем недавно мы могли наблюдать подъем AngularJS, но его позиции неспешно падают уже на протяжении трех лет. Также спад коснулся Backbone.js, jQuery и CoffeeScript, последний вообще исчез с радаров месяц назад.
История явно не была добра к фреймворкам и библиотекам JavaScript. Но там, где все постоянно меняется, есть хорошие возможности для разработчиков. Например, начинает восхождение относительный новичок Vue.js.
Кроме того, разработка фронт-энда становится более специализированной и сложной. Развивается целый набор инструментов для сборки разных кусочков новейших приложений на JavaScript. Среди таких инструментов сегодня в тренде webpack, Gulp и Bower.
Сражение «серверных» фреймворков
За соревнованием Node.js и Ruby on Rails мы наблюдаем уже годами, они идут ноздря в ноздрю, периодически сменяя друг друга на вершине чата. Аналогичные отношения у PHP и Django, но оби они значительно отстают от первой пары.
Кто лидер среди СУБД?
Выбрать для изучения какую-нибудь (а может, и не одну) систему управления базами данных — беспроигрышное решение, ведь они обычно переживают другие слои приложений. Навыки работы с базами данный весьма востребованы, особенно с реляционными, например MySQL и PostgreSQL. Последняя, кстати, лидирует в рейтинге с большим отрывом, оставив позади не только MySQL, но и MongoDB.
Любопытно, является ли повышенный интерес к PostgreSQL показателем большего доверия к реляционным базам данных или говорит только о популярности самой СУБД.
Эволюция Mobile
Еще в ноябре 2016 iOS была лидером десятки самых упоминаемых терминов. Она удерживает свои позиции, и вместе с Android входит в топ самых интересных для нанимателей скиллов разработчиков. Одновременно наблюдается сдвиг от собственно мобильной разработки к гибридной. В этом плане лидирует React Native. В последнее время он даже обгоняет Swift, первичный язык программирования в iOS-разработке.
Выбор контейнеров внутри DevOps
DevOps — еще одна мегапопулярная сфера в последние годы. Она также входит в топ-10 упоминаний терминов, чему немало способствуют контейнеры. Из них особо стоит упомянуть Docker, который является абсолютным лидером. Но уже два года наблюдается значительный рост Kubernetes, который уже входит в топ-20.
Наряду с ростом популярности контейнеров, облегчающих управление конфигурацией и развертыванием, идет спад интереса к виртуальным машинам. Это можно наблюдать на примере снижения популярности Vagrant как инструмента среды разработки.
Фреймворки приходят и уходят, а языки программирования вечны
В топ-20 самых упоминаемых терминов июля 2017 значатся пять языков программирования:
- Python (второе место);
- JavaScript (третье место);
- Java (восьмая позиция);
- Ruby (номер 13);
- C++ (замыкает двадцатку).
Впрочем, эти языки были в топе с самого начала (с 2013 года). Больший интерес вызывают несколько языков, представленных относительно недавно, например, Go, Elixir, Rust и Kotlin. Интерес к ним медленно, но растет.
Лидеры будущего
Чем был бы сегодняшний анализ без включения искусственного интеллекта и машинного обучения?
Последние несколько лет мы видим, что большинство крупных технических компаний выступают с инициативами в сфере ИИ. В нашу жизнь постепенно входят и самоуправляемые автомобили, и домашние роботы. Но что это значит для разработчиков?
Машинное обучение вышло на шестое место общего рейтинга и упоминается в 12% постов. Изучая динамику, можно сказать, что оно, наряду с ИИ, переживает резкий скачок, а значит, заслуживает более детального изучения.
[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]