четверг, 18 апреля 2019 г.

Результаты опроса Stack Overflow: какие языки программирования популярнее, а за какие больше платят

И чем результаты в 2019 году отличаются от результатов прошлых лет.


Каждый год сайт Stack Overflow проводит опрос разработчиков, собирая данные по целому ряду вопросов: от отношения к удалённой работе до используемых IDE. В нём принимают участие десятки тысяч человек, так что на размер выборки не пожаловаться. На прошлой неделе появились результаты за 2019 год, и мы решили разобрать интересные числа оттуда.
Для начала нужно сделать оговорку. «Большая выборка» не означает автоматически «репрезентативная», в ней могут быть свои перекосы. И если присмотреться к результатам, заметны странные скачки: например, в прошлом году о наличии детей сообщили 29% респондентов, а в этом 39%. Вряд ли это говорит о том, что за год в ИТ произошёл гигантский беби-бум — скорее, что-то оказалось иначе с выборкой или методологией.
Поэтому из результатов опроса стоит делать не детальные выводы, а общие. Если в списке популярности язык X на одну строчку выше языка Y, не стоит уверенно говорить о его превосходстве, разница может быть случайной. Но если эти строчки — вторая и третья, можно уверенно говорить «оба языка очень популярны».
И хотя проще всего обсуждать изменения по сравнению с прошлым годом («смотрите, TypeScript обошёл C»), на самом деле показательнее то, что не поменялось. Изменения могут быть разовой флуктуацией, а вот если что-то подтверждается год за годом, это уже больше похоже на реальное положение дел. Поэтому мы в первую очередь рассмотрели неизменные вещи, а затем уже перешли к «новостям».

Вечные ценности



Нет особого сюрприза в том, что самым популярным языком программирования в очередной раз был назван JavaScript. Но опрос Stack Overflow интересен тем, что не ограничивается вопросом «какими языками разработчики пользуются», а задаётся и такими:
  • какими языками хочется продолжать пользоваться? (так формируется список «самые любимые»)
  • какими хочется перестать пользоваться? («ненавистные»)
  • какие хочется начать использовать? («самые желанные»)
И если в списке самых востребованных у JavaScript нет конкурентов, то в «самых любимых» он далёк от вершины, которую четвёртый год подряд занимает Rust. Это уже интереснее: о Rust можно услышать гораздо реже и его победа куда менее очевидна.
Возможно, малая известность языка тут как раз помогает: его используют только те, кому этого по-настоящему хочется, так что почти все отзывы оказываются от энтузиастов языка, делая его «самым любимым». А вот от JavaScript сложно спрятаться, его волей-неволей используют даже недовольные разработчики, и их негативные отзывы ухудшают статистику.
По списку «ненавистных» видно, что разработчикам хочется сбежать от легаси: среди того, что они хотят перестать использовать, в последние годы оказывались Visual Basic 6, COBOL и тому подобное. А лидером списка «самые желанные» (то есть «пока не использую, но хотел бы») уже не первый год подряд оказывается Python.
Кроме этих списков, есть ещё и «зарплатный»: разработчикам на каких языках больше платят. Авторы дают его с осторожной формулировкой «какие языки ассоциируются с высокими зарплатами», а также оговариваются, что многое зависит от региона (по США предоставляют отдельные данные, а вот по России нет). Но всё равно любопытно: какой язык учить выгоднее всего?
Единого устойчивого лидера нет (в этом году первое место в мире у Clojure, а в США — у Scala; год назад мировым лидером был F #, а американским — Erlang). Зато по этим четырём названиям можно заметить единую устойчивую тенденцию: самыми высокооплачиваемыми оказываются функциональные языки. Похоже, в их случае особенно высок дефицит кадров.
Если после предыдущего абзаца вы бросили все дела и лихорадочно вбиваете в Google запрос «онлайн-курс по функциональному программированию», сначала обратите внимание на ещё один фактор, объединяющий все четыре перечисленных языка: ни один из них не входит в десятку самых популярных. А это означает, что зарплаты-то могут быть высокими, но список возможных мест работы будет очень ограничен.
Например, на момент сочинения этого текста HeadHunter находил в Москве всего одну открытую вакансию Clojure-разработчика. Со Scala дела получше, там счёт идёт хотя бы на десятки, но до JavaScript в любом случае очень далеко.


Самые популярные среды разработки
А что помимо языков?
Любопытным получается распределение «какую ОС использует разработчик в качестве основной на своём компьютере». Примерно половина сидит на Windows, другая половина почти поровну делится между macOS и Linux.
Это хорошая возможность скорректировать ошибочные впечатления: если смотреть на внешние признаки вроде «с какими ноутбуками выступают докладчики на ИТ-конференциях», может показаться, что Mac в разработке составляют большинство.
Список «самые популярные среды разработки» возглавляет Visual Studio Code. Вероятно, помогает и то, что этот редактор используют для совсем разных языков, и то, что его зачастую используют «в дополнение» к основной IDE.
А второй строчкой идёт Visual Studio, так что у Microsoft получилось занять обе лидирующих позиции сразу. Означает ли это, что все остальные компании бесконечно отстали? Не совсем: в списке целый ряд IDE на платформе IntelliJ от JetBrains (IDEA, PyCharm, PhpStorm, RubyMine, Android Studio), так что суммарная аудитория в их случае тоже высокая.
80% респондентов заявили, что кодят не только по работе, но и как хобби. Однако большинство практически ничего не выкладывает в открытый доступ. Чаще всего контрибьютят те, кто пишут на языках вроде тех же Rust и Clojure. Видимо, когда используешь нишевый язык, вместо простого «возьми библиотеку с GitHub» приходится сначала самому её на GitHub и положить.
Примерно 75% работают полный рабочий день, а 10% приходится на разнообразный фриланс и самозанятость (оставшееся — парт-тайм, пенсионеры, безработные).
Любопытны ответы на вопрос «что для вас важнее всего при выборе работы». Раньше в нём лидировала зарплата, но в этом году Stack Overflow изменили формулировку: «если есть две вакансии с одинаковой зарплатой, что учтёте при выборе между ними».
В целом победил вариант «с какими языками и технологиями надо будет работать», но при гендерном разделении всё оказывается хитрее: «мужской» ответ остаётся тем же, а вот для женщин на первом месте культура компании.
Склонность программистов прыгать с одного места работы на другое проявилась и в этом опросе: в вопросе «как давно вы меняли работу» лидирует вариант «меньше года назад». А на вопрос «ищете ли сейчас» 60% ответили «активно не ищу, но открыт к новым возможностям».

Главные тенденции по мнению Stack Overflow



С неизменными вещами разобрались — теперь давайте посмотрим, что в этом году изменилось.
Есть выводы, сделанные самими составителями опроса, приведём их и сопроводим комментарием.
  • Python — самый быстрорастущий язык из числа популярных, и в этот раз он обошёл Java, а заодно занял вторую строчку в списке «самых любимых языков» (после Rust).
Комментарий: как мы писали, конкретные места могут быть не самыми точными (как именно Python соотносится с Java и Rust, ещё вопрос), но в результатах опроса этот язык растёт не первый год подряд — и вот это, видимо, действительно тенденция.
  • Более половины респондентов к 16 годам уже написали свою первую строчку кода, но это ощутимо варьируется в зависимости от пола и региона.
  • Site reliability engineers и DevOps-специалисты — в числе самых высокооплачиваемых, самых опытных и самых довольных своей работой, а новую работу ищут меньше других.
Комментарий: тут есть сложность с тем, что DevOps-специалист — размытый термин, о его уместности ведутся споры, и разные люди могут понимать под ним разное.
  • Китайские разработчики оказались самыми оптимистичными: они верят, что сегодняшним детям будет житься лучше, чем их родителям. А в Западной Европе (например, Франции и Германии) наиболее пессимистичны в отношении будущего.
Комментарий: учитывая истории вроде недавнего репозитория 996, китайские ответы могут означать «мы в аду, хочется верить, хоть детям попроще будет», поэтому называть их «самыми оптимистичными» — довольно спорное решение.
  • Разные разработчики считают разные вещи главной помехой продуктивности: мужчины чаще называют «рабочие задачи, не связанные с самой разработкой», а женщины и меньшинства больше говорят о «токсичном рабочем окружении».
  • Сам сайт Stack Overflow экономит разработчику от 30 до 90 минут в неделю.
Комментарий: а вот это манипуляция данными, похожая на анекдот «интернет-опрос показал, что 100% людей пользуются интернетом». Следите за руками: о том, сколько времени экономит Stack Overflow, разработчики отвечали в опросе, проведённом на Stack Overflow.
То есть выборка совсем не случайная: чем чаще человек заходит на SO и чем более лоялен сайту, тем выше вероятность, что он потратит время на опрос. Делать по такому выводы (даже осторожные) обо всех разработчиках очень некорректно.

Другие тенденции



Помимо того, о чём написали составители опроса, можно заметить и другие отличия от прошлогодних результатов.
Языки, доля которых выросла (это может объясняться случайностью, но похоже на правду): помимо упомянутого Python, такими стали TypeScript, Go и Kotlin.
Новая строчка в списке языков — WebAssembly. C решением назвать эту технологию «языком» многие поспорили бы, но любопытно, что она попала также в списки «самые любимые» и «самые желанные» — в общем, тут новое заметное явление.
Если вас эта новая звезда тоже интересует и хочется технических подробностей — у нас на конференции HolyJS был доклад об использовании WebAssembly в продакшене, и мы делали его текстовую версию для тех, кому удобнее читать.
Среди фреймворков главная новая звезда, которую пока что мало кто использует, но многим хочется — Flutter. О нём у нас тоже был доклад.
Есть вопросы, которые в прошлые годы вообще не задавали, так что тут не сравнить с предыдущими результатами. В их числе — использование блокчейна. 80% заявили, что в их компаниях эту технологию никак не используют, а среди остальных респондентов большинство заявило об использовании «для задач, не связанных с криптовалютой».
Стоит отметить: число ответивших на этот вопрос ниже среднего (в целом в опросе поучаствовало более 88 тысяч человек, но про блокчейн ответили только 48 тысяч). Напрашивается предположение, что на него чаще отвечали те, в чьих компаниях блокчейн используется — а значит, реальное значение «мы этим не пользуемся» куда выше 80%.
Отвечая на вопрос «считаете вы себя как разработчика выше или ниже среднего уровня», 67% сказали, что они выше среднего. Авторы опроса демонстрируют это как свидетельство завышенной самооценки разработчиков — мол, раз выборка большая, то настоящее «выше или ниже» должно быть примерно 50 на 50. Но вообще-то есть и другой вариант объяснения: возможно, люди, ощущающие себя ниже среднего, реже участвуют в опросах и реже отвечают на подобные вопросы.


Интересный пункт про использование соцсетей: где ещё найдёшь всемирный опрос, в котором лидирующим социальным сервисом окажется не Facebook, а Reddit? На втором месте YouTube. 6.6% набрал вариант «не пользуюсь социальными сетями», а 0.7% — «VK ВКонта́кте» (видимо, незнакомым с соцсетью создателям опроса пришлось копировать название из «Википедии», поэтому оно с ударением).
В случае с удалённой работой любопытно соотнести «что есть сейчас» с «чего разработчики хотят». Если читать жалобы разработчиков в Twitter, может сложиться ощущение, что все они ненавидят офисы и мечтают работать из дома — а что на самом деле?
Оказывается, большинство (58%) за офис. Но при этом сейчас удалённо работают около 12% респондентов — то есть куда меньше тех 42%, которые в принципе хотели бы это делать. Значит, есть неудовлетворённый спрос на работодателей с удалёнкой, и если вы работодатель, можете так получить конкурентное преимущество.
Наконец, ещё один интересный вопрос — «кто в этом году будет самой влиятельной личностью в технологическом мире». С большим отрывом лидирует Илон Маск (30.2%), за ним следуют Джефф Безос (7.2%) и Сатья Наделла (4.4%), а потом идут варианты «я» и «Дональд Трамп».
Без Дэна Абрамова список тоже не обошёлся (когда опрашивают разработчиков, а среди языков лидирует JavaScript, неудивительно). Кроме него, фигурирует ещё один человек, родившийся в России — Виталик Бутерин. А ещё два имени из списка нам (JUG.ru Group) особенно близки.

Джон Скит

Ну, в случае с этим опросом он в выгодном положении: его прославили как раз ответы на Stack Overflow, неудивительно, что пользователи SO его ценят. Но в .NET-мире он заметен и в отрыве от Stack Overflow (как автор книг, спикер, блогер), и мы с ним связаны как раз благодаря этому: он выступал на нашей конференции DotNext.

Ричард Столлман

Главный активист свободного программного обеспечения — противоречивая фигура: кто-то скажет, что он излишне радикален и в 2019-м уже ни на что не влияет, а кто-то возразит, что это ему мы обязаны нынешним бумом опенсорса, без которого сейчас в сотый раз переписывали бы старые «велосипеды».
Так или иначе, легендарного статуса у Столлмана не отнять. А в этом году он побывает в России: в августе выступит на нашем петербургском ИТ-фестивале TechTrain. Там можно будет лично задать ему вопрос и составить впечатление по собственному опыту, а не буквам из интернета.

Комментариев нет:

Отправить комментарий

Представлена новая версия архитектуры процессоров для гаджетов — ARM v9

 Новая версия микропроцессорной архитектуры, используемой в миллиардах устройств по всему миру, представлена британской компанией ARM Limite...