В мае 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)


  1. usego
    15.07.2022 18:43
    +5

    "Переполнение стека" на скриншоте - это пять.


    1. SomeAnonimCoder
      15.07.2022 18:50
      +1

      Туда же "проблемы программирования" (видимо, задачи на программирование), "программирование игр" - скорее всего игры завязанные на кодинг


    1. Albert_42 Автор
      15.07.2022 19:23
      -3

      Гуглоперевод)


  1. Kvento
    15.07.2022 18:47
    +6

    68% респондентов говорят, что сталкиваются с хранилищем знаний не реже одного раза в неделю

    Пожалуйста, оставьте оригинал, чем такой перевод. Автор, вы сами читали, что гуглоперевод вам выдал?


  1. Inskin
    16.07.2022 00:00

    46% указали ИТ-курсы - и "ИТ-курсы не нужны?"?


  1. DmitryMurinov
    16.07.2022 07:06
    +1

    «Около 63% всех респондентов тратят более 30 минут в день на поиск ответов или решений проблем, при этом 25% тратят более часа каждый день. Для команды из 50 разработчиков количество времени, затрачиваемого на поиск ответов / решений, составляет в сумме 333-651 часов потерянного времени в неделю для всей команды» // ИМХО, потраченного времени в неделю... Потерянное время это, например, всякие простои и отвлечения из-за долгого наката, политик при которых локальная отладка не возможна (80+ % кода интеграции, требования гуляют, с ноута нет доступа с другим системам из-за политик компании), встречи ради встреч, заполнение отчётности с точностью до 15 минут, переключения на вопросы кучи менеджеров/заказчиков по статусам их задач, и прочая дичь.

    А если программист знает вообще всё нужное для работы на проекте, то ему становится нестерпимо скучно работать, что ведёт к потере мотивации. См. книгу Михая Чиксентмихайи "Поток", там механизм выбора сложности и зависимости от неё вовлечённости прекрасно описан.


  1. IvanSTV
    18.07.2022 09:58

    Типичная ошибка выборки. StackOverflow посещают люди, ПОЕИМУЩЕСТВЕННО выбравшие тип обучения через вопрос-ответ. Сваливается некий клоп с потолка: "а-а-а, у меня ни хрена не работает". Смотришь код - он ни хрена не знает теории, и в документацию не слазил. Отсылаю ему ссылку на описание и объясняю своими словами, в чем фигня. Он в ответ: "а код можешь написать?" Ну что с ним делать? Видимо, из поколения, которые документацию к ЯП не читало никогда и даже не подозревает, что таковая существует. Пишу код. Ура, заработало. Но проблема в том, что синтаксиса этого кода я тоже на знал, пока не увидел код, просто увидел странный параметр у чувака, и прочитал справочную статью.

    Логично, что на таком ресурсе, где все работает именно так, доля людей, которые не читают документации, будет очень высокой. Там, конечно, поощряют людей, которые в документацию лезут постоянно (без этого можно кругами ходить очень долго вокруг каждого вопроса), но тем не менее, там для людей, которые не умеют работать с технической документацией и не читают книг, очень теплая ниша.

    Если бы они для контрольки опросили бы Хабр, то ситуация была бы, скорей обратная - здесь поощряется написание технических статей, а это требует как минимум навыка работы с литературой.