Молодые не идут в .NET. Правда или нет?

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

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

Чтобы прояснить ситуацию, мы заглянули в DotNet-сообщество, сходили к ребятам из Microsoft, Райффайзенбанка, Контура, CUSTIS и задали несколько вопросов. Вы тоже возьмите чашечку кофе, устройтесь поудобнее, поразмышляйте о будущем .NET и поделитесь своими мыслями в комментариях.

Какие позиции занимает .NET сегодня

Георгий Полевой

SRE в Dodo Engineering, 21 год в .NET
@georgepolevoy

4 февраля 2014 года Сатья Наделла был назначен главой корпорации Microsoft, заменив Стива Балмера. Это означает, что с Microsoft снято проклятие привязки к Windows. Наделла начал движение в сторону open source и кросс-платформенности, поэтому сейчас .NET Framework не имеет недостатков по отношению к Java, и как никогда до этого перспективен.

Роман Неволин

DevRel manager в Контур, 9 лет в .NET
@nevoroman

.NET сейчас — крепкий середнячок по всему. Не самый сложный или простой, не самые высокие или низкие зарплаты, не самый популярный, но C# всё ещё в топ-5.

Это хороший фреймворк общего назначения, с прилично развивающимся языком и достойной производительностью. Microsoft в последние годы развивает платформу в очень правильном направлении — open source, полноценная кросс-платформенность и множество технических улучшений. Прямо сейчас ту же нишу занимает только Java, но в этой борьбе всё без изменений уже много лет.

Источник: https://www.jetbrains.com/ru-ru/lp/devecosystem-2021/
Источник: https://www.jetbrains.com/ru-ru/lp/devecosystem-2021/
Юрий Орлов

Техлид в Райффайзенбанке, куратор MskDotNet, 12 лет в .NET
FB Telegram

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

Плюс у .NET довольно сильное сообщество в России. Многие компании и независимые сообщества проводят митапы на площадках крупных российских городов. Ребята-профессионалы из российских сообществ активно помогают новичкам осваивать новые рубежи.

Хорош ли .NET для старта в IT

Евгений Пешков

JetBrains, 5 лет в .NEТ
@epeshk

Сейчас популярны курсы, обещающие трудоустройство программистом на %язык_нейм% за N месяцев. Я больше склоняюсь к классическому подходу и считаю, что для начинающих куда важнее знания, не зависящие от конкретного стека технологий. Об архитектуре компьютера, операционных системах, сетях, алгоритмах, интеграции с внешними сервисами, подходах к разработке ПО, организации кода, тестировании, отладке. Всё это нужно изучать сразу на различных современных платформах и языках, будь то .NET(C#)/JVM(Java, Kotlin), Python, С++, JS, Go. И лишь после этого выбирать, в какой теме развиваться дальше. Это уже зависит от личных предпочтений и рынка в регионе. Научиться базовым концепциям и встроить их в своё мышление гораздо сложнее, чем освоить ещё одну платформу, фреймворк или язык программирования. Нужно уметь смотреть на код сквозь слои абстракции языка и платформы, тогда не придётся учиться новой технологии с нуля.

В целом .NET и JVM, на мой взгляд, оптимальны для новичка-бэкендера как платформы со статически типизированными языками, готовыми библиотеками и фреймворками, большим сообществом, богатым тулингом и имеющие концептуальное сходство, позволяющее достаточно легко перескочить с одного стека на другой на начальных этапах. Начинающему совершенно точно не следует выбирать плохой курс по Java, если есть хороший по C#, руководствуясь тем, что на Java вакансий на K% больше. Как и плохой курс по C#, если есть хороший по Java, Python или другой технологии.

Павел Притчин

СТО в Dodo Engineering, 7 лет в .NEТ
@pritchin

Для изучения С# не очень сложен. Посложнее, чем Python, но попроще Go, как по мне. Для новичка многое может простить. И есть возможность подучиться в крупной компании, где берут джунов и нет супер критического продакшена. Такой работы много. Платформа развивается, сейчас перешла на кросс-платформенные рельсы полностью.

C# на 4 месте по поиску тьюториалов в Google. Источник: https://pypl.github.io/PYPL.html
C# на 4 месте по поиску тьюториалов в Google. Источник: https://pypl.github.io/PYPL.html
Егор Богатов

Microsoft, 15 лет в .NET
Twitter

Если говорить о разработке игр, то C#/.NET — один из двух возможных вариантов (имею в виду UE Blueprints). В других областях я бы судил исключительно по количеству вакансий entry-уровня. Конечно, сложно тягаться с той же фронтенд-разработкой на JavaScript или TypeScript.

Роман Букин

.NET-разработчик в Dodo Engineering, 9 лет в .NET
GitHub

Именно для входа он хорош. Есть ASP.NET Core для веба, Unity для игр, WinForms, WPF, MAUI, Avalonia для десктопа (и спорный, но достойный упоминания Blazor в Electron).

Visual Studio — крайне мощная, но довольно простая в освоении IDE, где Integrated — не пустой звук, к тому же ещё и с Community-лицензией, которая позволяет не только обучаться, но и вести коммерческую разработку в маленькой команде. Отдельно стоит выделить MSBuild — пожалуй, лучшая система сборки, которая просто работает и в подавляющем большинстве случаев не доставляет головной боли.

В рейтинге популярных фреймворков ASP.NET и ASP.NET Core на 4 и 6 месте.
Источник: https://insights.stackoverflow.com/survey/2020#technology-web-frameworks-professional-developers2
В рейтинге популярных фреймворков ASP.NET и ASP.NET Core на 4 и 6 месте. Источник: https://insights.stackoverflow.com/survey/2020#technology-web-frameworks-professional-developers2

Но как по мне, молодые специалисты идут в .NET неохотно. Сказывается репутация Microsoft. В головах многих людей это по-прежнему кровавый энтерпрайз, который гвоздями прибит к Windows. Будем честны, много где ещё осталось легаси, из-за которого это утверждение какое-то время будет не пустым звуком (даже у нас оно есть). Есть тренд на улучшение, но пройдёт, наверное, десяток лет, прежде чем эти стереотипы вымрут как явление в сообществе разработчиков.

У .NET есть и другая проблема. Python подмял под себя машинное обучение, на Go написан Kubernetes, а JavaScript слишком долго был единственным языком для фронтенд-разработки. Каждая из этих областей буквально на хайпе. А что .NET? С какой областью он ассоциируется у большинства разработчиков в первую очередь? Десктопные приложения под Windows. Не самая хайповая сфера, мягко говоря.

Вячеслав Залыгин

Стажёр в Dodo Engineering и наш самый молодой .NET-разработчик— ему только 17

Программированием именно на С# я занимаюсь уже 4 года. Последний год изучал сетевое взаимодействие, саму сеть, ASP.NET Core, немного HTML, CSS, JavaScript. В будущем планирую пройти курс по React, чтобы немного прокачать знания про фронтенду, но вообще погружаюсь в тот стек и те инструменты, что используются в Dodo.

Мне кажется, что Python более привлекателен для старта за счёт простоты синтаксиса. Но объективно я не могу судить, т.к. не знаю, что нужно изучить в нём, чтобы начать работать. .NET мне нравится, он мне роднее.

Есть ли кризис и нехватка .NET-разработчиков

30 соискателей на одну вакансию. Это точно кризис?
30 соискателей на одну вакансию. Это точно кризис?
Юлия Цисык

CUSTIS, лидер MskDotNet, 9 лет в .NET
Telegram

Кризис есть. Но связан он не с тем, что поток джунов стал меньше, а скорее наоборот, — с тем, что он стал больше. Сейчас многие компании выбирают C#, потому что, на первый взгляд, это простой язык, на котором легко писать, и набирают соответствующих «специалистов». А потом эти люди, выходя на рынок, портят репутацию языка и ухудшают мнение о C#-разработчиках в целом. Причина понятна: фреймворк, IDE, сторонние инструменты (такие как R#) много думают вместо разработчика, и не все люди, которые их используют, задумываются «что же там внутри». Такое поверхностное знание получается.

Юрий Орлов

Техлид в Райффайзенбанке, куратор MskDotNet, 12 лет в .NET
FB Telegram

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

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

Роман Неволин

DevRel manager в Контур, 9 лет в .NET
@nevoroman

Мне кажется, что количество разработчиков вполне соответствует количеству рабочих мест. По всем показателям популярность .NET не особо падает, новички всё также приходят, в основном из университетов (там .NET как-то исторически популярен). Нехватка кадров ощущается постоянно, но такая же нехватка кадров ощущается и в Java, например.

Что ждёт .NET в будущем

Роман Букин

.NET-разработчик в Dodo Engineering, 9 лет в .NET
GitHub

Будущее определённо есть. Microsoft наняли Гвидо и теперь он пишет на F# За .NET стоит Azure, а за Azure — очень много денег. В перспективе 5-10 лет вряд ли что-то будет на замену. .NET — это технология Microsoft, в которую она очень много и долго инвестирует. Планируется постепенно закопать .NET Framework (последняя версия — 4.8 и новых не будет) и развивать .NET (ранее имевший приставку Core).

Серьёзную ставку делают на Blazor. Сыграет она или нет — покажет время. Я же достаю попкорн и наблюдаю за происходящим :)

Юрий Орлов

Техлид в Райффайзенбанке, куратор MskDotNet, 12 лет в .NET
FB Telegram

Считаю, что .NET будет развиваться и захватывать всё больше областей деятельности. Ещё вчера он ассоциировался с Windows Forms. Сегодня это веб, игры, облачная разработка, кросс-платформенность, IoT, ML и многое другое. Безусловно, это не может не сказаться на конкурирующих платформах JVM-стека и Python. Думаю, все эти технологии будут развиваться, перенимать опыт друг у друга (как это видно сейчас в тех же C#, Java, Kotlin), завоёвывать всё больше умов и сфер деятельности. Процентное соотношение захваченного той или иной технологией рынка будет меняться, но резких изменений, как мне видится, не будет. Здесь важное влияние также оказывает опыт нынешнего поколения IT. Нередко бывает так, что при создании нового проекта в том же энтерпрайзе технология выбирается исходя из опыта организатора команды (архитектора, лида, менеджера). Это способствует пропорциональному образованию рабочих мест и сохранению спроса на специалистов.


Эти ответы мы бы не услышали, если бы всё, что происходит у кофемашины, оставалось у кофемашины. Да не переведутся молодые специалисты в .NET, ведь он живее всех живых. Согласны?

Что ещё посмотреть по теме:

Будущее .NET — обсуждение на 50-й встрече сообщества MskDotNet

Наши вакансии для .NET-разработчиков.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Как считаешь, почему молодое поколение изучает .NET?
37.5% Потому что он всё меньше ассоциируется с Windows. 6
31.25% Потому что для геймдева он хорош. 5
25% Потому что в него вливают много денег. 4
43.75% Вообще-то я так не считаю. 7
Проголосовали 16 пользователей. Воздержались 2 пользователя.
Источник: https://habr.com/ru/company/dododev/blog/573470/


Интересные статьи

Интересные статьи

Как широко известно, с 1 января 2017 года наступает три важных события в жизни интернет-магазинов.
Иван — студент-программист из Москвы, который присоединился к сообществу RU-OSM буквально несколько месяцев назад. Потому его мнение об OSM, как человека молодого и со стороны, интересно вдвойне....
Что такое кросс-компиляция? Какие есть инструменты для сборки бинарных файлов для Windows в Linux? Как настроить docker-контейнер для всего этого? Вот лишь небольшая часть вопросов, которые будут...
На одной улице в соседних домах живут две женщины. Они не знакомы друг с другом, но их объединяет одна приятная вещь: обе готовят торты. Обе начали пытаться готовить на заказ в 2007 году. Одна им...
Если Вы используете в своих проектах инфоблоки 2.0 и таблицы InnoDB, то есть шанс в один прекрасный момент столкнуться с ошибкой MySQL «SQL Error (1118): Row size too large. The maximum row si...