В мае 2022 года Stack Overflow опросил примерно 70 000 разработчиков на предмет того, как они учатся и повышают свой уровень, какие инструменты они используют и чего хотят. Субъективно, результаты предсказуемы — IT-курсы не в топе способов обучения.
Дисклеймер. Здесь и далее — перевод статьи с результатами на Stack Overflow (в кавычках) и немного комментариев «поверх». Источники: статья Asked and answered: the results for the 2022 Developer survey are here! и Developer Survey.
Об опросе и кратко о результатах
«Вопросы, которые мы задаем в нашем ежегодном опросе, помогают нам улучшить сообщество и платформу Stack Overflow, а также расширять и совершенствовать наши возможности для помощи разработчикам.
В статье расскажем о подходах, инструментах и средах, которые сегодня формируют искусство и практику разработки программного обеспечения»
Цитата:
«Наши вопросы были сосредоточены на том, как программисты осваивают свое ремесло. Мы обнаружили, что разработчики старшего поколения, скорее будут учиться по книгам, в то время как новое поколение программистов (младше 18 лет) полагается на онлайн-материалы и своих друзей и семью. Однако общий процент тех, кто учится программировать онлайн, увеличился с 60% до 70%.
Учитывая, что после пандемии много людей работают удаленно — почти в 85% организаций, представленных в этом опросе, есть удаленные работники, — может случиться так, что все больше и больше нашей повседневной жизни также перемещается в онлайн.
Кроме того, поскольку пандемия вынудила нас покинуть офис и перейти к удаленной работе, она может увести нас от полной занятости к более самостоятельной работе. Процент профессиональных разработчиков, которые заявляют, что они работают не по найму, как независимые подрядчики, фрилансеры, вырос примерно на 5% до 16,6%. В это время процент тех, кто работает полный день сократилась (в нашей первой пятерке стран-респондентов: США, Индия, Германия, Великобритания и Канада).
Самыми привлекательными результатами опроса разработчиков всегда были рейтинги технологий, в которых называют свои наиболее используемые, любимые, страшные и востребованные языки, фреймворки и многое другое. Пять лучших языков для профессиональных разработчиков не изменились: JavaScript по-прежнему используется чаще всего, а Rust не популярен уже седьмой год. Большой сюрприз преподнесла самая любимая категория веб-фреймворков. Демонстрируя, как быстро меняются веб-технологии, новичок Phoenix занял самое любимое место у Svelte.
Наша команда также хотела узнать, сколько из нас задают один и тот же вопрос более одного раза. Наши эксперты по обработке данных обнаружили, что большинство людей возвращаются к ответу снова и снова: 62% обычных пользователей Stack Overflow задают один и тот же вопрос несколько раз в течение трех месяцев. Один из наших специалистов по обработке данных говорит нам, что он открывает этот вопрос раз в месяц. Зачем запоминать все, когда вы можете использовать Stack Overflow как второй мозг?»
Кого опрашивали
В основном, это разработчики из Европы и Северной Америки (как континента) — больше 80%.
Цитата:
«Респонденты из Соединенных Штатов и Соединенного Королевства — самые опытные. У них, в среднем, 15,5 лет опыта программирования»
Если говорить в среднем про опыт, то респондентов с опытом меньше года было меньше 2%, а с опытом до 4 лет — 20%.
Цитата:
«Большинство респондентов (75%) работают профессиональным разработчиком 14 или меньше лет, что означает, что они никогда не работали в мире без Stack Overflow...Как и в прошлом году, 50% респондентов занимались программированием в течение десяти лет или меньше»
При этом больше половины опрошенных в возрасте от 18 до 24 лет. Откуда столько опыта?)
Уровень образования.
Цитата:
«38% из тех, кто учится программировать, уже имеют ученую степень, обучение не обязательно прекращать после окончания учебы. 70% всех респондентов и 80% профессиональных разработчиков имеют высшее образование в той или иной форме»
Примечательно, что почти половина респондентов описали себя как фулстэк-разработчики.
Цитата:
«Фулстэк-разработчики, серверной части, интерфейса и разработчики приложений по-прежнему составляют большинство всех респондентов. В этом году мы впервые спросили об инженерах облачной инфраструктуры (Cloud infrastructure engineer) — почти 9% относят себя к этому типу разработчиков»
Можно было выбирать несколько ответов:
«Большинство респондентов заявили, что считают себя разработчиками более чем одного типа — о наибольшем разнообразии сообщили администраторы баз данных, SRE и специалисты по безопасности. В среднем каждая из этих ролей сообщала о семи других типах разработчиков»
Как учатся разработчики
Самый популярный способ обучения — онлайн. Этот способ выбрали 70% респондентов. Предположу, на основании комментариев в диаграмме, что сюда входят все относительно бесплатные способы: статьи в блогах, видео на YouTube, штудирование форумов.
Также мое предположение считаю верным, потому что в опросе есть вариант «Онлайн-курсы или сертификация» — сюда, скорее всего, входят платные курсы. Этот способ выбрали 46% респондентов.
Но этот способ менее популярен, чем книги и обучение в высших учебных заведениях: 54% и 62%, соответственно.
Хакатоны и буткэмпы на последних местах — 7% и 10%, соответственно. Предполагаю, что на эти мероприятия ходят не чтобы учиться, а попробовать свои навыки на практике. Но вы можете меня поправить в комментариях.
Как учатся разработчики: ответы по возрастам
В статье также распределили ответы по возрастам. Примечательно, что онлайн-курсы у всех возрастов в меньшем приоритете, чем онлайн-обучение. При этом второй способ чаще выбирает молодежь.
А вот ближе к 40 чаще выбирают книги.
Чем старше, тем больше интереса к книгам.
Примечательно, что заметна еще одна разница — разработчики старше чаще выбирают учиться на рабочем месте (есть такой ответ, как «Обучение без отрыва от производства»). Предполагаю, что это из-за большей занятости вне работы, например, семьей, и/или не таким активным желанием рваться по карьерной лестнице. Но я могу ошибаться.
Что используют для обучения
Чаще всего — это техническая документация.
На втором месте — Stack Overflow.
Дальше по популярности — блоги и видеоуроки (не курсы), что логично, учитывая онлайн-обучение, как самый популярный способ подтягивания знаний. Примечательно, что среди других ресурсов большой выбор: здесь и книги, и форумы, и подкасты.
«Также интересно, что мы видим такое разнообразие в том, как люди учатся программировать. Письменные материалы, различные видеоформаты, книги, курсы - не существует универсального подхода к обучению программированию. Каждый может собрать воедино ресурсы и форматы, которые лучше всего подходят для его стиля обучения»
Дальше в статье есть список платформ для онлайн-обучения.
Производительность
Цитат:
«В опросе этого года у нас был специальный раздел в конце, где мы попросили профессиональных разработчиков рассказать нам, что влияет на их производительность на работе, как часто это происходит и сколько времени это отнимает. Ответили больше 36 000 разработчиков. Большинство испытывают некоторый уровень снижения производительности каждую неделю. 68% респондентов говорят, что сталкиваются с хранилищем знаний не реже одного раза в неделю. 73% менеджеров по персоналу, часто более опытных разработчиков, сообщают, что сталкиваются с хранилищем знаний не реже одного раза в неделю»
«Около 63% всех респондентов тратят более 30 минут в день на поиск ответов или решений проблем, при этом 25% тратят более часа каждый день. Для команды из 50 разработчиков количество времени, затрачиваемого на поиск ответов / решений, составляет в сумме 333-651 часов потерянного времени в неделю для всей команды»
«С другой стороны, 46% всех респондентов тратят больше 30 минут в день на ответы на вопросы. 32% менеджеров по персоналу тратят больше часа каждый день на ответы на вопросы, в то время как только 14% независимых авторов тратят более часа на ответы на вопросы. Для команды из 50 разработчиков количество времени, потраченного на ответы на вопросы, составляет в сумме 278-568 часов потерянного времени в неделю для всей команды.
Комментарии (7)
Kvento
15.07.2022 18:47+668% респондентов говорят, что сталкиваются с хранилищем знаний не реже одного раза в неделю
Пожалуйста, оставьте оригинал, чем такой перевод. Автор, вы сами читали, что гуглоперевод вам выдал?
DmitryMurinov
16.07.2022 07:06+1«Около 63% всех респондентов тратят более 30 минут в день на поиск ответов или решений проблем, при этом 25% тратят более часа каждый день. Для команды из 50 разработчиков количество времени, затрачиваемого на поиск ответов / решений, составляет в сумме 333-651 часов потерянного времени в неделю для всей команды» // ИМХО, потраченного времени в неделю... Потерянное время это, например, всякие простои и отвлечения из-за долгого наката, политик при которых локальная отладка не возможна (80+ % кода интеграции, требования гуляют, с ноута нет доступа с другим системам из-за политик компании), встречи ради встреч, заполнение отчётности с точностью до 15 минут, переключения на вопросы кучи менеджеров/заказчиков по статусам их задач, и прочая дичь.
А если программист знает вообще всё нужное для работы на проекте, то ему становится нестерпимо скучно работать, что ведёт к потере мотивации. См. книгу Михая Чиксентмихайи "Поток", там механизм выбора сложности и зависимости от неё вовлечённости прекрасно описан.
IvanSTV
18.07.2022 09:58Типичная ошибка выборки. StackOverflow посещают люди, ПОЕИМУЩЕСТВЕННО выбравшие тип обучения через вопрос-ответ. Сваливается некий клоп с потолка: "а-а-а, у меня ни хрена не работает". Смотришь код - он ни хрена не знает теории, и в документацию не слазил. Отсылаю ему ссылку на описание и объясняю своими словами, в чем фигня. Он в ответ: "а код можешь написать?" Ну что с ним делать? Видимо, из поколения, которые документацию к ЯП не читало никогда и даже не подозревает, что таковая существует. Пишу код. Ура, заработало. Но проблема в том, что синтаксиса этого кода я тоже на знал, пока не увидел код, просто увидел странный параметр у чувака, и прочитал справочную статью.
Логично, что на таком ресурсе, где все работает именно так, доля людей, которые не читают документации, будет очень высокой. Там, конечно, поощряют людей, которые в документацию лезут постоянно (без этого можно кругами ходить очень долго вокруг каждого вопроса), но тем не менее, там для людей, которые не умеют работать с технической документацией и не читают книг, очень теплая ниша.
Если бы они для контрольки опросили бы Хабр, то ситуация была бы, скорей обратная - здесь поощряется написание технических статей, а это требует как минимум навыка работы с литературой.
usego
"Переполнение стека" на скриншоте - это пять.
SomeAnonimCoder
Туда же "проблемы программирования" (видимо, задачи на программирование), "программирование игр" - скорее всего игры завязанные на кодинг
Albert_42 Автор
Гуглоперевод)