net developer что это

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

Этой публикацией я начинаю цикл аналитических статей по анализу необходимых и востребованных навыков для различных специализаций на российском и зарубежном IT-рынке.

Как родилось это исследование?

В каком направлении развиваться: какие навыки и как приобретать?

Василий смотрит на карьеру своих старших коллег и в его голову приходит самый простой вариант: буду сидеть на своем месте работы лет 5, активно участвуя в проектах – и тогда, скорее всего, меня сделают Senior-разработчиком или может, дай бог, архитектором. Но внутренний голос не дает покоя Васе: может не все так просто, ведь ведущий разработчик и архитектор обладают какими-то особенными навыками, которые их выделяют среди остальных разработчиков – может нужно разобраться с тем, что это за навыки, и что нужно сделать, чтобы их развить в себе?

Какие варианты есть у Васи?

Вполне логично поискать информацию о том, какие навыки сейчас актуальны в IT и как их прокачать на каком-нибудь профильном Интернет-ресурсе. Что сразу приходит в голову: Хабрахабр, RSDN, SQL.ru? Но нет, эти ресурсы скорее расширяют наш кругозор, чем дают нам информацию о том, какие навыки сейчас востребованы. Есть и другие ресурсы, которые посвящены обучению навыкам, к примеру: Pluralsight и Coursera – если бы Вася точно знал, что он хочет изучить, эти ресурсы помогли бы ему. И, конечно, не стоит забывать про профессиональные конференции. Они также полезны как для расширения кругозора, так и развития конкретных навыков, но все равно не могут ответить на вопрос Василия: в каком направлении ему развиваться? Итого, мы имеем множество ресурсов, которые позволяют прокачать те или иные навыки, но, к сожалению, не дают ответа на вопросы: в каком русле развиваться и какой набор навыков развивать? Вспомните, как вы отвечали на эти вопросы: интуитивно?

Вот так и все мы оказываемся перед сложным выбором направления развития. Некоторым из нас везет с опытным руководителем или коллегой-ментором, которые помогают подняться на ступеньку выше или подсказывают направление развития. Но большинство оказывается наедине с этой проблемой.

Востребованные навыки в вакансиях работодателей

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

Конечно, я пытался найти готовые обзоры и аналитику по требуемым работодателям навыкам, но, увы, ничего полезного не нашлось, кроме различной аналитики по географическому распределению зарплат и востребованности конкретных языков программирования.

Но энтузиазм не угасал, поэтому, будучи заядлым разработчиком, я написал небольшую программу, которая позволила автоматизировать сбор информации по вакансиям HeadHunter и получить необходимую статистику.

Рейтинг востребованности навыков

Выборка для анализа составила 300 актуальных вакансий. Из описания каждой вакансии был извлечен перечень требуемых навыков, и по каждому из полученных навыков была собрана следующая статистика:

В итоговый рейтинг попали 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 упоминались в вакансиях, но редко, а потому не попали в топ-лист).

Рейтинг профессиональных навыков

По-прежнему у нас наиболее востребован навык объектно-ориентированного программирования. Владение ООП требуется в каждой четвертой вакансии.

Читайте также:  сколько времени на отдых при 24 часовом рабочем дне положено сотруднику

Меня немного удивило, что после навыка ООП сразу же идет навык анализа требований. Сомневаюсь, что работодатели подразумевают именно написание требований, скорее всего, от разработчика требуется активное участие в процессе анализа требований в том или ином виде. Тем не менее, видна тенденция того, что от разработчика требуют больше, чем просто написание кода.

Далее идут достаточно обыденные навыки: работа с системами контроля версий, проектирование архитектуры и шаблоны проектирования – эти навыки требуются в каждой четвертой вакансии.

Стоит также заметить, что навык «архитектура высоконагруженных систем» прорывается уже в топ 10 навыков, что несомненно связано с существующей общеотраслевой тенденцией. При этом вакансии, в которых упоминается данный навык, в среднем имеют самый большой уровень заработной платы – 130 тыс. руб.

Рейтинг общих компетенций

Вряд ли для вас будет откровением, что среди soft skills самый популярный навык – это знание английского языка на уровне чтения технической документации. Этот навык требуется в каждой третьей вакансии.

Второй по популярности навык – командная работа, который требуется в каждой четвертой вакансии. Конечно же, в топ 10 попали такие навыки как самостоятельность, ответственность и коммуникативные навыки. И завершает список навык «умения излагать свои мысли»: если верить статистике, то среди 25 разработчиков достаточно всего одного, который умеет правильно излагать свои мысли – остальным совсем не обязательно.

Самый высокооплачиваемый навык, что достаточно ожидаемо – разговорный и письменный английский. Средний уровень оплаты в вакансиях, где он упоминается – 135 тыс. руб.

Судя по статистике, портрет такого разработчика следующий.

Разработчик ASP.NET MVC, который «на ты» с SQL Server и Transact-SQL, владеющий стеком веб-технологий (HTML, CSS, JavaScript, AJAX и jQuery), умеющий создавать и использовать WCF-сервисы, ну, и конечно, умеющий преобразовывать данные в формате XML.

С другой стороны, он должен быть гуру объектно-ориентированного программирования, при этом немного увлекаться анализом требований, конечно же, проектировать архитектуру приложений, в идеале – высоконагруженных.

Читать, писать и разговаривать на английском, быть самостоятельным и ответственным командным игроком. Ну, и не брезговать общением с коллегами.

Продолжение следует…

Хочу услышать ваше мнение о том, по каким специализациям будет интересно увидеть подобную аналитику, и действительно ли данная статистика помогает нам найти ответ на вопрос, какие навыки нам необходимо развивать, или тема еще не закрыта?

Источник

Кто такой NET-разработчик?

О профессии NET-разработчика

.NET разработчик – кто это?

— Была создана согласованная объектно-ориентированная среда программирования, нацеленная на локальное сохранение и исполнение объектного кода, на локальное выполнение кода, который распределен в Интернете, либо на удаленное выполнение.

— Также была обеспечена и среда исполнения кода, которая минимизирует конфликты во время развертывания программного обеспечения и во время управления версиями.

— Кроме того, удалось обеспечить среду исполнения кода, которая гарантирует безопасное исполнение, в том числе это касается и кода, который создан неизвестным либо же не полностью доверенным изготовителем со стороны.

— Была обеспечена и среда исполнения кода, которая исключает проблемы с производительностью сред исполнения сценариев либо же интерпретируемого кода.

— Также обеспечены единые принципы в работе разработчиков различных типов приложений, вроде приложений Windows и веб-приложений.

В первую очередь ответ на данный вопрос определяется тем, в каком направлении разработки планируется работать. Но, безусловно, имеются и некоторые общие требования:

Во-вторых, необходимо иметь некоторые базовые знания в сфере программировании (представлять, что такое системы исчисления, базовые структуры данных и базовые алгоритмы);

Третий важный пункт – это знания баз данных, ведь абсолютно любые приложение либо сайт предполагают хранение информации, а также работу с ней;

Также нельзя не упомянуть про отдельные требования, касающиеся знания английского языка на таком уровне, которого будет достаточно для чтения документов и комментирования кода.

Отметим, что IT-специалисту начинающего уровня будет очень важно грамотно, максимально правильно составлять резюме, писать к нему сопроводительные письма и готовиться к прохождению собеседования. Всему этому разработчиков с NET учат на специализированных курсах компьютерной академии «Шаг».

Специальные требования к ASP.NET разработчикам:

— очень хорошо знать ASP.NET MVC;

— обладать уверенными знаниями MS SQL;

— владеть языками C#, JavaScript, T-SQL;

— иметь понимание LINQ, WCF, SOAP.

Специальные требования к разработчикам десктопных приложений:

— хорошо знать С#/.NET 4.0;

— обладать отличным знанием T-SQL, SQL Server 2012;

— иметь опыт работы с MS TFS;

— иметь знания, а также опыт работы с технологиями ADO.NET Entity FW.

Помимо данных базовых требований, у каждой компании есть и собственные, более специфические требования. Однако если вы знаете эти основы, вы сами далее уже легко сможете изучить те материалы, которые нужны вам будут для работы.

Уровень зарплат и востребованность специальности

Свыше десяти лет C# находится на лидирующих позициях в рейтингах языков программирования.

Источник

С чего начать: язык программирования С#

Надо решить, что именно вы хотите получить в итоге: создавать сайты, работать с их оформлением или же хочется решать нестандартные задачи и прописывать логику. Если вы выбрали второе, то вам нужен C#.
Теперь пора решить, на каком языке Back-end`а нужно работать. Лично я начал свой путь в IT с обучения языку С#.

Читайте также:  Что значит молодость все прощает

Почему стоит выбрать обучение программированию на C#

Этот язык менее требователен к программисту

С первого взгляда можно подумать, что код на С# крайне схож с кодом на других С-подобных языках. Но, стоит сказать, что сложный код легче пишется и читается по сравнению с тем же С++, что может весьма хорошо помочь начинающему программисту выбирающему курсы программирования в Одессе.

Большое количество встроенных, готовых к работе, библиотек

Количество готовых библиотек С# весьма велико, и они имеют за собой большую историю, что означает, что они неплохо отлажены и оптимизированы. Также множество стандартных типов данных помогает практически всегда избежать библиотек, переопределяющих базовые типы.

Сборщик мусора

Создавать приложения на C# безопаснее, чем на С++, так как в нем присутствует сборщик мусора и нет необходимости следить за утечками памяти.

Удобство сборки проектовй

Сборка проектов на С# гораздо проще, хотя не стоит забывать, что это реализовано в угоду дополнительной гибкости.

Высокая скорость разработки на начальных этапах

C# позволяет на старте вести разработку в разы быстрее, благодаря вышеперечисленным преимуществам, что поможет получить прототип решения гораздо раньше.

Создавать приложения на C# безопаснее, чем на С++

Причины, по которым ранее разработчики уклонялись от программирования на С#, исчезли с появлением открытого исходного кода. Вот почему C# теперь также рекомендуют и для начинающих!

Источник

Подготовка к анализу

Предыдущий анализ потребовал практически вручную обработать 300 вакансий, что оказалось крайне трудоемкой и слишком рутинной работой. Поэтому сейчас у меня на руках не только результаты нового исследования, но и усовершенствованные инструменты! Я реализовал утилиту, при помощи которой текст вакансий загружается с целевого сайта, затем разбирается на отдельные слова и словосочетания, а затем по специальному словарю преобразуется в навыки. Предполагаю развивать утилиту и дальше, добавляя при необходимости новые адаптеры к различным сайтам вакансий, и обучая программу, помогая ей сопоставлять те или иные встречающиеся в вакансиях выражения навыкам.

Зарубежные вакансии я брал с популярных ресурсов Stack Overflow Careers и Monster.com.

Если вам захочется меня проверить и подготовить собственную аналитику, промежуточные «сырые» данные статистики вы найдете в Excel-файле: OneDrive/USA-net developer.xlsx.

Репетиция

Впервые о результатах этого исследования я рассказал на конференции SkillsWiki «.NET-разработчик глазами работодателей России и зарубежья». Тогда я и собрал первую обратную связь по моим выкладкам и выводам. В частности, слушателей заинтересовали результаты исследования, но они захотели получить больше различных срезов и выводов по приведенному сравнению между Россией и США. Кстати, меня также спрашивали про аналогичное исследование по менеджерам, одну из тем моих будущих исследований.

Что ж, я надеюсь не подвести и удовлетворить и ваше любопытство, начнем!

Рейтинг востребованных навыков

Как и ранее, первым делом ознакомимся с топ-10 самых популярных навыков по рынку труда. Для удобства восприятия в рейтинге все навыки разделены на 3 группы: технологии, профессиональные (hard) и общие компетенции (soft skills).

Рейтинг технологий

Как видим, различия в популярности технических навыков малозначительны, чего не скажешь о зарплате. В левой части по России зарплата указана в рублях в месяц, а в правой по США – в долларах в год, то есть ровно так, как и указывается в описании вакансий. Не спешите пересчитывать доход ASP.NET-разработчика США на наши рубли. Я уже это сделал за вас: получается около 380 000 рублей в месяц по текущему курсу валюты. А если серьезно, то прямое сравнение здесь не очень уместно. Во-первых, различное налоговое законодательство: например, в США выплаты могут составлять третью часть дохода. Во-вторых, для полноценного сравнения нужно учитывать уровень жизни в целом, а это уже отдельная большая тема. Поэтому предлагаю сравнивать зарплаты относительно друг друга только в рамках одной страны.

Вернемся к рейтингу востребованности (популярности) навыков. И все же в нем можно отметить небольшие расхождения:

Рейтинг профессиональных навыков

В требованиях к профессиональным навыкам отличия гораздо более яркие.

Во-первых, сразу бросается в глаза обилие требований к навыкам повышения качества не только программного кода, но и итогового продукта: в частности, навыки тестирования (не только автоматизированного, но и ручного), Unit-тестирования, TDD и Code Review. Все эти навыки крайне редко встречаются в требованиях работодателей к российским разработчикам. В США в целом в гораздо большей степени интегрированы разработка и тестирование, что можно видеть не только на примере этой статистики, но и по крупным корпорациям. Например, это новости прошлого года о крупных сокращениях тестировщиков в Microsoft по инициативе нового генерального директора Сатья Наделлы, который говорил об ответственности за качество приложений самих разработчиков.

Во-вторых, заметная роль отводится пониманию Agile-методологий и умению работать по этим принципам в командах. В США Agile перешел из разряда новомодных тенденций в рабочий инструмент.

Также у меня сложилось впечатление, что в США в меньшей степени уделяется внимание навыкам чтения чужого кода.

Рейтинг общих компетенций

В рейтинге общих навыков различия наиболее значимы. Вполне логично отсутствие востребованности в знании английского языка в США. Тем не менее, есть и содержательные отличия:

Интересные факты

Некоторые интересные выводы можно сделать только по статистике, которая скрывается под пиком айсберга популярных навыков.

Читайте также:  У новорожденного ребенка гноится глазик чем лечить

Детализация по рынку США

Ниже представлены наиболее высокооплачиваемые комбинации навыков. В рейтинг попали 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 и 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

По этим данным видны следующие интересные моменты:

Заключение

В следующем обзоре будет рассмотрен Java-разработчик: данные уже подготовлены, было проанализировано порядка 20000 навыков – так что ждите статьи!

Послесловие

4 августа 2015 года

Коллеги, уважаемые, еще раз всех приветствую!

Ваши комментарии здесь, а также аналогичные обсуждения на других ресурсах подтолкнули меня написать небольшое дополнение к статье.

Как я увидел, по прочтению статьи многие сделали выводы, что это обзор от HR и потому он был сделан очень формально, без понимания специфики профессии и прочего, но при этом исследование претендует на объективность. Хочу развеять эти мифы.

Источник

Обучающий онлайн портал