Опрос Stack Overflow: за Perl, Scala и Go платят больше
Сервис вопросов и ответов для программистов Stack Overflow опубликовал результаты ежегодного масштабного опроса пользователей площадки. Почти 65 тысяч разработчиков из 186 стран ответили, какими инструментами пользуются, чему учатся и какие цели ставят.
Профиль респондентов
55,2% опрошенных определяют себя как бэкенд-разработчиков, почти столько же — как фулстек. Респондентам разрешалось отмечать для себя несколько ролей одновременно. Большинство выбирали три из предложенного перечня. Самые популярные сочетания:
- фулстек-, фронтенд- и бэкенд-разработчик;
- системный администратор и администратор баз данных;
- DevOps-специалист и инженер эксплуатационной надёжности (site reliability engineer);
- учёный и исследователь;
- дизайнер и фронтенд-разработчик.
78,2% разработчиков программируют и в свободное от работы время — для них это хобби. Но это менее характерно для женщин и для мужчин, у которых есть дети или другие заботы.
Среди опрошенных встречаются люди с разным уровнем опыта. 8,5% респондентов научились программировать более 30 лет назад. У 17% опыт разработки меньше пяти лет.
Более половины опрошенных написали свою первую строку кода в возрасте до 16 лет.
Респонденты из Бразилии и Индии, как правило, начинают писать код на два года позже, чем разработчики из Польши и Германии. Последние в среднем стартуют в 15 лет. Ниже представлен средний возраст начала изучения программирования в разных странах:
Теперь о стаже профессиональной деятельности. Большинство опрошенных — 66,4% — работают программистами менее десяти лет.
Технические руководители и engineering manager’ы (управляющие проектированием), как правило, обладают самым большим опытом работы. Среди опрошенных других специальностей самый большой опыт у сисадминов, администраторов баз данных, разработчиков, создающих приложения для ПК и встроенные программы.
Меньше всего опыта обычно у веб-разработчиков, исследователей, специалистов по обработке данных. В Stack Overflow связывают это с тем, что именно этим профессиям учат в буткэмпах. На картинке ниже указан средний опыт в годах.
Образование
Примерно 75% опрошенных имеют степень бакалавра или выше, что согласуется с результатами прошлых лет. 0,9% вообще не имеют никакого образования, 1,6% ограничились начальной школой. 10% респондентов имеют степень в области гуманитарных, социальных наук, изобразительного искусства или бизнеса.
Демографические показатели
Среди разработчиков преобладают белые (68,3%) мужчины (91,5%). В Stack Overflow отмечают, что, во-первых, с годами соотношение постепенно меняется в сторону этнического и гендерного разнообразия. Во-вторых, статистика опроса не отражает ситуацию в целом — лишь распределение среди аудитории площадки. Например, опрос показал, что женщин среди разработчиков в США 12%, тогда как Бюро трудовой статистики заявляет о 20%. В Stack Overflow в этом году старались найти новые способы информирования об опросе, чтобы пригласить в него как можно больше людей не из числа пользователей сервиса, но результат были не очень впечатляющими.
Что касается возраста, то разработчики в среднем достаточно молоды: 72,1% респондентов младше 35 лет.
Языки программирования
Восьмой год подряд JavaScript остаётся самым используемым языком программирования. TypeScript обходит С, а Go и Kotlin теснят некогда популярный Ruby.
Отдельно Stack Overflow спросил о любимых языках программирования. Rust уже пять лет сохраняет первое место в этом списке. TypeScript сместил со второго места Python. Заметно поднялся Go — с десятого на пятое место.
Есть свой хит-парад и у ненавистных языков — тех, с которыми разработчики используют, но не хотят иметь дело. Тройка лидеров — VBA, Objective-C и Perl.
Среди языков, которые хотелось бы выучить, четвёртый год подряд лидирует Python. За ним — JavaScript и Go.
Теперь — к конкретным инструментам в различных сферах.
Веб-фреймворки
В категории веб-фреймворков jQuery сохраняет лидерство, но год за годом его уверенно догоняют React.js и Angular.
Самыми любимыми веб-фреймворками стали ASP.NET Core, React.js и Vue.js. Самыми ненавистными — Angular.js, Drupal и jQuery (он следует с заметным отставанием и почти делит «бронзу» с ASP.NET. А освоить хотят React.js, Vue.js и Angular. Здесь и далее все перечисления идут в порядке распределения мест.
Базы данных
Что касается технологий, связанных с базами данных, MySQL остаётся наиболее популярной, далее следуют PostgreSQL и Microsoft SQL Server.
Самыми любимыми стали Redis, PostgreSQL и Elasticsearch. Худшее отношение — к IBM DB2, Oracle и Couchbase. А хотят все освоить MongoDB, PostgreSQL и Elasticsearch.
Другие инструменты разработки
Среди других технологий первое место в рейтинге популярности удерживает Node.js. С распространением big data и машинного обучения всё востребованнее становятся Pandas, TensorFlow и Torch/PyTorch.
Самые любимые здесь — .NET Core, Torch/PyTorch и Flutter. Ненавистные — Chef, Cordova, Puppet. А хотели бы все работать преимущественно с Node.js, TensorFlow и React Native.
Платформы разработки
Здесь Linux и Windows сохраняют лидирующие позиции среди платформ, для которых разработчики пишут.
А в любимых платформах Windows уже замыкает десятку. Linux первый, за ним Docker и Kubernetes. Нелюбимые — WordPress, IBM Cloud (Watson) и Heroku. В топе «желанных» — Docker, AWS и Kubernetes.
45,8% респондентов используют Windows в качестве своей основной операционной системы. Предпочтения остальных примерно поровну разделились между MacOS и разновидностями Linux.
Среди инструментов совместной работы первое место у GitHub — 82%. 53% у Slack, 47,7% у Jira.
Чтобы познакомиться с новыми инструментами, 77,1% респондентов предпочли бы начать с бесплатного пробного периода. Важное значение имеет мнение коллег — сарафанному радио доверяют 67,9% опрошенных. 75% изучают новый язык или инструмент раз в год и чаще. 57% участников исследования признались, что могут влиять на то, какие технологии покупает их компания.
Рабочие условия
Опрос проводился до того, как вспышка коронавируса переросла в пандемию, отметили в Stack Overflow, так что сейчас данные могут быть недостаточно правдоподобными.
70,9% опрошенных трудятся полный день, 12,2% — студенты, 12,4% — фрилансеры или оформлена на неполный день. 4,2% не работают, 0,5% — на пенсии. Только 10,9% респондентов никогда не трудятся сверхурочно. 25,5% перерабатывают 1–2 раза в неделю и чаще. Многие работают на довольно крупные компании.
63,1% опрошенных удовлетворены своей работой, 24,1% — слегка или очень недовольны. Оставшиеся настроены нейтрально. При этом 57,6% респондентов готовы выслушать интересные карьерные предложения, хоть и не ищут работу. 25,1% даже рассматривать варианты не собираются. И только 17,3% в поисках нового места.
Чаще всего ищут работу учёные-исследователи, специалисты по машинному обучению и аналитики. В Stack Overflow добавляют, что это соответствует статистике отраслей, где неудовлетворённость работой выше.
Новую работу побуждает искать более высокая зарплата (70%), возможность работы с новыми технологиями (58.5%), любопытство (57,1%), перспективы карьерного роста (52,9%) и лучшего баланса между трудом и отдыхом (48,3%). Среди менее важных причин много импульсивных — например, «потому что» (12,3%) и «просто выдалась сложная неделя» (20,3%).
При выборе нового места наибольшее значение будет иметь возможность работы с новыми языками, технологиями, инструментами (51,3%). Важны офис и корпоративная культура (44,5%), гибкий график (43,9%) и возможности для роста (41,4%).
По уровню зарплат в топе управляющие разработкой (engineering manager), инженеры поддержки на объектах, DevOps-специалисты:
Обычно зарплата соотносится с опытом — чем дольше работает человек, чем больше получает. Но есть и диспропорция. DevOps-специалисты, инженеры эксплуатационной надёжности и дата-инженеры получают несопоставимо больше по сравнению с программистами с таким же опытом. Наименее оценён опыт дизайнеров, разработчиков софта для мобильных устройств и преподавателей.
51,7% разработчиков трудятся 40–44 часов в неделю Руководители и продакт-менеджеры, как правило, работают больше.
И наконец, вопрос, который волнует всех — разработчики на каком языке больше получают? Ответ — Perl, Scala, Go и Rust. Главная причина здесь — нехватка программистов, владеющих этими языками. Здесь и выше указана среднегодовая зарплата.
Здесь результаты интересно сравнить с российскими. По данным Хабр.Карьеры, самые большие медианные зарплаты — у специалистов с Elixir. На втором месте — Objective-C, третье делят Go и Scala. Кое-что общее есть, но тот же Elixir в рейтинге Stack Overflow сейчас вообще не фигурирует, хотя в 2017-м он был на третьем месте по уровню зарплат.
Так распределились предпочтения пользователей глобальной платформы Stack Overflow. Надеемся, что эта информация поможет вам выбрать своё направление развития в мире IT.
Освоить востребованную профессию в Аналитике больших данных можно всего за полтора года на курсах GeekBrains.