Результаты ежегодного опроса Stack Overflow 2018
О ежегодном опросе Stack Overflow 2018: кто зарабатывает больше, какие технологии меньше всего любят и что важно для разработчиков.
Stack Overflow опубликовал результаты своего ежегодного опроса среди разработчиков со всего мира. Более 100 000 специалистов ответили на вопросы относительно всех аспектов своей жизни, начиная полом и возрастом, и заканчивая хобби. Мы рассмотрим несколько основных категорий опроса: технологии, образование, опыт и лучшие практики. Статистика по всем вопросам доступна по ссылке.
Главные выводы опроса Stack Overflow 2018
DevOps и машинное обучение – одни из важнейших тенденций в области программного обеспечения. Языки программирования и фреймворки, используемые в этих направлениях, продолжают набирать популярность, а разработчики, работающие в данных сферах, зарабатывают больше всех.
Разработчики в целом настроены оптимистично относительно возможностей, которые открывает искусственный интеллект.
Python поднялся в рейтинге языков программирования, обойдя в популярности C#.
Главные приоритеты в работе для женщин-разработчиков – культура компании и возможности для профессионального развития. Для мужчин основными приоритетами являются оплата и возможность работать с конкретными технологиями.
А теперь рассмотрим исследование Stack Overflow 2018 подробнее и по пунктам.
О разработчиках в целом
Тип разработчиков
Почти 60% респондентов отнесли себя к back-end разработчикам, около 20% – к специалистам по разработке мобильных приложений. Однако немногие смогли выбрать что-то одно, чаще всего разработчики определялись по двум категориям, например, фронт и бэк.
Вклад в Open Source проекты
Согласно Stack Overflow 2018, половина профессиональных разработчиков вносит свой вклад в развитие открытого программного обеспечения. Проявление активности в этом плане определяется языком программирования.
Более 70% опрошенных, связанных с Clojure, Julia и Rust, работают и над открытым программным обеспечением. А вот среди разработчиков VBA, VB.NET и C# этот показатель составляет менее 40%.
Опыт
Опыт программирования в целом
У респондентов совершенно разные показатели опыта работы с кодом. Более трети профессиональных разработчиков научилась программированию в течение последних пяти лет.
Опыт профессиональной разработки
Свыше половины респондентов имеют пять и меньше лет опыта коммерческой разработки. Программисты, работающие с Cobol и Perl имеют более высокие показатели, а разработчики, применяющие Matlab, Haskell и Kotlin – значительно скромнее.
Опыт работы по направлениям
Программисты, задействованные в разных областях разработки ПО, имеют различные показатели среднего количества опыта. DevOps-специалисты и программисты, которые разрабатывают десктопные и корпоративные программы, имеют наибольший опыт, а разработчики игр и мобильных приложений – наименьший.
Образование
Все еще получающие образование
Около четверти респондентов учатся в высших учебных заведениях на дневной или заочной форме.
Уровень образования
Во всем мире примерно 3/4 профессиональных разработчиков имеют степень бакалавра и выше. Нередко можно встретить опытных разработчиков, которые вообще не имеют диплома о высшем образовании.
Специальность
Из профессиональных разработчиков, которые учились в университете, более 60% заявили, что являются специалистами в области компьютерных наук, инженерии или разработки программного обеспечения.
Таких опрошенных больше среди тех, кто еще учится. И, наоборот, доля респондентов, специализирующихся на других инженерных дисциплинах, таких как электротехника и машиностроение, меньше среди нынешних студентов.
Другие виды образования
Разработчики учатся в течение всей жизни; почти 90% всех программистов говорят, что они изучили какой-то новый язык, фреймворк или инструмент самостоятельно. Также среди профессиональных разработчиков почти половина утверждают, что обучались с помощью онлайн курсов.
Средства самообразования
Более 80% респондентов при изучении чего-то нового начинают с документации, а также часто обращаются к Stack Overflow.
Популярные технологии
Языки программирования и разметки
Шестой год подряд JavaScript остается самым популярным ЯП. Python в этом году поднялся в списке и обошел C#.
Фреймворки, библиотеки и другие инструменты
Почти 50% респондентов предпочитает Node.js, еще 37% работают с AngularJS, что делает их самыми популярными фреймворками этого года.
Базы данных
SQL Server и MySQL остались наиболее часто используемыми СУБД.
Платформы
В большинстве своем, респонденты Stack Overflow 2018 разрабатывали программы для Linux-систем, а также десктопных и серверных версий Windows.
Самые популярные среды разработки
Visual Studio Code сравнялся с Visual Studio в борьбе за звание самой популярной среды разработки, однако имеются различия в подходе к выбору инструментов в зависимости от типа разработчика и его роли.
Разработчики, которые пишут код для мобильных приложений, скорее всего, будут использовать Android Studio и Xcode, самый популярный выбор среди DevOps и системных администраторов это Vim, а исследователи данных, скорее всего, будут работать в IPython/Jupyter, PyCharm и RStudio.
Топ самых высокооплачиваемых технологий
Разработчики, использующие F#, Ocaml, Clojure и Groovy, зарабатывают больше всех, их средний заработок превышает 70 000 долларов США в год. Разработчики Erlang и Scala являются одними из самых дорогих специалистов в США, а разработчики Clojure, Erlang и Haskell больше зарабатывают в Индии.
Любимые, самые нужные и самые ужасные технологии
Языки программирования, сценариев и разметки
По результатам опроса Rust остается любимым языком программирования в сообществе уже третий год подряд. Следом за ним идет Kotlin – язык, который впервые попал в этот список. Visual Basic 6 остался самым ужасным языком программирования по мнению сообщества.
Второй год подряд Python – самый нужный язык – это значит, что разработчики, которые его еще не знают, чаще всего говорят, что хотят его изучить.
Фреймворки, библиотеки и другие инструменты
Самой популярной и обсуждаемой технологией на Stack Overflow в этом году стал TensorFlow, который очень полюбился разработчикам. Работать все хотят с React, а Cordova, наоборот, почти всех пугает.
Базы данных
Второй год подряд большинство респондентов предпочитают Redis.
Платформы
Linux вместе с Serverless стали любимыми платформами для разработки. А Sharepoint назвали самой ужасной. Многие программисты отметили, что хотят начать работать над проектами под Android и Raspberry Pi.
Занятость и зарплата
Как много разработчиков работает полный день
Более 76% разработчиков работают полный рабочий день, а еще 10% работают по договору подряда или сами на себя.
В какой сфере заняты
Программисты заняты в различных сферах бизнеса (столь различных, что это трудно вместить в один вопрос). В этом году варианты ответов были сосредоточены на технологической индустрии, и если рассматривать эту выборку, программисты работают в компаниях, занимающихся разработкой веб-сайтов, IT и SaaS.
Программисты, работающие в таких отраслях, как консалтинг и здравоохранение, имеют многолетний профессиональный опыт разработки. Программисты в этих отраслях в два раза чаще имеют более 20-лет опыта, чем программисты, работающие в сфере веб-разработки, дизайна и e-commerce.
Зарплата
Технические директора, DevOps и исследователи данных, согласно исследованию Stack Overflow 2018, зарабатывают больше всех. Вид среднего высокооплачиваемого специалиста зависят от страны. Например, в Индии исследователи данных имеют одни из самых высоких зарплат, тогда как в европейских странах backend-разработчики и специалисты, работающие со встроенными устройствами, являются одними из самых высокооплачиваемых.
Зарплата и опыт
Разумеется, разработчики с многолетним опытом получают больше. Однако некоторые работники индустрии ценятся более высоко на том же уровне опыта.
Зарплата, опыт и язык разработки
Разработчики, использующие языки, которые расположены выше в этой диаграмме, такие как Go, Clojure и F#, получают больше независимо от опыта работы. Программисты на языках, которые размещены в самом низу, такие как PHP и Visual Basic 6, получают меньшую зарплату даже имея многолетний опыт. Размер круга в таблице отображает количество разработчиков, использующих данный язык.