Найти тему

Почему С++ программистам мало платят?

В ряде исследований рынка труда обнаруживается странная закономерность – среди программистов, плюсовикам платят заметно меньше, чем, допустим, специалистам по Golang, Ruby, Scala, JS и некоторым другим. С чем связана такая несправедливость? Ведь С++ считается одним из самых сложных языков программирования. Логично, что и платить должны больше.

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

Чем товар нужнее и чем его меньше – тем он дороже и, напротив, если товара много, но он мало кого интересует – товар дешевеет. Хороший пример – медицинские маски в 20м году. Внезапно спрос на них вырос в сотни раз – соответственно цена устремилась в небеса. И, лишь когда нарастили производство, догнав его до потребностей, цена масок стабилизировалась.

Не нравиться пример с товарами? Пожалуйста – прямо сейчас открыл вакансии переводчиков в Санкт-Петербурге. «Англичанам» предлагают от 50-60тр. Это неудивительно – English знает «каждая собака». Зато переводчику с персидского готовы платить от 250тр! Что тоже закономерно – специалистов, вероятно, очень мало, а востребованность высокая – ведь, в связи с санкциями, экономические связи и торговля с Ираном стремительно набирает обороты.

С С++ же сложилась ситуация, что программистов много, но сам по себе язык теряет позиции, вытесняясь более современными и простыми альтернативами. Внедрение новых стандартов – С++17, С++20 - несколько замедляют этот процесс, но неспособно преодолеть концептуальные ограничения языка. Хотя, вероятно, С++ будут использовать ещё долго, но во всё более узком спектре применений – системное программирование и там, где нужна максимальная производительность.

С++ программистов же много по ряду причин:

  • Основы С++ преподают в большинстве технических ВУЗов. Соответственно, студенту, только получившему диплом, легко попробовать себя на поприще IT, спозиционировавшись, как плюсовику. Многие, найдя первую работу, так и продолжают свою карьеру, не развиваясь в сторону изучения других технологий. А вот стать программистом на другом языке (даже более примитивном) – так легко не получиться: нужно записываться на курсы или заниматься самообразованием, что требует личной целеустремлённости и усидчивости (без мотивирующих «пинков», как это было в институте).
  • Языку уже под сорок лет. Некоторые, кто начинал на нём программировать ещё в молодости, уже успели выйти на пенсию. Соответственно, С++ программисты есть во всех возрастных категориях. В то время, как более современными языками владеют преимущественно специалисты помоложе. Увы, по себе чувствую – в солидном возрасте изучение чего-то нового происходит много медленнее и тяжелее. Ещё освоить дополнения из нового стандарта могу, но не начинать учить другой язык «с нуля».
  • Как следствие первых двух пунктов – по С++ огромное количество книг, учебных материалов, курсов. Практически на любой вопрос можно найти развёрнутый ответ в интернете. А вот, но новым языкам, порой, нужно искать информацию «по крупицам». Так что, хоть С++ и сложный язык, но изучить его может быть даже проще.
  • Компиляторы С++ есть практически для всех аппаратных платформ и операционных систем, что делает язык универсальным. В то время как полноценная реализация, допустим, C# имеется только для Windows.