Какой язык программирования учить, чтобы за вами охотились HR крупных компаний
Десять лет назад язык программирования PHP был в лидерах рейтингов, а сейчас проекты в веб все чаще написаны на JavaScript и Python. Обидно потратить на изучение языка год или два, а потом остаться без работы.
Мы в Mail.ru Cloud Solutions изучили аналитику, исследования, мнения разработчиков и крупных работодателей о том, какие языки программирования будут востребованы в ближайшие годы. И рассказываем, на что ориентироваться при выборе.
Зарплата
Востребованность и перспективность языка можно оценить по зарплате, которую предлагают программистам. По данным «Хабр Карьеры», за второе полугодие 2019 года, самая высокая медианная зарплата у российских разработчиков, которые используют следующие языки.
- 1 место — Elixir, 165 000 рублей.
- 2 место — Objective-C, 150 000 рублей. Если посмотреть вакансии с этим языком, то от разработчика обычно требуется и знание Swift — преемника Objective-C.
- 3 место — Scala и Golang, 150 000 рублей. Причем в 2018 году Scala был лидером рейтинга.
Рост медианной зарплаты наблюдается у разработчиков на PHP, Python, C++, Swift, 1С и Ruby. Снижение зарплаты — у программистов на Kotlin (-4%) и Delphi (-14%).
Разработчики на Delphi зарабатывают почти в два раза меньше остальных.
На международном рынке ситуация другая. Судя по опросу, в котором приняли участие 90 000 пользователей StackOverflow, больше остальных зарабатывают программисты на Clojure, Scala, Go, Rust и R. Разработчикам на PHP, Assembly и VBA платят меньше, даже несмотря на больший опыт работы.
Чем больше круг на диаграмме — тем больше разработчиков используют язык.
Востребованность у работодателей
Проанализировав вакансии, не получится выявить перспективные языки, но можно посмотреть, какие технологии нужны работодателям сейчас. И ситуация вряд ли изменится в ближайшие пару лет — ведь, даже если язык устарел, проекты нужно поддерживать или переписывать. Например, Objective-C все еще нужен несмотря на то, что его заменили Swift.
По данным агентства DevSkiller, международным работодателям чаще требуются специалисты на JavaScript — этот язык упоминают в 40% вакансий. Судя по тому, что на втором месте HTML/CSS, а на четвертом — SQL, спрос на frontend-разработчиков выше. Java упоминается в 31% вакансий, .NET/C# — в 12% объявлений.
Как правило, компаниям нужны разработчики, владеющие сразу несколькими языками. Так, связка Java+SQL встречается в 26% вакансий, .NET+JavaScript — в 8%. В пяти из восьми сочетаний фигурирует JavaScript, который применяют как во front-end, так и в back-end.
По данным небольшого исследования HH, на осень 2019 года работодатели чаще искали программистов на Java, PHP, 1C, SQL, Python, C#, JavaScript, C+. JS немного отстает, так как его фреймворки: Vue, React, Ember, JQuery, Angular, учитывались отдельно. Если смотреть общую статистику, то в России этот язык также популярен.
Интерес сообщества
Когда разработчик сталкивается с чем-то непонятным, он гуглит вопрос. Сервис TIOBE анализирует количество запросов и составляет рейтинги популярности языков программирования.
К рейтингам стоит относиться осторожно — рост количества запросов необязательно означает востребованность языка у работодателей. Это общий индекс интереса к технологии в сообществах. Он показывает, какие языки используют и изучают разработчики.
В феврале 2020 года чаще всего программисты искали информацию по Java, C и Python. За год возрос интерес к С и С# — на 4,3% и 3,08% соответственно. Из списка 20 популярных языков, по всей видимости, выйдет Objective-C. Сервис предполагает, что падение на семь позиций за месяц произошло из-за «устаревания языка и укрепления позиций Swift, который его заменяет».
Учитывая усредненные годовые данные, TIOBE показывает изменения за последние пять лет. Стремительный рост у Python — он переместился с седьмого на третье место. В лидерах — классические Java и C, C++, C#.
Мнение сообщества
Портал для IT-специалистов Stack Overflow спросил 90 000 разработчиков о популярных языках программирования. Опрос показывает мнения международного сообщества — код на самых популярных языках вы встретите в проектах чаще остальных.
Чаще всего разработчики используют JavaScript — это язык лидер уже несколько лет. Если же сравнить рейтинги 2018 и 2019 годов, то рост популярности демонстрирует Python.
В рейтинге 2019 года (мнения за 2018 год) самыми любимыми разработчики назвали Rust, Python и TypeScript. Годом ранее в списке были Rust, Kotlin и Python.
Интерес у сообщества вызвали Python, JavaScript и Go, их хотят изучить 25,7%, 17,8% и 15% разработчиков соответственно. В рейтинге языков, с которыми разработчики не хотят связываться, первые три места заняли VBA, Objective-C и Assembly.
Популярность кода
В отчете Octoverse на Github можно посмотреть, какие языки чаще всего используют участники сервиса. Чем популярнее язык, тем выше вероятность, что будущий тимлид решит разрабатывать проект на нем.
На первом месте уже несколько лет находится JavaScript. В исследовании за 2019 год второе место занял Python, подвинув на строчку ниже Java, рост показывают C# и Shell.
Графики показывают популярность отдельных языков. Видно, что в последние годы Ruby используют реже.
Как выбрать перспективный язык для изучения
Работодатели рекомендуют изучать общую теоретическую базу в IT, а к языкам и технологиям относиться, как к инструментам — если нужно для конкретного проекта, то разбираться, если нет — не тратить время.
Не пытайтесь угадать популярный язык. Предугадать развитие технологий невозможно по разным причинам. На предпочтения разработчиков влияет не только техническая или коммерческая эффективность языка, но и присутствие государства в IT-секторе, и разногласия между крупными корпорациями.
Так, менеджеры Google из-за трений с Oracle по поводу использования Java сделали свой выбор в пользу Kotlin. И включили его в состав Android Studio 3.0 — официального инструмента для разработки операционной системы Android.Дмитрий Рогов, заместитель гендиректора по технологическому развитию «АйДи — технологии управления»
Избегайте устаревшего или модного. Если вы решили изучить какой-то язык, проверьте его актуальность — может быть, его постепенно заменяет более перспективная технология.
Вместо Objective-C для программирования на iOS стоит смотреть на Swift. К этой же категории можно добавить Erlang. Также сейчас много разнообразных JVM-языков, например: JRuby, Jython и JLog, на которые я бы не стал тратить время.Дмитрий Вдовин, старший программист группы разработки карты рассрочки «Совесть»
Директор департамента разработки ПО компании «Рексофт» Николай Сокорнов в начале пути советует не гнаться за модными языками вроде Go или Rust, а сосредоточиться на проверенном временем языке: для back-end изучать Java, для front-end — JavaScript.
Выбирая язык или технологию для изучения, нужно смотреть не только на спрос среди работодателей, но и на общую ситуацию на рынке труда. Так, Дмитрий Рогов утверждает, что перегретость сейчас заметна у языка Java. Правда, только на уровне начинающих соискателей: «Мы наблюдаем переизбыток предложений, на собеседования приходят выпускники курсов и самоучки. Они не соответствуют запросам работодателей и собственным зарплатным ожиданиям».
Не ограничивайтесь одним языком. Стоит не только учитывать запросы рынка, но и свой интерес. Найти работу несложно, если вы не просто знаете язык, а разбираетесь в сути технологий.
Язык определяет мышление. Выбрав на старте JavaScript, вы затрудняете себе понимание back-end. Разрабатывая на C++, вы не ощущаете легкости параллельной обработки сотни HTTP REST запросов. Выбрав одну тему и освоившись с ней, посмотрите на другие технологии.Анна Мелехова, архитектор платформы Acronis
Как выбрать язык программирования
- Узнайте, какую зарплату предлагают разработчикам на различных языках.
- Посмотрите, насколько востребован язык у работодателей: специалистам по редким языкам могут платить больше, но и работу найти сложнее.
- Отсейте устаревшие языки, которым уже нашли замену.
- Посмотрите, насколько большое сообщество у выбранного языка. В перспективе вам будет проще найти ответы на сложные вопросы.
- Изучайте то, что интересно, и не ограничивайтесь одним языком.
Статья подготовлена Mail.ru Cloud Solutions