И чем результаты в 2019 году отличаются от результатов прошлых лет.
Для начала нужно сделать оговорку. «Большая выборка» не означает автоматически «репрезентативная», в ней могут быть свои перекосы. И если присмотреться к результатам, заметны странные скачки: например, в прошлом году о наличии детей сообщили 29% респондентов, а в этом 39%. Вряд ли это говорит о том, что за год в ИТ произошёл гигантский беби-бум — скорее, что-то оказалось иначе с выборкой или методологией.
Поэтому из результатов опроса стоит делать не детальные выводы, а общие. Если в списке популярности язык X на одну строчку выше языка Y, не стоит уверенно говорить о его превосходстве, разница может быть случайной. Но если эти строчки — вторая и третья, можно уверенно говорить «оба языка очень популярны».
И хотя проще всего обсуждать изменения по сравнению с прошлым годом («смотрите, TypeScript обошёл C»), на самом деле показательнее то, что не поменялось. Изменения могут быть разовой флуктуацией, а вот если что-то подтверждается год за годом, это уже больше похоже на реальное положение дел. Поэтому мы в первую очередь рассмотрели неизменные вещи, а затем уже перешли к «новостям».
Вечные ценности
- какими языками хочется продолжать пользоваться? (так формируется список «самые любимые»)
- какими хочется перестать пользоваться? («ненавистные»)
- какие хочется начать использовать? («самые желанные»)
Возможно, малая известность языка тут как раз помогает: его используют только те, кому этого по-настоящему хочется, так что почти все отзывы оказываются от энтузиастов языка, делая его «самым любимым». А вот от 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).
- Более половины респондентов к 16 годам уже написали свою первую строчку кода, но это ощутимо варьируется в зависимости от пола и региона.
- Site reliability engineers и DevOps-специалисты — в числе самых высокооплачиваемых, самых опытных и самых довольных своей работой, а новую работу ищут меньше других.
- Китайские разработчики оказались самыми оптимистичными: они верят, что сегодняшним детям будет житься лучше, чем их родителям. А в Западной Европе (например, Франции и Германии) наиболее пессимистичны в отношении будущего.
- Разные разработчики считают разные вещи главной помехой продуктивности: мужчины чаще называют «рабочие задачи, не связанные с самой разработкой», а женщины и меньшинства больше говорят о «токсичном рабочем окружении».
- Сам сайт Stack Overflow экономит разработчику от 30 до 90 минут в неделю.
То есть выборка совсем не случайная: чем чаще человек заходит на SO и чем более лоялен сайту, тем выше вероятность, что он потратит время на опрос. Делать по такому выводы (даже осторожные) обо всех разработчиках очень некорректно.
Другие тенденции
Языки, доля которых выросла (это может объясняться случайностью, но похоже на правду): помимо упомянутого Python, такими стали TypeScript, Go и Kotlin.
Новая строчка в списке языков — WebAssembly. C решением назвать эту технологию «языком» многие поспорили бы, но любопытно, что она попала также в списки «самые любимые» и «самые желанные» — в общем, тут новое заметное явление.
Если вас эта новая звезда тоже интересует и хочется технических подробностей — у нас на конференции HolyJS был доклад об использовании WebAssembly в продакшене, и мы делали его текстовую версию для тех, кому удобнее читать.
Среди фреймворков главная новая звезда, которую пока что мало кто использует, но многим хочется — Flutter. О нём у нас тоже был доклад.
Есть вопросы, которые в прошлые годы вообще не задавали, так что тут не сравнить с предыдущими результатами. В их числе — использование блокчейна. 80% заявили, что в их компаниях эту технологию никак не используют, а среди остальных респондентов большинство заявило об использовании «для задач, не связанных с криптовалютой».
Стоит отметить: число ответивших на этот вопрос ниже среднего (в целом в опросе поучаствовало более 88 тысяч человек, но про блокчейн ответили только 48 тысяч). Напрашивается предположение, что на него чаще отвечали те, в чьих компаниях блокчейн используется — а значит, реальное значение «мы этим не пользуемся» куда выше 80%.
Отвечая на вопрос «считаете вы себя как разработчика выше или ниже среднего уровня», 67% сказали, что они выше среднего. Авторы опроса демонстрируют это как свидетельство завышенной самооценки разработчиков — мол, раз выборка большая, то настоящее «выше или ниже» должно быть примерно 50 на 50. Но вообще-то есть и другой вариант объяснения: возможно, люди, ощущающие себя ниже среднего, реже участвуют в опросах и реже отвечают на подобные вопросы.
В случае с удалённой работой любопытно соотнести «что есть сейчас» с «чего разработчики хотят». Если читать жалобы разработчиков в Twitter, может сложиться ощущение, что все они ненавидят офисы и мечтают работать из дома — а что на самом деле?
Оказывается, большинство (58%) за офис. Но при этом сейчас удалённо работают около 12% респондентов — то есть куда меньше тех 42%, которые в принципе хотели бы это делать. Значит, есть неудовлетворённый спрос на работодателей с удалёнкой, и если вы работодатель, можете так получить конкурентное преимущество.
Наконец, ещё один интересный вопрос — «кто в этом году будет самой влиятельной личностью в технологическом мире». С большим отрывом лидирует Илон Маск (30.2%), за ним следуют Джефф Безос (7.2%) и Сатья Наделла (4.4%), а потом идут варианты «я» и «Дональд Трамп».
Без Дэна Абрамова список тоже не обошёлся (когда опрашивают разработчиков, а среди языков лидирует JavaScript, неудивительно). Кроме него, фигурирует ещё один человек, родившийся в России — Виталик Бутерин. А ещё два имени из списка нам (JUG.ru Group) особенно близки.
Джон Скит
Ну, в случае с этим опросом он в выгодном положении: его прославили как раз ответы на Stack Overflow, неудивительно, что пользователи SO его ценят. Но в .NET-мире он заметен и в отрыве от Stack Overflow (как автор книг, спикер, блогер), и мы с ним связаны как раз благодаря этому: он выступал на нашей конференции DotNext.Ричард Столлман
Главный активист свободного программного обеспечения — противоречивая фигура: кто-то скажет, что он излишне радикален и в 2019-м уже ни на что не влияет, а кто-то возразит, что это ему мы обязаны нынешним бумом опенсорса, без которого сейчас в сотый раз переписывали бы старые «велосипеды».Так или иначе, легендарного статуса у Столлмана не отнять. А в этом году он побывает в России: в августе выступит на нашем петербургском ИТ-фестивале TechTrain. Там можно будет лично задать ему вопрос и составить впечатление по собственному опыту, а не буквам из интернета.