Недавно (в конце марта 2016 года) делал исследование перспективности языков программирования на upwork.com для одного из своих проектов и подумал, что это может быть интересно кому-нибудь ещё.
В первую очередь меня интересовало соотношение спрос/предложение по наиболее популярным ЯП, а так же уровень оплаты труда по каждому из них. Так же мне было любопытно какой уровень квалификации ожидают работодатели (и соответственно сколько они предполагают платить)
Процентное соотношение офферов по популярным языкам программирования
На самом деле большая часть JavaScript и PHP офферов пересекаются, так что в реальности у остальных ЯП должно быть чуть больше процентов, но в то же время какие-то языки сюда вовсе не попали.
Отбор языков программирования
Поиском в гугле были отобраны топовые языки программирования (ЯП)
- Java
- Python
- Javascript
- C++
- C#
- SQL
- PHP
- Swift
- Ruby
Я позволил себе убрать из исследования SQL: работа исключительно программистом базы данных на апворке весьма редка, такие разработчики требуются чаще в крупные корпорации на постоянку, а на апворке знание SQL идет просто как практически обязательное дополнение к какому-либо другому основному языку.
Поиск офферов на upwork.com
Соотношение офферов вы видели на картинке выше, но кроме этого меня так же интересовали ожидания работодателей к уровню специалистов.
Я предполагал, что для разных ЯП ожидания работодателей будут сильно разными, но на практике разница оказалась незначительной.
Чуть больше ожидают экспертности от Java, C++, C# и Ruby разработчиков и чуть больше терпимы к новичкам в PHP и внезапно опять же C#.
В среднем — 51,5% работодателей ожидает intermediate, 26,5% expert и 22% entry.
Поиск работающих фрилансеров
К большому сожалению поиск по фрилансерам C++ (3%) и C# (5,9%) не давал актуальных результатов. По этой причине мне пришлось убрать их из дальнейшего исследования, не смотря на то, что спрос на них больше, чем на те же Ruby (4,5%) и Swift (2,5%). Простите мне это, пожалуйста.
Есть два типа "фрилансеров" на апворке — те, кто зарабатывает там и те, кто только зарегистрировался и забил. Я считаю, что неактивные аккаунты не представляют конкуренции и решил сделать поиск только по аккаунтам, заработавшим на апворке хотя бы доллар.
Мне так же было интересны их ожидания об оплате труда.
При поиске фрилансеров на апворке можно фильтровать их по часовой ставке:
- < 10$
- 10 — 30$
- 30 — 60$
60$+
С учетом того, что все они хоть сколько-то да зарабатывают это может дать какую-то картину того на каком ЯП больше зарабатывают по сравнению с другими.
Если мы будем говорить только о самых высокооплачиваемых фрилансерах, то рейтинг будет таким:
- Python
- Ruby
- Swift
- Java
- Javascript
- PHP
Думаю 1 место Python связано с тем, что сюда же попадают разные высокооплачиваемые аналитики, которые часто его используют и указывают в навыках.
Если же брать от "средней" для апворка ставки 30$+, то Python и Swift поменяются местами:
- Swift
- Ruby
- Python
Самое главное: соотношение спрос/предложение
Простым делением общего количества офферов на количество аккаунтов фрилансеров по каждому ЯП была получена такая картина:
Цифры означают сколько офферов приходится на каждого работающего фрилансера. Рейтинг таков:
- Python (0,279)
- PHP (0,229)
- Ruby (0,216)
- JavaScript (0,200)
- Swift (0,188)
- Java (0,172)
Критика исследования
- Как отметилось выше, картина не полна, так как пришлось убрать из исследования C# и C++, оба языка отличные и могли бы побороться за рейтинги
- JavaScript и его рейтинги не однозачен. Мы все прекрасно понимаем, что сделать анимацию на jQuery, полноценное приложение и бэкенд — 3 разных задачи совершенно разного уровня. В этом исследовании это никак не оценивается, но насколько мне известно программирование на Node.JS сейчас один из топовых трендов в глобальном мире разработки.
Я убрал из исследования неактивных фрилансеров, но не фильтровал работодателей по рейтингу или по количеству оплаченных часов. Многие офферы вечно висят не закрытыми, что может значительно искажать цифры на последней диаграмме. Тем не менее на распределение рейтинга это скорее всего не влияет.
Выводы
- Сложно конкурировать с индусами кодя на PHP, но на хлеб заработать всегда можно
- Разработчиков мобильных приложений много, конкуренция выше чем для других ЯП, но те, кто кодит под iOS получают хорошо
- Python и Ruby — хорошие языки для врыва на апворк
- Вас может быть сложно найти работодателям, если вы разрабатываете под C# и C++, вам нужно самим слать proposals
А ещё копетан очевидность на ухо шепчет, что:
- Вам нужно знать английский
- Знание SQL необходимо на каком языке вы бы не кодили
- Понимание JavaScript необходимо, если вы собираетесь кодить под Web
Буду признателен за объективную критику исследования и советы как его дополнить и сделать более полезным.