2021 год — знаковый для Python: в рейтинге популярности TIOBE он занял первое место. Поэтому сегодня публикуем статистику зарплат разработчика на Python за последние 10 лет. Возьмём условного Python Middle в Москве с опытом от 1 до 3 лет, а ещё рассчитаем реальное изменение доходов с учётом кризисов в экономике, пока у нас начинается курс по Fullstack-разработке на Python. Интересно? Поехали.


Наши источники — ежегодные отчёты roem.ru, зарплатная статистика Хабр.Карьера, цифры портала trud.com, аналитика агентства New.HR, а также данные сервиса Statista и аналитика IT-рынка от «Яндекса». С самого начала покажем простую, но красноречивую диаграмму по собранным данным:

Средний столбец — медианная зарплата, левый и правый — 20 и 80 процентили.
Средний столбец — медианная зарплата, левый и правый — 20 и 80 процентили.

Зарплата и инфляция

Номинально за 10 лет зарплата выросла на 225 %. Неплохо, но не учитывается инфляция, которая серьёзно меняет положение дел. Поэтому на сайте СтатБюро мы взяли статистику российской инфляции за 10 лет:

Затем привели зарплаты специалистов к уровню 2021 года. График реального роста с учётом увеличения денежной массы выглядит так:

Средний столбец — медианная зарплата, левый и правый — 20 и 80 процентили.
Средний столбец — медианная зарплата, левый и правый — 20 и 80 процентили.

При этом из Middle в Senior программист вырастает за 3–4 года, а это на 30–40 % больше денег.

На диаграмме видим, что зарплаты растут как в номинальном, так и в абсолютном выражении, потому что дефицит программистов никуда не уходит. По разным данным, он сохранится ещё 5 лет. 

Статистика с перерасчётом несколько удивляет. Средние зарплаты объективно выросли на 38 % за 10 лет. Это не 225 % на первом графике, но цифра показывает стабильное, уверенное развитие отрасли. К сожалению, собрать цифры из одного источника не получилось — их просто нет. 

Иногда данные сильно различаются. Выделяются данные рекрутинговых агентств. Возможная причина — агентствам важно удовлетворить и компанию, и соискателя.

  • Согласно аналитике New HR средняя зарплатная вилка Python-разработчика в 2020 году — от 150 до 200 тысяч рублей. 

  • На сайтах поиска работы ставка снижается: её устанавливает работодатель. Мы постарались учесть и это.

  • Статистика Trud.ru хуже — средняя ЗП по их вакансиям — 105 тысяч.

Заметны другие интересные моменты, которые хочется пояснить отдельно. 

Резкий скачок верхней границы зарплат в 2013 году

Связан он с именем Джеффри Хинтона и разработкой первых в мире нейронных сетей с глубоким обучением. Хинтон и его студенты — Алекс Крижевский и Илья Суцкевер — создали AlexNet.

Нейросеть легко обошла все существующие системы распознавания изображений. Хайп вокруг был просто невероятным. «Яндекс» стал тестировать механику ИНС ещё в 2013-м, а в 2016 году полноценно внедрил её в поиск на yandex.ru. Востребованность разработчиков выросла мгновенно: компании стали предлагать гораздо больше денег. Три года зарплаты росли стабильно и с хорошим темпом.

Застой 2015–2016 годов

В 2014 году пришёл кризис, и в IT ощутили его влияние. Инфляция выросла, доходы предприятий упали, и даже крупные концерны пересмотрели бюджет. Зарплаты продолжили расти формально, но инфляция съедала их быстрее.

Из застоя сфера стала выходить только в 2016, IT-предприятия начали возвращать мощности, появилось множество стартапов и компаний среднего размера. Рост зарплат в абсолютных масштабах виден уже с 2017 года.

А что сейчас? Востребованность

IT находится в режиме не быстрого, но стабильного роста. Зарплаты растут медленно, но уверенно. Не только в номинальном, но и в абсолютном выражении. Больно ударивший по всей экономике COVID-19 вместе с массовой удалёнкой и карантином привёл к обострению дефицита специалистов: бизнес глубже ушёл в онлайн, появилась потребность в анализе данных. 

В онлайн уходят и те, кто вчера ходил в маленький продуктовый, а значит, количество данных на серверах возросло, бизнес нарастил объёмы продаж и расширился. И вот что получается:

«За последний год финансовые ожидания выросли у системных аналитиков, SRE-инженеров (инженеров по мониторингу), специалистов в области информационной безопасности и дата-сайентистов», — рассказывает технический руководитель образовательных проектов VK Дмитрий Санников.

Популярность Python

Давайте посмотрим, насколько востребованы не только специалисты, но и язык. Вот таблица мирового рейтинга TIOBE, о котором мы писали выше:

В 2011 году позиции Python были куда хуже. Заметный рост популярности начался 10 лет назад, с приходом Deep Learning. В построении моделей машинного обучения Python показал отличные результаты — и стал активно расти. Активно — не то слово. Всего за 5 лет он завоевал стабильное место в пятёрке популярнейших языков.

Ниже график популярности самых распространённых языков с 2011 года. Посмотрите: Python по количеству вопросов, топиков и обсуждений со StackOverflow Python лидирует уже с 2018 года.

Java, JavaScript, C#, PHP и C++ уже почти 8 лет движутся медленно, даже сезонно. Выделяется именно Python: за 10 лет его популярность выросла в 3 раза. С шестого места в 2011 года он поднялся на первое в 2021 — и рост продолжается. 

Динамика была разной. С момента своего создания в 1991-м и до 2001 года язык был аутсайдером. По статистике TIOBE, в 2001 году Python добрался всего лишь до 25 места. 

С 2006 года Python стабильно показывал отличные результаты роста. И даже 4 раза получал награду TIOBE «Язык программирования года», которую присуждают за наибольшие темпы роста популярности.

Почему вообще Python стал популярным и показывает стабильные темпы роста, когда другие ЯП просто сохраняют свои позиции? Причины довольно понятны:

  • Синтаксис языка крайне прост, Python может изучить далёкий от программирования человек. 

  • Python прекрасно проявляет себя в аналитике и визуализации данных.

  • Machine Learning ускорило рост популярности языка и технологий: в 2010 году вышел фреймворк scikit-learn, который вывел ML и DL на новый уровень.

  • Ощутимое преимущество языка — огромная база пользователей. Ответы на многие вопросы найдутся на GitHub или Stackoverflow.

И ещё немного о востребованности. Вот что мы увидели сегодня на hh.ru:

Не теряйте время и приступайте к изучению питона. Выберите подходящий курс. Получите перспективную профессию со скидкой (только для Хабра) 50% до конца октября:

Также вы можете обратить внимание на пакет курсов по программированию, чтобы стать разносторонним специалистом.

Профессии и курсы

Комментарии (21)


  1. rqdkmndh
    23.10.2021 02:39
    -5

    Мне не зашел питон от слова совсем. Выбешивает, что блоки обозначаются отступами, а не скобками. Еще бесит, что я должен знать не только нужные функции, но и в каких подключаемых фалах они лежат.


    1. Yuribtr
      23.10.2021 08:26
      +1

      Признаться мне тоже поначалу строгий синтаксис Python казался излишне педантичным после Java. Однако через некоторое время именно лаконичность языка и одинаковый стиль написания кода во всех Python репозиториях привёл к тому что быстрее разбираешься в чужом коде (ну или своём через полгода-год). Это также ускоряет разработку, надо просто понять для чего так было сделано разработчиками.


    1. pehat
      23.10.2021 12:01
      +5

      Так неудивительно - питон изначально проектировался так, чтобы выпрямить руки говнокодерам ещё на стадии обучения.


      1. rqdkmndh
        25.10.2021 21:39

        Сочувствую, вашему болезненному процессу выпрямления рук - вы сами себе избрали такой путь. А я в вашу команду, как вы выразились "говнокодеров" - не собираюсь. У меня свой путь - не лучше, не хуже. В конце-концов на вкус и цвет...


    1. GlazOtca
      23.10.2021 20:35
      +1

      Это просто с непривычки. Если "войти во вкус", то потом за уши не оттянешь. И потом будешь думать, как это я раньше без него...


      1. rqdkmndh
        25.10.2021 21:48
        +1

        У меня стоит на персональном питон3, уже довольно давно. Много где используются скрипты на питоне, например, в пакете 3Dмоделирования CINEMA 4D плагины и скрипты. Я могу сам поправить или изменить скрипт на питоне, но дальше этого не пойдет. Просто мне не нравится. Не зашло.


    1. yorgo
      28.10.2021 20:30

      Соглашусь. Сделать whitespace, коих в юникоде великое множество (тот же таб), частью семантики языка это надо было додуматься. Если в 90-х это может и помогало ровнять чьи-то руки, то уже лет 20 как, с распространением IDE, это только мешает при копировании/вставке. Особенно весело когда код с поехавшими отступами остается синтаксически корректным, но семантика идет к чертям.


  1. ovn83
    23.10.2021 13:30
    -4

    Начинать надо с Си, Питон дурной язык для первоначального обучения.


    1. AmberSP
      23.10.2021 15:26
      +8

      А учиться водить машину - обязательно с механики на Газ-66


    1. webdi
      24.10.2021 14:35
      +1

      Многие когда-то начинали с Турбо Паскаля в учебном заведении или с Бейсика в школе...)


      1. ovn83
        24.10.2021 14:57
        -2

        Я и начинал с Бэйсика, Паскаль хороший Виртовский язык, учит грамотному программированию, но к сожалению умер. Питон, язык интерпретируемый, скриптовый, большая библиотека поверх Си и ++, учит не писать программу, а подключать библиотеки. "Программисты" уже ищут кнопку "Деньги"


        1. x67
          24.10.2021 15:16
          +1

          Раньше было лучше ©


        1. webdi
          24.10.2021 16:21
          +1

          А вы знаете Пайтон? Я вот только изучаю. Вполне себе язык, с современными конструкциями. А то что там различную функциональность принято отделять и паковать в библиотеки - так даже удобнее. Плюс формируется отсутствие страха перед подключаемыми библиотеками, расширением функционала.


          1. pehat
            25.10.2021 12:19

            Да он и Паскаля не знает - повторяет мантры школьного учителя по информатике из 80-х. Кратко:

            •Паскаль учит грамотному программированию. В смысле, в нем есть goto, к инструкции по применению к которому дана ссылка на статью Дейкстры. В смысле, в нем есть процедуры и функции, которые больше похожи на структурные единицы, чем куски простыни на мейнстримном лоховском BASIC. В смысле, он минималистичен настолько, что в стандартной библиотеке нет вообще ничего (если что - QSORT.PAS лежит в папке DEMOS в одной конкретной реализации языка от компании Borland, а не прописан в стандарте). Понимание того, что грамотное программирование - это использование переиспользуемых компонент и шаблонов проектирования, придёт где-то к середине девяностых.

            • Паскаль - хороший язык, потому что компилируемый. Ну быстрее там и все дела. Чтобы знать про Cython, возможности писать расширения на чистом C и вреде преждевременной оптимизации - надо головой жить хотя бы в нулевых.

            • Паскаль - хороший язык, потому что строгая типизация. Настолько строгая, что для использования указателей на сложные типы приходится писать лесенку из тайпдефов. Я понимаю, что в 80-х не существует форматов вроде JSON, но попробуйте написать парсер на досуге. Подсказка: используйте объекты универсального типа (да-да, вроде PyObject).

            • Секс с переполнением одно-, двух- и четырехбайтных переменных с последующим написанием длинной арифметики – курс молодого бойца, ослиный мостик, тест на профпригодность программиста. Из восьмидесятых, конечно же, ибо задач вроде глубокого обучения или написания бэкэнда не существует, поэтому о скорости написания кода в высокоуровневых абстракциях никто не думает. Да, программисты гораздо лучше владеют математикой и паяльником, но почему-то так и не смогли придумать реально математический способ записи циклов вроде питоновских list comprehensions.

            • Многозадачность? Какая ещё многозадачность, нет операционки кроме DOS, максимум доступной многозадачности - это программируемое прерывание таймера. Не существует никаких тредов, это ни к чему, 640 килобайт хватит всем (ладно, пофикшено в Delphi, но вроде бы только под винду)


            1. alexeishch
              28.10.2021 02:26

              В США отошли от обучения Паскалю в пользу С в 90-ые, и от С в пользу Java в нулевые. А потом для всех не программистов ввели изучение Питона.

              1. Питон логично растет, потому что в сфере западного высшего образования его знает любой не программист
              2. Java нелогично не растет, не смотря на то что его все изучают, его популярность падает.
              3. goto нужен только для ассемблера. Во всех остальных местах он как правило свидетельствует о том что программист поленился выделить кусок алгоритма в отдельную функцию. Да, компиляторы сейчас умные


          1. ovn83
            25.10.2021 14:36

            Простые приложения с GUI пишу на Питоне, для железок мне большего не нужно. Наворочено в него конечно много, например сахара для программиста, вместо самостоятельного написания функции он будет её искать в хэлпе, подключать библиотеки через pip и т.п.


    1. pehat
      25.10.2021 11:50
      +1

      Изумительная аргументация, батя.


    1. Adilet-novichok
      27.11.2021 15:45

      Кому как, моим сокурсникам, например, даже питон трудно даётся, не знаю что было бы если они начали с Си


  1. HemulGM
    24.10.2021 10:15
    +1

    Аналитика, визуализация данных, машинное обучение, машинное зрение - это всё в питоне сделано не на питоне


  1. schwab
    25.10.2021 11:03
    +2

    Удобство наше всё. Питон - настоящий ОО язык. Неважно на чём писались библиотеки и их классы, хоть на фортране, хоть на си или даже, не побоюсь этого слова вижуалбейсике. Питон их подключит, выдаст программисту доступ к функциям и классам и не вынесет мозг лишними зависимостями. К тому же, отсутствие скобок, точек с запятой и прочего, резко уменьшает количество синтаксических ошибок в процессе отладки.

    Питон напоминает старый Паскаль. Пока что это лидер во многих областях.

    Всё идёт к упрощению, не исключено, что в будущем будут визуальные программисты, которые будут собирать программу из визуальных блоков, как конструктор лего.

    Спасибо за статью!


    1. s7753191d
      27.11.2021 15:45

      Почему же в будущем?

      Уже увеличивается востребованность на конструкторов из имеющихся библиотек,

      почти уже визуальные программисты :),

      мнение не моё, читал статью несколько месяцев назад, а идея там такая

      "...в чужом коде мало кто хочет копаться, которого написано ооооочень много, и получается затратно это для бизнеса, т.к. постоянно надо нанимать всё больше программистов, которые будут долго и упорно править чужой код, а за ними придут другие, кто будет опять править... и нужно всё больше и больше программистов...,

      а вот исполняемый код из библиотек собрал как пазл и повторить эту сборку смогут легко вновь прибывшие на замену программисты...".