- PVSM.RU - https://www.pvsm.ru -
Уверен, что разработчики часто задаются вопросом, какие их профессиональные навыки компании ценят больше всего. К примеру, при смене работы или, когда внезапно обнаруживают, что работают в компании так давно, что окружающий мир, скорее всего, ушел далеко вперед.
Этой публикацией я начинаю цикл аналитических статей по анализу необходимых и востребованных навыков для различных специализаций на российском и зарубежном IT-рынке.
Как родилось это исследование?
Участвуя в подборе как начинающих, так и опытных разработчиков, постепенно стал замечать, что многие соискатели не обладают основными необходимыми навыками. И речь не про специфику конкретной предметной области, а про основные знания разработки приложений на платформе .NET. Такие собеседования обычно завершаются обсуждением с коллегами за чашкой чая самых острых моментов собеседования кандидата. Но все же интереснее разобраться, почему разработчики не осваивают те или иные навыки, несмотря на достаточный стаж работы, и каким образом можно построить развитие на их месте?
Итак, представим себя на месте начинающего разработчика Васи. 2 года работы программистом позволили Василию узнать основы .NET Framework, научиться работать с SQL Server и даже почитать про устройство сборщика мусора. Базовые знания и навыки, позволяющие создавать .NET-приложения, на месте – чем не .NET-разработчик? Но периодически Василий думает, что пора бы уже двигаться дальше, не всегда же оставаться Junior-разработчиком. Как дальше расти? Какие есть варианты?
Василий смотрит на карьеру своих старших коллег и в его голову приходит самый простой вариант: буду сидеть на своем месте работы лет 5, активно участвуя в проектах – и тогда, скорее всего, меня сделают Senior-разработчиком или может, дай бог, архитектором. Но внутренний голос не дает покоя Васе: может не все так просто, ведь ведущий разработчик и архитектор обладают какими-то особенными навыками, которые их выделяют среди остальных разработчиков – может нужно разобраться с тем, что это за навыки, и что нужно сделать, чтобы их развить в себе?
Какие варианты есть у Васи?
Вполне логично поискать информацию о том, какие навыки сейчас актуальны в IT и как их прокачать на каком-нибудь профильном Интернет-ресурсе. Что сразу приходит в голову: Хабрахабр [9], RSDN [10], SQL.ru [11]? Но нет, эти ресурсы скорее расширяют наш кругозор, чем дают нам информацию о том, какие навыки сейчас востребованы. Есть и другие ресурсы, которые посвящены обучению навыкам, к примеру: Pluralsight [12] и Coursera [13] – если бы Вася точно знал, что он хочет изучить, эти ресурсы помогли бы ему. И, конечно, не стоит забывать про профессиональные конференции. Они также полезны как для расширения кругозора, так и развития конкретных навыков, но все равно не могут ответить на вопрос Василия: в каком направлении ему развиваться? Итого, мы имеем множество ресурсов, которые позволяют прокачать те или иные навыки, но, к сожалению, не дают ответа на вопросы: в каком русле развиваться и какой набор навыков развивать? Вспомните, как вы отвечали на эти вопросы: интуитивно?
Вот так и все мы оказываемся перед сложным выбором направления развития. Некоторым из нас везет с опытным руководителем или коллегой-ментором, которые помогают подняться на ступеньку выше или подсказывают направление развития. Но большинство оказывается наедине с этой проблемой.
Проблема выбора людьми направления развития не давала мне покоя долгое время. И вот, однажды, когда мы с друзьями сидели в одном из московских пабов, я решил воспользоваться коллективным разумом с элементами хмельного допинга. И после очередной кружки эля нам пришла идея: навыки, которые необходимо развивать, должны быть востребованы рынком труда, поэтому портрет востребованного разработчика или архитектора должен иметь какое-то отражение в вакансиях работодателей.
В наше время существует огромное количество публичных ресурсов, на которых работодатели размещают вакансии, обозначая требования к соискателям: конкретный перечень требуемых знаний и навыков. Так за чем же тогда дело встало? Нужно просто проанализировать эту базу и в результате у нас, по идее, будет ответ на наш вопрос. В качестве источника информации по вакансиям сразу же был выбран HeadHunter, как наиболее популярный ресурс для размещения вакансий IT-компаний. Мы ввели в поисковую строку запрос .net разработчик [14] и увидели нескольких сотен результатов. В этот момент, честно говоря, наш пыл угас: объем ручного труда превысил степень нашего энтузиазма.
Конечно, я пытался найти готовые обзоры и аналитику по требуемым работодателям навыкам, но, увы, ничего полезного не нашлось, кроме различной аналитики по географическому распределению зарплат и востребованности конкретных языков программирования.
Но энтузиазм не угасал, поэтому, будучи заядлым разработчиком, я написал небольшую программу, которая позволила автоматизировать сбор информации по вакансиям HeadHunter и получить необходимую статистику.
Выборка для анализа составила 300 актуальных вакансий. Из описания каждой вакансии был извлечен перечень требуемых навыков, и по каждому из полученных навыков была собрана следующая статистика:
Все полученные навыки сгруппированы в три категории: hard skills, soft skills и technology – чтобы не сравнивать навыки между этими категориями, так как это сравнение выглядело бы странным и бесполезным.
В итоговый рейтинг попали 10 популярных навыков по каждой из трех категорий.
В технологиях с огромным отрывом побеждает ASP.NET MVC: требование владения данной технологией встречалось в 3 из 4-х вакансий. Мне, как бывшему desktop-разработчику, было откровением, что все технологии desktop UI проигрывают ASP.NET MVC в 6 раз, а в сумме WPF и Windows Forms проигрывают в 2,5 раза. Если верить статистике, судьба разработки настольных интерфейсов видится достаточно туманной.
Отметил я еще один интересный факт: WPF и Windows Forms имеют одинаковый уровень востребованности – примерно 15%. Сначала я подумал, что это связано с переводом приложений с устаревающей технологии Windows Forms на WPF, но, оказалось, что данные навыки требовались в одних и тех же вакансиях только в 2% случаев, то есть одни компании до сих пор используют Windows Forms, а другие компании уже применяют WPF при разработке своих приложений.
На втором месте по-прежнему остается «must have» навык работы с SQL Server и использования Transact-SQL в каждой второй вакансии. В трети вакансий требуется знание WCF, XML и XSLT. В каждой четвертой – LINQ. Ну, и завершает список – EF. У меня есть гипотеза о том, почему EF в нижней части списка, а SQL Server в верхней: рынок ORM до сих пор достаточно раздробленный – многие все еще продолжают собственные ORM писать, а также популярны альтернативные платформы с хорошей историей вроде NHibernate.
Если смотреть на статистику по уровню заработной платы, то наиболее высокооплачиваемыми вакансиями являются те, в которых упоминаются HTML, CSS, AJAX, jQuery и JavaScript (иные платформы JavaScript упоминались в вакансиях, но редко, а потому не попали в топ-лист).
По-прежнему у нас наиболее востребован навык объектно-ориентированного программирования. Владение ООП требуется в каждой четвертой вакансии.
Меня немного удивило, что после навыка ООП сразу же идет навык анализа требований. Сомневаюсь, что работодатели подразумевают именно написание требований, скорее всего, от разработчика требуется активное участие в процессе анализа требований в том или ином виде. Тем не менее, видна тенденция того, что от разработчика требуют больше, чем просто написание кода.
Далее идут достаточно обыденные навыки: работа с системами контроля версий, проектирование архитектуры и шаблоны проектирования – эти навыки требуются в каждой четвертой вакансии.
Стоит также заметить, что навык «архитектура высоконагруженных систем» прорывается уже в топ 10 навыков, что несомненно связано с существующей общеотраслевой тенденцией. При этом вакансии, в которых упоминается данный навык, в среднем имеют самый большой уровень заработной платы – 130 тыс. руб.
Вряд ли для вас будет откровением, что среди soft skills самый популярный навык – это знание английского языка на уровне чтения технической документации. Этот навык требуется в каждой третьей вакансии.
Второй по популярности навык – командная работа, который требуется в каждой четвертой вакансии. Конечно же, в топ 10 попали такие навыки как самостоятельность, ответственность и коммуникативные навыки. И завершает список навык «умения излагать свои мысли»: если верить статистике, то среди 25 разработчиков достаточно всего одного, который умеет правильно излагать свои мысли – остальным совсем не обязательно.
Самый высокооплачиваемый навык, что достаточно ожидаемо – разговорный и письменный английский. Средний уровень оплаты в вакансиях, где он упоминается – 135 тыс. руб.
Так кто же он, востребованный и высокооплачиваемый .NET-разработчик, на которого нам стоит равняться?
Судя по статистике, портрет такого разработчика следующий.
Разработчик ASP.NET MVC, который «на ты» с SQL Server и Transact-SQL, владеющий стеком веб-технологий (HTML, CSS, JavaScript, AJAX и jQuery), умеющий создавать и использовать WCF-сервисы, ну, и конечно, умеющий преобразовывать данные в формате XML.
С другой стороны, он должен быть гуру объектно-ориентированного программирования, при этом немного увлекаться анализом требований, конечно же, проектировать архитектуру приложений, в идеале – высоконагруженных.
Читать, писать и разговаривать на английском, быть самостоятельным и ответственным командным игроком. Ну, и не брезговать общением с коллегами.
В следующей статье я проведу аналогичный анализ по зарубежному рынку вакансий: какие навыки требуются от .NET-разработчика «за бугром».
Хочу услышать ваше мнение о том, по каким специализациям будет интересно увидеть подобную аналитику, и действительно ли данная статистика помогает нам найти ответ на вопрос, какие навыки нам необходимо развивать, или тема еще не закрыта?
Автор: SkillsWiki
Источник [15]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/razrabotka/80093
Ссылки в тексте:
[1] В каком направлении развиваться: какие навыки и как приобретать?: #h1
[2] Востребованные навыки в вакансиях работодателей: #h2
[3] Рейтинг востребованных навыков: #h3
[4] Рейтинг технологий: #h4
[5] Рейтинг профессиональных навыков: #h5
[6] Рейтинг общих компетенций: #h6
[7] Востребованный .NET-разработчик: #h7
[8] Продолжение следует...: #h8
[9] Хабрахабр: http://habrahabr.ru
[10] RSDN: http://rsdn.ru
[11] SQL.ru: http://sql.ru
[12] Pluralsight: http://www.pluralsight.com
[13] Coursera: https://www.coursera.org
[14] .net разработчик: http://hh.ru/search/vacancy?text=.net+%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA
[15] Источник: http://habrahabr.ru/post/248163/
Нажмите здесь для печати.