---------------------------------------------------------------------------------
Выбираю•IT помогает в выборе будущей профессии абитуриентам
и студентам, в развитии профессиональных навыков молодым специалистам,
в выборе дополнительных программ обучения и специальных курсов. " /> ---------------------------------------------------------------------------------
Выбираю•IT помогает в выборе будущей профессии абитуриентам
и студентам, в развитии профессиональных навыков молодым специалистам,
в выборе дополнительных программ обучения и специальных курсов. " />

Портал издательского дома "ПОЛОЖЕВЕЦ и ПАРТНЕРЫ"
---------------------------------------------------------------------------------
Выбираю•IT помогает в выборе будущей профессии абитуриентам
и студентам, в развитии профессиональных навыков молодым специалистам,
в выборе дополнительных программ обучения и специальных курсов.

О портале Каталог профессий

ASP.NET-разработчик

Одна из популярных и востребованных в эпоху Веб 2.0 платформ, которые можно отнести к промышленному уровню, входящая в состав .NET Framework, – ASP.NET от корпорации Microsoft.

Мы обратились к экспертам и представителям различных компаний, чтобы выяснить, каких кандидатов они видят на позиции ASP.NET-разработчика

  1. Какими знаниями и навыками должен обладать ASP.NET-разработчик?
  2. Каков должен быть инструментарий ASP.NET-разработчика?
  3. Каковы требования компании к уровню образования потенциальных сотрудников?
  4. Какие требования предъявляются к опыту работы?
  5. Есть ли особые требования, которые обусловлены спецификой деятельности компании?

Сергей Мисюковец, Lead Software Engineer в Aperitas

1. Для работы с ASP.NET в первую очередь нужны знания принципов и механизмов самой платформы .NET, которые являются базовыми не только в веб-разработке. Недостаточно просто написания серверного кода на одном из поддерживаемых .NET языков (C#. VB.NET и т.д.). Важно писать код максимально качественно, читабельно (JetBrains Resharper), оптимизировать его, устанавливать правила и следовать им (StyleCop, FxCop), оставлять комментарии на сложных логических участках. Владение паттернами позволит создавать расширяемый и структурировать код. Умение тестировать (NUnit) код позволит контролировать качество продукта в целом.

Компонент ASP, как и прочие, имеет свою специфику, важно и необходимо знать его основные специфические аспекты, преимущество перед другими, подводные камни. Это все должно сочетаться с навыками администрирования серверов с веб-сервисами (IIS) и данными. Веб-разработка подразумевает под собой работу с протоколом HTTP, поэтому посредственные знания в этом направлении недопустимы.

Если мы говорим о Full Stack, мы имеем в виду, что разработчик владеет хорошими знаниями в других областях. Работа с данными означает, что необходимо знать основные принципы работы с базами данных, грамотное построение моделей данных.

При разговоре о клиентской части имеются в виду знания JavaScript (как основ, так и фреймворков), HTML, CSS, инструментов отладки клиента.

2. Для работы с платформой .NET в первую очередь нужно освоить Visual Studio (далее VS) – основной инструмент для любых направлений, не только ASP (рекомендую держать одну из последних, стабильных версий), который поддерживает установку дополнительных необходимых плагинов. Пакет JetBrains .Net, который расширяет возможности VS, содержит набор инструментов от оптимизации бэкенда до поддержки тестирования логики и работы с Continuous Integration.

Далее общие вещи: менеджеры для работы с базами данных, хотя зачастую VS имеет свои lite инструменты; отладка клиента сейчас хорошо поддерживается браузерами (особенно удобен Chrome) в связке с Fiddler, который позволяет мониторить HTTP-трафик; также необходимо дружить с готовыми инструментами в коробке с сервером для его администрирования.

3. Я отдаю все-таки предпочтение людям с образованием (лучше, конечно, дневное, смежное с информационными технологиями).

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

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

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

4. Требования к опыту опять же зависят от многих факторов (сложность проекта, потенциальные варианты распределения задач в команде, пробелы в ресурсах и т.д.), в зависимости от которых мы можем рассматривать кандидатов с различным багажом.

Например, пришел человек, он не знаком в принципе с веб-разработкой, но его год натаскивали в хорошей опытной команде на качественный бэкенд с глубоким пониманием .NET.

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

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

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

Или копаешь глубже на собеседовании, а он, оказывается, возле одного проекта просто «рядом лежал», возле второго «постоял немного». Не вскроешь – имеешь потенциальную проблему.

5. В целом да, чаще всего есть. Если брать специфику процессов или структурной организации компании, то тут явно будут выигрывать кандидаты, которые «варились» именно в таких котлах.

Другой случай: ваш продукт связан с наукой, и человек когда-то защищал кандидатскую в этом направлении (просто имеет глубокие знания), тут явное преимущество при прочих одинаковых моментах.

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


Антон Залетов, старший разработчик, Asia Fusion Technology

1. Самое главное – знать основу. Это классические C#, ASP.NET и MSSQL. Причем надо не только уметь как-то их использовать, но и хотя бы в общих чертах понимать, как они работают «под капо-том». Помимо этого, очень востребованы такие штуки, как Redis и разнообразнейшие очереди сообщений вроде RabbitMQ и Apache Kafka. Ну и, конечно, его величество Git.

2. В качестве основного инструмента Microsoft Visual Studio пока вне конкуренции. Хотя некоторые у нас уже пробуют новый Rider от JetBrains, но отзывы пока противоречивые. В целом главное, чтобы инструмент был удобен разработчику, поэтому остальной набор ПО обычно представляет собой разнообразный индивидуально подобранный зоопарк.

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

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

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


Иван Барчук, Tech-Lead in InspiriTo company

1. Знаниями .NET-платформы, также пониманием того, что такое HTTP и основами веб-разработки, пониманием POST, GET-запросов. А также знанием «model view controller» паттерна. Хотя бы базовые знания JavaScript и принципов верстки.

Также будет плюсом знать несколько Frontеnd Frameworks, таких как Angular, React, VUE.JS...

2. Так как чаще всего придется работать совместно с программистами, которые ответственны за дизайн и верстку, то кроме Visual Studio придется освоить и такие вещи, как Sublime Text, WebStorm, Visual Studio Code, более приспособленные для Frontеnd-разработки.

3. Требование обычно знания ASP.NET\JavaScript\HTML\SQL\Framework.

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

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

А если проект в процессе активной разработки, то упор делается на знания .NET-платформы и соответствующих библиотек.

4. Можно выделить знание веб-разработки в широком смысле. Другими словами, не только самой разработки, но, например, и размещения сервера, его настройки как для клиента, так и для тестового варианта, и т.п.

5. Специфика одна – это быть Full Stack и уметь делать проекты «под ключ». Так как у проекта много аспектов реализации, то встает вопрос, на каком уровне проще решить возникающие проблемы. Для этого нужно владеть всеми аспектами веб-разработки и в том числе, на сегодняшний день, уже и мобильной.


Владимир Куропатка, .NET Developer at Arcadia JSC

1. Наиболее часто встречающиеся требования: знание C#, платформы ASP.NET (реже webforms, чаще ASP.NET MVC), Web API, навыки создания RESTful API, знание ORM (зачастую Entity Framework), знание HTML/CSS, JavaScript (и/илиTypescript), клиентских библиотек (все реже речь о jQuery, KnockoutJs, BackboneJs, чаще это Angular/AngularJS).

Также зачастую требуется умение работать с базами данных (например, SQL Server).

Практически всегда необходимо умение работать с системами контроля версий.

2. Основное – Visual Studio. Остальное зависит от личных предпочтений или специфики проекта. Кто-то обходится встроенным в студию dev-serverом для запуска приложений, кто-то пользуется IIS Express, часто используется полноценный IIS. Некоторые работают со своими проектами в JetBrains Rider. Часто встречается использование легковесных (относительно полноценной IDE) редакторов кода, например Visual Studio Code. Для тестирования и отладки, конечно же, используются современные браузеры и их встроенный инструментарий.

3. Это сильно зависит от компании-нанимателя. Кому-то достаточно наличия подтвержденных навыков разработки при отсутствии диплома, для других наличие диплома обязательно (в особенности касается государственных учреждений).

4. Для обычного разработчика типично требование наличия трех и более лет опыта работы. Для старшего разработчика или лида, как правило, требуется не менее пяти. Хотя всегда возможны исключения.

5. Зачастую подобные требования действительно обусловлены спецификой работы компании, но бывает и так, что причина тому – своеобразные представления руководства о разработчике их мечты. Например: уверенное владение английским или другим языком (если клиенты компании – иностранцы), открытая долгосрочная иностранная виза (если предполагаются частные командировки на сторону заказчика с целью внедрения, а начинать надо уже вчера), опыт работы по Agile (или другой методологии). Иногда требуется предоставить ссылку на свой аккаунт Git, чтобы работодатель оценил активность и вклад в Оpen Source-проекты. Реже просят предоставить ссылку на профиль Stackoverflow.


Евгений Татаринцев, СТО компании VirtoCommerce

1. Язык программирования С#, advanced уровень знания application framework ASP.NET MVC, native JavaScript + любой JS framework (React, Angular, Vue.js), навыки верстки HTML и CSS. Базовые знания SQL и опыт использования какого-нибудь ORM (EF, Dapper, NHibernate). Навыки работы с тестированием, опыт написания Unit- и E2E-тестов.

2. IDE Microsoft Visual Studio последней версии либо Visual Studio Code.

Системы сборки (Gulp, WebPack, Grunt).

Системы версионного контроля (Git, TFS, SVN).

Системы таск-трекинга (Jira, Basecamp, Github).

3. Законченное физико-математическое либо инженерное высшее образование.

4. Желательно от двух лет работы в качестве разработчика с данным стеком технологий. Особо приветствуется командный опыт.

5. Опыт работы в проектах, связанных с Ecommerce. Интернет-магазины, платежные сервисы, складские и логистические системы.


Подготовил Игорь Штомпель

 
Проект Издательского дома "Положевец и Партнеры"

По вопросам партнерства обращайтесь по электронной почте chooseit@samag.ru

Телефон: +7 499 277-12-45