Всем привет! Не так давно мы с GitVerse, платформой для работы с исходным кодом от СберТеха, проводили опрос, чтобы выяснить, как сегодня выглядит типичный программист. Не в смысле внешности, а в плане своих личных и профессиональных качеств. Опрос прошли почти 2,5 тысячи человек. Мы очень рады, что наша затея оказалась такой популярной. Теперь настало время поделиться результатами. Кто он такой — Типичный Программист-2024? Заходите под кат, чтобы узнать о нём всё.
Примечание
Как известно, опрос, проведённый в интернете, показал, что 100% опрошенных пользуются интернетом. Наверное, все понимают, как работает статистика, но на всякий случай проговорим вслух: наши данные — они про тех, кто читает Хабр и прошёл наш конкретный опрос. Возможно, в дикой природе водятся миллионы SRE-инженеров, пишущих на Perl, работающих из коворкинга и обожающих созвоны. Но в нашу статистику они не попали — и, в общем-то, сами виноваты.
Демография
Начнём с самых банальных вещей. Типичному программисту в 2024 году исполнилось от 20 до 39 лет. Точнее сказать сложно — за варианты «20-29» и «30-39» проголосовало почти одинаковое количество опрошенных (38% и 37% соответственно). Меньше всего оказалось юных программистов — вариант «до 20» выбрали лишь 4% респондентов. Впрочем, нет причин беспокоиться за наше будущее — возможно, айтишники младшего поколения просто ещё не знают про Хабр.
Типичный программист — однозначно мужчина. К прекрасному полу себя отнесли только 13% опрошенных. Впрочем, в возрастном диапазоне от 20 до 29 доля женщин возрастает до 17%. Однако среди респондентов младше 20 женщин уже всего 10%.
Помимо обычного возраста мы рассмотрим в этом разделе и «айтишный возраст», иначе говоря — стаж. Тут всё не так однозначно — то ли типичный программист работает программистом от 3 до 5 лет, то ли уже от 11 до 20. За оба варианта проголосовали по 25% респондентов. Промежуточный вариант «6-10 лет» выбрали только 17% опрошенных. Получается, что стаж имеет двугорбое распределение. С чем это может быть связано? Пишите свои варианты в комментариях.
Профориентация
Типичный программист — почти наверняка бэкендер. Эту специализацию указали 39% опрошенных. Следом ожидаемо идут фулстек (19%) и фронтенд (13%). Технически перед фронтендом идёт вариант «Другое» (15%), но скорее всего это не одна, а несколько специализаций.
Скорее всего, типичный программист пишет на Java (54%) или на C (49%). Ну на худой конец — на Python (46%). С высокой вероятностью он также использует SQL (44%). А вот такой, казалось бы, популярный язык, как JavaScript (включая TypeScript), указали всего 35% респондентов. Самые непопулярные языки — Ruby, Perl и Swift (примерно по 2% каждый). Если вы пишете на чём-то из этой тройки — можете гордиться тем, что вы очень атипичный программист.
У типичного программиста образование профильное (52%) или просто техническое (29%). Далекое от IT образование имеют лишь 12% респондентов, и только 6% ограничились школой/колледжем. Похоже, остались в прошлом романтические времена IT, когда профильного образования ещё практически не существовало, и в программирование попадали умные ребята из всех смежных областей. Также похоже, что несмотря на популярность различных курсов переподготовки, на реальный рынок труда они влияют меньше, чем могло бы показаться.
Типичный программист хорошо знает математику на школьном уровне (44%). Ну, или около того — 23% признались, что и школьную помнят не очень. Зато 21% опрошенных кое-что умеет из «вышмата». А 12% респондентов могут пугать неподготовленных людей страшными словами типа «реляционной алгебры» и «кватернионов».
Профессионализм
Типичный программист хорошо владеет своим языком, но не так хорошо понимает глубинные механизмы его функционирования (как работает компилятор/интерпретатор и тому подобное). Такой уровень понимания указали 48% опрошенных. Ещё 24% мужественно признались, что полагаются на библиотеки и фреймворки, а на «голом» языке выражаются с трудом. «Хакеров» той или иной степени продвинутости набралось лишь 28%. Или целых 28% — тут уж как посмотреть.
27% опрошенных в той или иной степени имеют отношение к open source. Это число интересно согласуется с 28% «хакеров» из предыдущего пункта — хочется верить, что открытым ПО занимаются самые вдумчивые. 10% респондентов вносят вклад в open source регулярно, остальные ограничиваются отдельными pull request'ами.
К счастью, типичный программист старается писать чистый код. 37% указали, что стремятся к нему, хотя и готовы идти на компромиссы ради производительности или скорости разработки. 27% не стремятся к чистому коду сами по себе, однако соблюдают принятые в компании стандарты. Только 5% совершенно безразличны к стилю кода. 3% полагаются на документирование, 2% — на линтеры.
Типичный программист занимается самообразованием на Хабре и на сервисах видеохостинга. 86% респондентов указали, что читают статьи и смотрят видео по отдельным интересующим их вопросам. Впрочем, толстые фундаментальные книжки и курсы лекций тоже пользуются популярностью (46%). Также типичный программист, скорее всего, старается учиться на работе и специально ищет задачи, где можно попробовать что-нибудь новенькое (57%). Вполне вероятно, что у него есть и учебный пет-проект (43%). А вот формализованные курсы с сертификатами ему не так интересны (29%).
Кстати, целых 3% опрошенных признались по секрету, что вообще не занимаются самообразованием. Наверное, они уже просто знают вообще всё. Мы очень надеемся, что причина именно в этом.
Привычки
Программисты не против железного мозга: 68% опрошенных признались, что в своей работе используют ИИ-инструменты в той или иной степени. Из них 9% считают ИИ своим полноценным соавтором.
Типичный программист предпочитает чёткий график работы, хотя и с некоторыми степенями свободы — чтоб можно было в один день освободиться пораньше, а в другой поработать подольше. Такие предпочтения высказали 46% респондентов. Ещё 33 % топят за бо́льшую свободу — гибкий график или проектную работу. А вот адептов абсолютного порядка и нерушимо жёсткого графика — всего 11%.
При этом большинство респондентов не хотят постоянно сидеть в офисе. 38% опрошенных предпочитают удалёнку, 35% — гибридный офисно-удалённый формат. Примерно по 12% находятся в крайних точках спектра — хотят безвылазный офис или наоборот, путешествовать с ноутом и работать откуда придётся. А вот что типичный программист однозначно не любит, так это коворкинги — за них высказались всего 2,5%. Похоже, что стереотип об айтишнике-хипстере, который чилит в коворкинге в перерывах между барбершопами, не соответствует действительности.
Ещё один стереотип — айтишник-интроверт, мечта которого — забиться в самый дальний угол, писать код и понемногу порастать мхом. Однако опрос показал, что типичный программист не таков. 40% рассматривают общение на работе как нечто нейтральное, обычную часть рабочего процесса. 29% считают рабочее общение утомительным, но с удовольствием болтают с коллегами неформально. Стереотипных интровертов набралось всего 10%.
Также типичный программист не против конфколлов. Он считает, что 1-2 созвона в день для особо важных вопросов — это вполне нормально (43%). 31% респондентов в целом нейтрально относится к конфколлам — если надо, то надо. Но лишь 1% действительно любит созвоны. Или правильнее будет сказать — целый фантастический 1%?
Амбиции
Типичному программисту важны деньги — этот факт вряд ли кого-то удивит. Интереснее то, что деньги для него не на первом, а лишь на втором месте. 24% опрошенных признались, что для них важнее всего зарплата, но 28% заявили, что их цель — техническое лидерство в своей области. Конечно, это взаимосвязанные вещи, чем лучший ты специалист, тем больше тебе платят. И всё же приятно, что типичный программист подходит к этой связке с правильного конца.
На почётном третьем месте находится work-life баланс (18%). Убеждённых карьеристов набралось примерно 10%. А самые редкие варианты — сменить специализацию (1%), стать преподавателем/евангелистом (2%) или вообще уйти из IT (3%).
Типичный программист твёрдо верит в свои профессиональные перспективы. Через три года он видит себя в более высокой должности с более высокой зарплатой (65%). Однако 32% опрошенных считают, что для этого им придётся сменить работу. Похоже, что стереотип о программисте, который часто меняет место работы, не так уж далёк от истины.
Вернёмся к перспективам. 26% респондентов надеются, что через три года у них найдётся время для прикольных пет-проектов. А 19% хотят основать собственный стартап — тут, пожалуй, уместно будет сказать «целых 19%».
Самые непопулярные варианты — это стать фрилансером и вообще бросить IT. Каждый из них выбрало примерно по 5% опрошенных. Интересно, что за фриланс голосовали даже чуть меньше. Похоже, типичный программист скорее станет водителем грузовика, чем уйдёт во фриланс.
Жизнь
Типичный программист не перестаёт быть программистом, закончив рабочий день. Среди опрошенных 40% в качестве хобби изучают новые языки программирования и технологии. На втором месте, внезапно, вариант «Другое» (34% голосов). Неясно, в чём тут дело — то ли мы плохо угадали возможные варианты айтишных хобби, то ли у многих респондентов таких хобби нет, и они выбрали «Другое» в качестве варианта «против всех».
Другие популярные варианты — DIY (20%), умный дом (18%) и эксперименты с машинным обучением (17%). Как это ни удивительно, но компьютерные игры в свободное время пишут всего 13% опрошенных. Казалось бы, каждый программист в детстве хотел написать игру — но, видимо, с возрастом детские мечты утрачивают привлекательность. Самый непопулярный вариант — «ненормальное программирование» с Малболгом и Брейнфаком. Его выбрали только 2%.
Не вполне понятно, насколько типичный программист подвижен. 55% опрошенных заявили, что любят компьютерные игры, а 49% — что увлекаются спортом/фитнесом. Впрочем, примерно 26% любят и то, и другое одновременно. Так что, вероятно, типичный программист имеет фигуру бегуна, даже если по вечерам он бегун в дотку.
Среди прочих неайтишных хобби популярнее всего путешествия (36%), наслаждение различными искусствами (32%) и настольные игры (28%). Дальше идёт когорта «креативных» хобби — художественное творчество (22%), hand made (20%) и кулинария (19%). Удивительно, но самый непопулярный вариант — волонтёрство и благотворительность (3%). Впрочем, это не значит, что типичный программист не хочет сделать мир лучше. Просто он использует для этого профессиональные навыки, а не деньги в чистом виде или неквалифицированный труд.
Неизвестно, смотрел ли типичный программист «Клан Сопрано», однако он явно солидарен с главным героем. Конечно, не во всём, а в том, что главное в жизни — семья и близкие. Этот вариант выбрали 28% опрошенных. Следующие в иерархии ценностей — самореализация в работе (17%) и свобода и независимость (14%). Деньги идут лишь на четвёртом месте (здесь Тони Сопрано, пожалуй, поспорил бы).
Самое главное
Теперь, когда мы закончили с неважными вопросами, поговорим двух вещах, которые по-настоящему имеют значение.
Во-первых, типичный программист не любит смузи. Это такой же ложно-хипстерский стереотип, как пристрастие к коворкингам. За смузи проголосовал всего 1% респондентов. Типичный программист любит кофе (35%) и/или чай (30%).
Во-вторых, типичный программист — за традиционные ценности. Он справедливо полагает, что если уж и делать окрошку, то на квасе (46%). Или вообще не стоит портить оливье жижей (36%). Адептов кефира всего 17%.
Теперь вы знаете, как возможно выглядит типичный программист в 2024 году. Может быть, вы узнали в этом образе себя и уже готовитесь отправить знакомым ссылку на эту статью с комментарием «литералли ми». А может быть, вы осознали, насколько вы необычный и особенный программист. Так или иначе, надеемся, что от прочтения у вас остались исключительно позитивные эмоции. С праздником вас!