
И для людей, обучающихся программированию, и для опытных разработчиков программного обеспечения изменения происходят постоянно. Всегда есть чему поучиться. Это включает языки программирования, веб-фреймворки, автоматизацию DevOps, мобильные устройства, интерфейсную и внутреннюю разработку, базы данных SQL и NoSQL и так далее.
Я занимаюсь разработкой 18 лет. Даже когда я пишу это, я изучаю обработку естественного языка, инженерное управление, Elixir, Docker и многое другое. Это никогда не кончится.
Но опять же, может быть, это одна из вещей, которые в первую очередь интересовали вас в кодировании. Это наплыв начального «Hello World», который заставляет вас одновременно чувствовать себя творческим и сильным. Приятно ощущать это снова и снова, когда мы работаем с новыми технологиями.
Как веб-разработчик-самоучка, который любит изучать новые технологии, этот аспект разработки программного обеспечения всегда восхищал меня.
Несколько лет назад мне стало любопытно определять новые технологии и предсказывать их. Итак, я создал Hacker News Hiring Trends, или сокращенно HN Hiring Trends. Hacker News - одна из самых популярных форумов для программистов. Это также одно из лучших мест для знакомства с новыми технологиями. Каждый месяц Hacker News публикует ветку под названием Спросите HN: Кто нанимает? Пользователи также публикуют в этой теме предложения о вакансиях в своих компаниях.
Тот факт, что эти вакансии публикуются ежемесячно и что большинство из них поступают от стартапов (новые технологии обычно создаются или используются в стартапах), делает эту среду идеальной для сбора данных. Данные, которые можно использовать для выявления тенденций.
Хотя уже существовали проекты, отслеживающие тенденции языков программирования, такие как Индекс языков программирования TIOBE и Рейтинг языков программирования RedMonk, чего-то не хватало. Основное внимание уделялось исключительно языкам программирования. Сегодня, когда в создание программного обеспечения так много людей, языки программирования - лишь один из многих вариантов. Google Trends служит еще одним источником вдохновения. Но это весь Интернет. Опять же, сообщения HN каждый месяц представляют конкретный набор данных.
А теперь давайте рассмотрим последние тенденции.
Быстрый рост React

На данный момент это мир React. Он занимает первое место в рейтингах как за июнь, так и за июль 2017 года. React, популярная библиотека JavaScript, созданная Facebook и, вероятно, не нуждающаяся в представлении сообществу freeCodeCamp, была открыта всего четыре года назад. Он уже поднялся на вершину чарта. Хотя это было наиболее заметным за последние пару месяцев, это также тенденция, которая проявляется в течение некоторого времени. В июне 2016 года React занял 2-е место в рейтинге, и ситуация становилась все жарче. Он впервые занял первое место в ноябре 2016 года.
Бедственное положение разработчика JavaScript

Скорость, с которой растет React, поражает. Это также говорит о более широкой тенденции в сообществе JavaScript. Разработчики JavaScript принимают изменения больше, чем разработчики в других областях разработки программного обеспечения. Когда мы начали отслеживать данные, внедрение AngularJS резко взлетело на графике, как ничто другое до этого. Но AngularJS не смог сохранить свой темп. Последние три года он снижается. Также упали некогда горячие JavaScript-фреймворки и библиотеки. Сюда также входят Backbone.js, jQuery и CoffeeScript. CoffeeScript вообще исчез в публикациях за июль 2017 года.

История не благосклонна к фреймворкам и библиотекам JavaScript. Но там, где есть постоянные изменения, есть возможности и для разработчиков. Мы видим, что это продолжение относительного новичка Vue.js, который начинает свое восхождение вверх по диаграмме.
Кроме того, по мере того, как интерфейсная разработка становится все более специализированной и сложной, появился целый новый набор инструментов, позволяющих склеить воедино различные части современного приложения JavaScript. Примерами таких набирающих популярность трендов являются webpack, Gulp и Bower.

Битва за серверную часть

Хотя сообщество JavaScript предлагает больше всего фейерверков, стоит следить за многими другими тенденциями. В битве на стороне сервера Node.js и Ruby on Rails участвовали в этом уже много лет. Их двусторонняя конкуренция очень высока. В июле 2017 года мы стали свидетелями значительной победы Node.js, в то время как Rails показал сильные результаты в июне 2017 года. Так что этот вопрос давно закончился.
PostgreSQL явный победитель базы данных

Выбор технологии базы данных - самый безопасный вариант в стеке. Есть много вариантов для взрослых. Базы данных, особенно реляционные базы данных, такие как MySQL и PostgreSQL, существуют всегда. Они часто дольше других слоев в приложении. Тем не менее, явным победителем в этом рейтинге был PostgreSQL. Теперь он не только доминирует над MySQL, но и превосходит MongoDB. И с таким же перевесом. Я был удивлен, что Heroku запустила свой PaaS с PostgreSQL в качестве основного движка базы данных.
Говоря о MongoDB, его популярность, похоже, исчисляется. Я сомневаюсь, что PostgreSQL спас реляционную базу данных от революции NoSQL. Или концепция выгорела из-за того, что разработчики вернулись к более безопасным решениям?
Эволюция мобильной связи

Не так давно, а точнее, ноябрь 2016, iOS входила в десятку лучших по найму. Постоянно входящие в топ-20, iOS и Android по-прежнему являются важными навыками разработки, которые ищут менеджеры по найму. Но, во главе с React Native, наблюдается сильный сдвиг от нативной мобильной разработки к гибридной. В последние месяцы React Native обогнал Swift, основной язык программирования для разработки под iOS.
Внедрение контейнеров в DevOps

DevOps - еще одна горячая область в последние годы. Это также топ-10 терминов по размещению вакансий, причем контейнеры являются движущей силой этого роста. Под контейнерами большинство думает Docker, который быстро набирает обороты и приближается к десятке лучших. Но есть еще Kubernetes. Он отсутствует в течение двух лет и уже приближается к первой двадцатке. С ростом количества контейнеров, упрощающих управление конфигурацией и развертыванием, виртуальные машины становятся все более популярными. Об этом свидетельствует снижение популярности Vagrant как инструмента среды разработки.
Фреймворки приходят и уходят, но языки никогда не умирают
Конечно, языки программирования определяют большую часть того, что мы делаем как разработчики. Но из 20 лучших терминов июля 2017 года только 5 являются языками программирования:
· Python (# 2)
· JavaScript (# 3)
· Java (# 8)
· Рубин (№13)
· C++ (#20)
Но эти языки с самого начала были на вершине списка. Первый отчет, выпущенный в июне 2013 года, показывает, что JavaScript, Python, Java и Ruby входят в десятку лучших. Поскольку наверху остается несколько языков, это не означает, что ничего не происходит. Несколько языков, появившихся за последние несколько лет, набирают обороты, например Go, Elixir, Rust и Kotlin.

Следующая большая вещь

Каким был бы анализ тенденций сегодня без включения искусственного интеллекта и машинного обучения? За последние несколько лет мы стали свидетелями того, как большинство крупных технологических компаний приступили к реализации крупных инициатив в области ИИ. От беспилотных автомобилей до домашних помощников - эти приложения находят свое применение в нашей жизни. Но что это значит для разработчиков?
Давайте взглянем. В июле 2017 года машинное обучение заняло шестое место и теперь упоминается в 12% всех публикаций. Судя по тенденциям, машинное обучение и ИИ пережили значительный скачок вверх. Это означает, что мне нужно открыть несколько новых вкладок.
Hacker News Hiring Trends выходит ежемесячно. Подпишитесь и будьте в курсе последних тенденций. У вас есть язык, фреймворк или библиотека, которых, по вашему мнению, не хватает? Оставьте комментарий ниже или в Твиттере. Также посетите ScoutZen, чтобы отслеживать тенденции и анализировать технические сообщества.