Статья «Навыки .NET-разработчика» была первым моим аналитическим исследованием востребованности навыков на рынке труда, в котором я показал потребности близкого к нам российского рынка в специалистах моей профессии. В этом материале я представляю сравнение с зарубежным рынком. Говорят, что наш IT-рынок в целом и используемые нами технологии в частности отстают от Запада на несколько лет. Давайте вместе посмотрим «за рубеж» и попробуем понять, так ли это и есть ли нам чему поучиться.
Содержание
Подготовка к анализу
Предыдущий анализ потребовал практически вручную обработать 300 вакансий, что оказалось крайне трудоемкой и слишком рутинной работой. Поэтому сейчас у меня на руках не только результаты нового исследования, но и усовершенствованные инструменты! Я реализовал утилиту, при помощи которой текст вакансий загружается с целевого сайта, затем разбирается на отдельные слова и словосочетания, а затем по специальному словарю преобразуется в навыки. Предполагаю развивать утилиту и дальше, добавляя при необходимости новые адаптеры к различным сайтам вакансий, и обучая программу, помогая ей сопоставлять те или иные встречающиеся в вакансиях выражения навыкам.
Новый инструмент помог мне осилить в этот раз более 500 вакансий, из которых в 430 случаях искали специализированных .NET-разработчиков, а 70 лишь косвенно касались .NET. Суммарно обработано порядка 15000 слов и 550 различных навыков.
Зарубежные вакансии я брал с популярных ресурсов Stack Overflow Careers и Monster.com.
Если вам захочется
Репетиция
Впервые о результатах этого исследования я рассказал на конференции SkillsWiki ".NET-разработчик глазами работодателей России и зарубежья". Тогда я и собрал первую обратную связь по моим выкладкам и выводам. В частности, слушателей заинтересовали результаты исследования, но они захотели получить больше различных срезов и выводов по приведенному сравнению между Россией и США. Кстати, меня также спрашивали про аналогичное исследование по менеджерам, одну из тем моих будущих исследований.
Что ж, я надеюсь не подвести и удовлетворить и ваше любопытство, начнем!
Рейтинг востребованных навыков
Как и ранее, первым делом ознакомимся с топ-10 самых популярных навыков по рынку труда. Для удобства восприятия в рейтинге все навыки разделены на 3 группы: технологии, профессиональные (hard) и общие компетенции (soft skills).
Рейтинг технологий
Как видим, различия в популярности технических навыков малозначительны, чего не скажешь о зарплате. В левой части по России зарплата указана в рублях в месяц, а в правой по США – в долларах в год, то есть ровно так, как и указывается в описании вакансий. Не спешите пересчитывать доход ASP.NET-разработчика США на наши рубли. Я уже это сделал за вас: получается около 380 000 рублей в месяц по текущему курсу валюты. А если серьезно, то прямое сравнение здесь не очень уместно. Во-первых, различное налоговое законодательство: например, в США выплаты могут составлять третью часть дохода. Во-вторых, для полноценного сравнения нужно учитывать уровень жизни в целом, а это уже отдельная большая тема. Поэтому предлагаю сравнивать зарплаты относительно друг друга только в рамках одной страны.
Вернемся к рейтингу востребованности (популярности) навыков. И все же в нем можно отметить небольшие расхождения:
- Опыт работы с Windows Forms не вошел в топ-10 навыков США, так как такое требование встречается всего в 4% вакансий. Статистика по рынку США только подтверждает, что эта технология относится к разряду умирающих.
- Знание ASP.NET MVC требуется только в 56% вакансий. Принимая во внимание это и низкую популярность Windows Forms, возникает вопрос: может быть, в США меньше требуется разработчиков Front-end в целом – или же это место занимают другие технологии? Суммарно ASP.NET, ASP.NET MVC и Windows Forms встречаются в 64% вакансий, вместе с упоминанием JavaScript или его frameworks уже 76%, что уже вполне сопоставимо с российскими вакансиями, где участие в разработке Front-end требуется в 78% случаев. Построение рейтинга технологий по оставшимся 24% показывает, что наиболее популярные среди них навыки – это знание Transact-SQL и SQL Server, а также тестирование. При выборочном просмотре предложений видно, что это вакансии лидеров команд разработки, разработчиков инфраструктуры и Back-end.
- В США Entity Framework не попал в топ-10, так как встречается только в 8.5% вакансий. Даже вместе со всеми остальными встретившимися технологиями доступа к данным процент едва достигает 12.5%. Возможно, в вакансиях США работодатели по каким-то причинам не считают важным уточнять конкретные реализации ORM. Тем не менее, знание SQL Server требуется более чем в половине вакансий.
- Отдельно стоит упомянуть JavaScript frameworks, которые набирают обороты и в США уже попали в топ-10, так как встречаются в каждой десятой вакансии. Самым распространенным оказался angular.js (упомянут в 29 вакансиях), следом за ним с примерно одинаковой популярностью идут backbone.js, knockout.js и node.js.
JavaScript framework | Популярность, % |
---|---|
angular.js | 6,7 |
backbone.js | 3 |
knockout.js | 2,3 |
node.js | 2,3 |
ember.js | 1,4 |
ext.js | 0,7 |
react.js | 0,7 |
flux.js | 0,2 |
marionette.js | 0,2 |
require.js | 0,2 |
underscore.js | 0,2 |
Рейтинг профессиональных навыков
В требованиях к профессиональным навыкам отличия гораздо более яркие.
Во-первых, сразу бросается в глаза обилие требований к навыкам повышения качества не только программного кода, но и итогового продукта: в частности, навыки тестирования (не только автоматизированного, но и ручного), Unit-тестирования, TDD и Code Review. Все эти навыки крайне редко встречаются в требованиях работодателей к российским разработчикам. В США в целом в гораздо большей степени интегрированы разработка и тестирование, что можно видеть не только на примере этой статистики, но и по крупным корпорациям. Например, это новости прошлого года о крупных сокращениях тестировщиков в Microsoft по инициативе нового генерального директора Сатья Наделлы, который говорил об ответственности за качество приложений самих разработчиков.
Во-вторых, заметная роль отводится пониманию Agile-методологий и умению работать по этим принципам в командах. В США Agile перешел из разряда новомодных тенденций в рабочий инструмент.
Также у меня сложилось впечатление, что в США в меньшей степени уделяется внимание навыкам чтения чужого кода.
Рейтинг общих компетенций
В рейтинге общих навыков различия наиболее значимы. Вполне логично отсутствие востребованности в знании английского языка в США. Тем не менее, есть и содержательные отличия:
- Навыки коммуникаций у разработчика США занимают основное место, так как требуются практически в каждой третьей вакансии, когда у нас всего в 8% вакансий, а также уметь излагать понятно свои мысли в 4% случаев.
- Также от американских разработчиков требуют такой важный навык как «problem solving», в совокупности с «working with deadlines» и «detail-oriented». Это позволяет понять, что разработчик должен уметь действовать не только техническими методами, решать бизнес-задачу, ориентироваться на пользователя и его потребности, а не только на код.
В целом рынок США ориентируется не просто на технического специалиста со знанием дела, умением проектировать архитектуру, знанием различных инструментов и подходов, способностью проектировать тесты на разрабатываемый функционал и непосредственно тестировать его, но и своего рода консультанта с технической экспертизой. В России подобное встречается довольно редко, как правило, это две разные профессии.
Интересные факты
Некоторые интересные выводы можно сделать только по статистике, которая скрывается под пиком айсберга популярных навыков.
Например, меня, как человека, выпустившего приложение для Windows Phone заинтересовало, насколько популярна разработка под те или иные платформы среди .NET-разработчиков? Оказалось, что и здесь платформа Android опережает Windows Phone. Опыт разработки, в том числе под Android, предполагался в 11 вакансиях против всего 3 на Windows Phone!
Мобильная платформа | Популярность, % |
---|---|
Android | 2,5 |
Windows Phone | 0,7 |
iOS | 0,2 |
Также видно, что постепенно развиваются облачные технологии. Суммарно технологии Microsoft и Amazon требуются в 6,7% вакансий (29 шт.). Востребованность технологий Amazon и Microsoft отмечает и Gartner: Microsoft — the only vendor named a leader in Gartner Magic Quadrants for IaaS, Application PaaS, and Cloud Storage.
Облачная технология | Популярность, % |
---|---|
Windows Azure | 3,5 |
Amazon Elastic Compute Cloud | 1,6 |
Amazon Web Services | 1,6 |
Явно прослеживается прирост вакансий, связанных с обработкой больших массивов данных (Big Data). Например, замечено, что на рынке США присутствуют позиции Data Scientist, тогда как в России отсутствуют вовсе (на момент прошлого анализа). Примечательно, что сам термин Big Data в вакансиях США практически не используется и был замечен только в 1 вакансии.
Детализация по рынку США
Ниже представлены наиболее высокооплачиваемые комбинации навыков. В рейтинг попали 3 сочетания распространенных навыков, позволяющих найти вакансии с доходом в среднем 130 000$ в год.
Комбинация навыков | Описание |
---|---|
Design patterns, Multithreading, OOP, Software architecture, SQL Server, WCF, XML/XSLT | Наличие опыта построения архитектуры всего приложения, сервисов и базы данных. |
ASP.NET, Design patterns, HTML/JavaScript/CSS/JQuery/AJAX, Oracle, SQL Server, WCF, XML/XSLT | Опыт разработки ASP.NET-приложения, верстка Front-end, умение работать со службами и базами данных. |
IIS, Oracle, PL/SQL, Source control, TFS, Visual Studio, WCF | Опыт разработки и развертывания веб-служб, работа с базами данных, написание PL/SQL-процедур. |
В рейтинге самых популярных навыков по количеству упоминаний в вакансиях первое место уверенно занимает классическая связка ASP.NET, HTML/JavaScript/CSS/JQuery/AJAX, SQL Server/Transact-SQL. Она встречается сразу в 130 вакансиях (более 30%). Остальные комбинации навыков лишь дополняют ее в различных вариациях. Для сравнения наиболее популярная связка вместе с применением WPF: WPF, Design, Design patterns, SQL Server/Transact-SQL – упоминается лишь в 9 вакансиях (около 2%).
Ниже представлен рейтинг навыков по математическому ожиданию, иным словами, попытаемся понять соотношение популярности навыка и его оплачиваемости.
Навык | Математическое ожидание, $ |
---|---|
ASP.NET | 58 316 |
SQL Server/Transact-SQL | 54 550 |
HTML/JavaScript/CSS/JQuery/AJAX | 53 200 |
Design | 29 135 |
Design patterns | 28 713 |
SQL | 27 753 |
Web services | 24 198 |
Team player | 23 105 |
WCF | 22 626 |
Testing | 22 594 |
Communication skills | 21 523 |
OOP | 20 379 |
XML/XSLT | 19 740 |
Agile | 19 719 |
Visual Studio | 18 512 |
Software architecture | 17 995 |
Documentation | 15 506 |
Problem solving/Troubleshooting | 14 852 |
Unit tests | 14 483 |
SOAP | 12 415 |
WPF | 11 656 |
Данный рейтинг направлен не на выявление самых оплачиваемых или популярных навыков, а тех, которые позволяют обеспечить лучший доход в среднем по рынку. На него стоит ориентироваться прежде всего тем, кто только входит в профессию и хочет получить в первую очередь востребованность, а уже во вторую высокий доход.
Например, можно заметить по первым графикам, что зарплаты ASP.NET и WPF-разработчика в США и России находятся примерно на одном уровне, но огромная разница в их популярности делает ASP.NET гораздо более ликвидным вложением в развитие нежели WPF.
При анализе результатов появилась гипотеза, что многие из навыков могут быть востребованы только в определенном зарплатном диапазоне и их востребованность с ростом зарплаты постепенно снижается или наоборот возрастает. Попробуем простроить график популярности навыков для каждого зарплатного предложения. Здесь и далее будем использовать технологические навыки, поскольку для остальных навыков статистика гораздо меньше и сложно проследить какие-либо корреляции.
Такой график сложно анализировать, поскольку по определенным зарплатным предложениям слишком мало вакансий, поэтому агрегируем данные по диапазонам зарплат, чтобы избежать провалов, и заодно уберем с графика отображение популярности навыков для максимальных и минимальных зарплат.
Уже гораздо лучше, но можно заметить, что многие графики похожи на нормальное распределение, как и график количества вакансий.
Поэтому прежде стоит проделать еще один шаг: преобразовать количество вакансий в процент вакансий, в которых навык встречается.
Поскольку сильных всплесков не наблюдается, разве что в диапазоне в 110 000 заметен сильный перекос в сторону применения WPF и XML/XSLT и снижения доли SQL Server и HTML-технологий, то стоит обратить внимание на линейный тренд.
Заметно, что есть навыки, требования к которым стабильны в любой ценовой категории – это ASP.NET и HTML/JavaScript/CSS. Есть группы навыков, спрос на которые снижается с ростом зарплаты: SQL Server/Transact-SQL, JavaScript frameworks и WPF. И навыки, набирающие популярность: WCF, Web Services, SOAP, XML/XSLT, IIS и совсем незначительно Source Control.
По графикам заметно, что в определенные моменты времени навыки набирают популярность или ее теряют, поэтому стоит также найти наиболее популярные навыки в каждом из диапазонов.
50 000-59 999$ | 60 000-69 999$ | 70 000-79 999$ | |||
---|---|---|---|---|---|
SQL Server/Transact-SQL | 82 | SQL Server/Transact-SQL | 60 | HTML/JavaScript/CSS/JQuery/AJAX | 68 |
ASP.NET | 82 | HTML/JavaScript/CSS/JQuery/AJAX | 55 | ASP.NET | 64 |
HTML/JavaScript/CSS/JQuery/AJAX | 73 | ASP.NET | 45 | SQL Server/Transact-SQL | 56 |
Visual Studio | 45 | SQL Server/Transact-SQL | 40 | XML/XSLT | 36 |
VB.NET | 36 | Web services | 30 | Web services | 20 |
Adobe Photoshop | 27 | XML/XSLT | 25 | Visual Studio | 20 |
PHP | 27 | Visual Studio | 20 | WPF | 20 |
JSON | 27 | JavaScript frameworks | 20 | VB.NET | 16 |
SQL Server Management Studio | 27 | subversion | 20 | WCF | 16 |
Adobe Creative Suite | 27 | VB.NET | 15 | Entity Framework | 16 |
80 000-89 999$ | 90 000-99 999$ | 100 000-109 999$ | |||
ASP.NET | 65 | ASP.NET | 77 | HTML/JavaScript/CSS/JQuery/AJAX | 71 |
SQL Server/Transact-SQL | 65 | SQL Server/Transact-SQL | 71 | SQL Server/Transact-SQL | 67 |
HTML/JavaScript/CSS/JQuery/AJAX | 54 | HTML/JavaScript/CSS/JQuery/AJAX | 58 | ASP.NET | 60 |
Web services | 32 | WCF | 31 | Web services | 29 |
XML/XSLT | 24 | Web services | 21 | Visual Studio | 24 |
WCF | 19 | XML/XSLT | 17 | WCF | 21 |
WPF | 14 | Entity Framework | 15 | XML/XSLT | 14 |
SOA | 14 | Visual Studio | 15 | mobile dev | 14 |
Entity Framework | 11 | VB.NET | 13 | SOAP | 12 |
SOAP | 11 | TFS | 13 | JSON | 12 |
110 000-119 999$ | 120 000-129 999$ | 130 000-139 999$ | |||
ASP.NET | 62 | SQL Server/Transact-SQL | 72 | HTML/JavaScript/CSS/JQuery/AJAX | 80 |
Visual Studio | 38 | HTML/JavaScript/CSS/JQuery/AJAX | 67 | ASP.NET | 80 |
SQL Server/Transact-SQL | 35 | ASP.NET | 61 | WCF | 40 |
XML/XSLT | 35 | WCF | 44 | SOAP | 40 |
Web services | 31 | Web services | 39 | Visual Studio | 40 |
WPF | 31 | SOAP | 22 | XML/XSLT | 40 |
HTML/JavaScript/CSS/JQuery/AJAX | 27 | SOA | 22 | TFS | 40 |
LINQ | 27 | Sharepoint | 22 | IIS | 40 |
SOAP | 23 | Orchard CMS | 17 | VB.NET | 40 |
HTTP/TCP | 23 | Visual Studio | 11 |
По этим данным видны следующие интересные моменты:
- Неожиданно, что VB.NET хоть и не сильно популярен, но стабильно входит в число популярных технологических навыков вплоть до уровня дохода в 100 000$.
- WPF в некоторых ценовых диапазонах, в основном до 90 000$ и в диапазоне 110-120 000$, имеет популярность, но в общем рейтинге и в наиболее массовом диапазоне 90 000-100 000$ не обладает весом.
- Доля навыков по работе с веб-службами растет вместе с повышением заработной платы. В частности, WCF набирает популярность до 44% в некоторых диапазонах.
В остальном список топ-10 навыков для всех диапазонов зарплат не преподнес сюрпризов: ключевые места удерживают именно те навыки, которые и попали в общий список топ-10 навыков.
Заключение
На этом обзор востребованных навыков .NET-разработчика в США и России завершен. Пишите комментарии и пожелания на будущие исследования, также приветствуется взвешенная критика.
В следующем обзоре будет рассмотрен Java-разработчик: данные уже подготовлены, было проанализировано порядка 20000 навыков – так что ждите статьи!
Послесловие
4 августа 2015 года
Коллеги, уважаемые, еще раз всех приветствую!
Ваши комментарии здесь, а также аналогичные обсуждения на других ресурсах подтолкнули меня написать небольшое дополнение к статье.
Как я увидел, по прочтению статьи многие сделали выводы, что это обзор от HR и потому он был сделан очень формально, без понимания специфики профессии и прочего, но при этом исследование претендует на объективность. Хочу развеять эти мифы.
- Обзор мне помогли подготовить друзья: все мы работаем в крупных известных IT-компаниях, каждый в .NET-разработке 8+ лет непосредственно, скажем так, по локоть в коде.
- Мы постарались максимально качественно обработать единственный массово доступный источник информации по востребованности навыков — вакансии. Многие ключевые слова объединялись в единый навык, какие-то вовсе опускались, порядка 13 000 слов было обработано вручную, не считая обработки полученной в итоге статистики. Представленный в статье рейтинг навыков, по моему мнению, не является эталоном, но дает возможность обратить внимание на неожиданные вещи или лишний раз утвердиться в правильности предположений.
И это всего лишь один из возможных взглядов на наши навыки. К примеру, можно взглянуть на востребованность навыков со стороны:
- Экспертов и компаний. Вот примеры таких обзоров навыков:
- Sijin Joseph попытался описать матрицу навыков разработчика: sijinjoseph.com/programmer-competency-matrix;
- мнение от Scott Hanselman в виде вопросов для собеседований: www.hanselman.com/blog/WhatGreatNETDevelopersOughtToKnowMoreNETInterviewQuestions.aspx;
- карта развития .NET-разработчика для студентов: edu.cbsystematics.com/ru/education/roadmap.
- Государства. Уже слышали про НАРКов? Нет, это не шутка, а Национальное агентство развития квалификаций, на портале которого вы найдете профессиональный стандарт для программистов. Советую посмотреть, особенно близко это должно быть для разработчиков из государственных компаний.
- Вакансии компаний, чем мы и воспользовались. По этой теме вы найдете только обзоры с рассмотрениями срезов по языкам программирования, зарплатам, городам и странам, но не по отдельным навыкам профессий. Поэтому и родилась статья, как мне кажется, устраняющая недостатки этих «стандартных» обзоров по языкам программирования.
- Мнение профессионального сообщества и экспертов. Пожалуй, это самое интересное, но пока все еще отсутствующая точка зрения. Увы, ее можно встретить только как в виде отдельных и узкоспециализированных голосований.
Если у вас есть предложения по улучшению или мнение, как узнать альтернативный взгляд на навыки разработчиков или иных специальностей, конечно же, пишите нам, постараемся все учесть! Например, сейчас мы активно ищем опытного Java-разработчика, чтобы по максимуму взять от следующего обзора — присоединяйтесь!