Как стать .NET-разработчиком. План действий для начинающих

💡 Усі статті, обговорення, новини для початківців — в одному місці. Приєднуйтесь до Junior спільноти!

.NET — это платформа от Microsoft для создания программного обеспечения. Язык С#, используемый для работы с .NET, второй по популярности среди украинских разработчиков. Кроме того, в категории С#/.NET на DOU всегда открыто множество вакансий.

В рамках рубрики для начинающих «Код профессии» рассказываем о том, как изучить С#/.NET и найти первую работу. Для этого мы пообщались с опытными .NET-разработчиками Алексеем Краевым, Владимиром Вердышем и Андреем Губским и собрали их советы в один материал.

Что такое .NET

.NET — это платформа от Microsoft, которая существует с 2002 года. Основная цель ее создателей — это возможность создавать программы разных типов (прежде всего Web), которые могут выполняться на разных устройствах. Основа .NET — CLR, то есть Common Language Runtime, позволяющая отвлечься от конкретного языка программирования и выполнять код одинаково на всех платформах.

С 2016 года CLR становится кроссплатформенной, и .NET начинает движение в направлении того, какой мы знаем платформу сейчас — удобное средство для разработки приложений различного рода, которые аналогично Java могут запускаться и на Windows, и на Unix-based системах.

Согласно последнему зарплатному опросу, языком С#, используемым для работы с .NET, пишут 16,3% разработчиков в Украине. Он на втором месте по популярности использования, и в последние годы его доля растет.

В качестве первого языка С# указали 5,4% респондентов, что на четверть больше, чем в 2021 году.

Среди языков, которые предпочли бы разработчики, если бы была свобода выбора, С# на втором месте — 14,6%.

Согласно последнему опросу, медианная зарплата С#/.NET-разработчика составляет $2525, что соответствует медианной зарплате уровня Middle. Медианная зарплата Junior: $950; Senior: $4500. Зарплаты специалистов всех уровней несколько выросли по сравнению с прошлым опросом: у джуниоров на $50, у мидлов и сеньоров +$100.

А здесь можно посмотреть открытые вакансии в категории С#/.NET. На момент публикации статьи есть 218 вакансий.

Подходит ли .NET начинающим

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

Для удобного изучения C# вполне хватит бесплатных инструментов типа связки VS Code + консоль или VS Community. Из небольших проблем во время обучения можно выделить разве то, что некоторые ресурсы до сих пор обучают устаревшим конструкциям языка, которые уже практически не используют вроде delegate (все применяют уже готовые Func<> или Action<>) и event (утратил свою актуальность для веб-сервисов) . Но обычно об этом никогда не спрашивают на собеседовании и не используют в проектах.

Преимуществом платформы .NET можно назвать то, что кроме языка C# она охватывает и другие языки. Например, в одном проекте можно одновременно использовать и C#, и F# — функциональный язык программирования. Таким образом, новичок может изучать как объектно-ориентированный подход, так и функциональный. При этом каждый из языков позволяет в полной мере понять преимущества каждого из подходов.

Еще некоторые преимущества .NET:

  • На .NET можно писать Back-end, настольные приложения, мобильные приложения, сайты, есть фреймворки для создания игр, можно работать с Machine Learning.
  • .NET-программы можно запускать под разными операционными системами. Есть все необходимое, чтобы без особых проблем упаковать приложение в контейнер.
  • Современный .NET (и сама среда выполнения, и фреймворки типа ASP.NET Core) — это платформа с открытым исходным кодом.
  • Платформа развивается очень высокими темпами, постоянно появляются обновления.
  • О платформе много информации: книги, видео. Как о самой .NET, так и об отдельных поддерживаемых ею языках, среди которых и C#.
  • Под платформу написано много кода под что угодно.
  • Для .NET есть хорошие средства разработки.
  • Нет предпосылок для того, чтобы .NET в последующие 10–20 лет исчезла или стала невостребованной.

Больше о плюсах и минусах платформы мы писали в статье «Переваги та недоліки .NET: швидкий розвиток, велика поширеність і середні зарплати».

Какие технологии следует изучить в рамках .NET

.NET — это платформа, где можно писать разные типы приложений: настольные, мобильные, веб. От этого сильно зависит, какими сопутствующими технологиями следует интересоваться.

Чтобы писать бэкенды, однозначно обязательно разбираться в базах данных. Это то, без чего нельзя написать ничего полезного и что будет в 98% случаев. Если вы понимаете MS SQL, RabbitMQ или MongoDB, этого будет достаточно. Даже если где-то будут другие СУБД, имея понимание того, как работать с этими технологиями, вы вероятнее всего разберетесь, как использовать что-то другое. Очень ценно в работе понимать разницу между этими видами баз и что когда нужно запускать. Для этого можно прочитать книгу Мартина Клепманна «Designing Data-Intensive Applications».

Также будет хорошо, если вы будете работать с Entity Framework.

Остальные могут появляться в тех или иных проектах: Redis, ElasticSearch, системы обмена сообщениями (Kafka, какие-то специфические для определенных облаков, таких как Service Bus в Azure). Не обязательно иметь реальный опыт с этим всем, но хотя бы иметь представление, что это, и уметь выполнять какие-то базовые вещи через соответствующие библиотеки. Хорошо бы ориентироваться в облачных провайдерах вроде Azure, AWS, Google Cloud.

Не лишними будут знания Docker и Kubernetes. Последнее не обязательно должно быть на уровне администратора, но следует концептуально понимать, как там что.

Следует знать и уметь писать юнит-тесты.

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

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

Если речь идет о разработке веб-приложений и работе фулстек-разработчиком, то нужно изучить, как работает ASP.NET Core, шаблоны Razor, Blazor, а также понимать особенности работы HTTP-протокола, сессий, знать, что такое CORS, и вооружиться знаниями со стороны фронтенда: HTML, CSS, JS.

Для разработки десктопных программ следует ознакомиться с WPF, MAUI, знать, что такое XML, понимать, как работают потоки.

Для мобильной разработки также следует ознакомиться с MAUI и Xamarin, а также с документацией и гайдлайнами iOS и Android.

Если вы планируете заняться DevOps-практиками, стоит посмотреть на Pulumi, а также ознакомиться с возможностями основных облачных платформ и средствами работы с ними: Azure, AWS, GCP.

Тем, кто хочет заниматься машинным обучением, не обойтись без ознакомления с фреймворком ML.NET и изучения теоретической базы: что такое регрессия, классификация, детекции аномалий, кластеризация.

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

Полезные ресурсы для изучения .NET

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

Ukrainian .NET Developer Community. Проект, который объединяет украинские .NET-сообщества, где вы сможете найти единомышленников и всегда спросить совета.

Телеграмм-канал devdigest // dot net. Здесь регулярно публикуют новости о платформе .NET, полезные материалы и информацию для .NET-разработчиков.

Джон Пол Мюллер «C# для чайников». Даже если вы никогда не имели дела с программированием, это руководство поможет освоить язык C#.

Джеффри Рихтер CLR via C#. Программирование на платформе Microsoft .NET Framework на языке C#«. Эта книга подробно описывает внутреннее устройство и функционирование общеязыковой среды (CLR) Microsoft .NET Framework.

Джуст Виссер «Разработка программ на языке С#». Это практическое руководство ознакомит вас с 10 простыми рекомендациями, которые помогают писать программное обеспечение, которое легко поддерживать и адаптировать. Эти тезисы сформулированы исходя из анализа сотен реальных систем.

Видеоканал Channel 9 от Microsoft размещает много ценной для IT-специалистов информации, включая видеоуроки.

Журнал MCDN Magazine публикует на своем сайте интересные обучающие статьи.

Joseph Albahari «C# 10 в Nutshell. The Definitive Reference». Лаконичный справочник обо всем, что нужно знать о С#.

Полезные статьи на DOU

Що має знати Senior .NET Developer. Аналіз вакансій на DOU.

Статьи рубрики «.NET дайджест».

Советы сеньоров: как прокачать знания junior .NET.

Обзор Akka.NET: как проектировать IoT-системы с помощью этой библиотеки.

Асинхронность в C#. Разрушение легенд.

Разработка highload-системы на .NET Core: задачи и их решения.

.NET Core: как работают микросервисы в контейнерах.

Как искать работу начинающему в .NET

Прежде чем рассылать резюме, потренируйтесь писать код, например, на Codewars или LeetCode — это очень хорошо набивает руку. Production-ready код вы сможете увидеть и начать писать только когда уже устроитесь на работу, а до этого полезно просто уметь писать на языке базовые алгоритмы. Найдите простые задания, выполните, а проект залейте на GitHub.

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

Хорошее резюме .NET-разработчика содержит:

  • 2–3 предложения с кратким описанием себя и своей мотивации.
  • Список навыков и знаний, необходимых большинству .NET-проектов: язык C#, база данных, брокер сообщений, базовый Computer Science, желание учиться, коммуникабельность и т.д.
  • Опыт работы или стажировка. Их можно находить как в крупных компаниях, так и в более мелких. Плюсы крупных компаний — их процесс найма стажеров уже налажен, и там с большей вероятностью готов план развития сотрудников и больший выбор проектов, минус — большая конкуренция. В малых компаниях конкуренция может быть меньше. Если определенный коммерческий опыт уже есть — обязательно опишите в резюме, какова была ваша роль на проекте, какой вклад вы привнесли.
  • Если у вас есть свои проекты с открытым кодом (пускай код даже не идеальный), укажите ссылку на них.
  • Укажите остальные технологии, с которыми работали. Только не перечисляйте все подряд, а только то, с чем действительно работали.

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

Перед подготовкой к собеседованию советуем обратить внимание на статью «Співбесіда з .NET. 150+ запитань для Junior, Middle, Senior».

Работу рекомендуем искать на Djinni и DOU. На DOU есть раздел «Первая работа» с курсами, стажировками и вакансиями только для начинающих.

Также стоит создать аккаунт в LinkedIn и добавить в друзья как можно больше разработчиков и рекрутеров. О том, как правильно заполнять LinkedIn-профиль, читайте здесь. После первых отказов спрашивайте у интервьюеров, что следует подтянуть.

Желаем удачи в изучении .NET и верим, что у вас все получится!

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

👍ПодобаєтьсяСподобалось19
До обраногоВ обраному21
LinkedIn



70 коментарів

Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.

Від себе пораджу новеньку книжку Mark J. Price «C#10 and .NET6 Modern Cross-Platform Development».

Наскільки я розумію, то він під кожне оновлення перевидає книжку, але особисто для мене це перша версія.
Його підхід сильно відрізняється від усіх інших книжок, з якими я стикався, таких як Ріхтер і Троелсен. Хоча б структурою: там не звичний, вважай академічний, порядок вивчення; нові інструменти вводяться по мірі необхідності. Наводяться корисні команди для командного рядку, гарячі клавіші, джерела інформації для розробників та навіть інструкції до їхнього використання, по типу грамотних запитів у Google. Запропоновано вибір середовища, будь-то Visual Studio, VS Code, Jupiter Notebooks або навіть веб-сторінки, на котрих, щоправда, мало що з запропованого автором можна перевірити.
Наприкінці кожного розділу є завдання і запитання для самоперевірки, котрі я одразу вношу до свого Notion і, час від часу, переглядаю. А ще є git-репозиторій з додатковими розділами, ресурсами, відповідями на ті ж таки запитання тощо.

На мою суб’єктивну думку, для новачка — саме те. Особливо у порівнянні з «CLR via C#», котрий занурює в глибини платформи ще до написання першого рядку коду.

Подскажи, плиз, что-нибудь новенькое для не-новичков.

Для початківців — безкоштовний курс C# стартовий українською мовою

Я дуже люблю .net. Але, дідько, наскільки ж все стало складніше за останні десять років. Одного цукру стільки що тільки від нього можна розгубитися. Функціональна теча з кількома рівнями вкладених одні в одних різних дужок. Lisp, агов! Безумовно, поріг входу став значно вище. І це парадокс. Тому що з одного боку ви, як у модних мовах, можете піднімати кросплатформені сервера з консолі і демонструвати як однією стрічкою вмієте в хеловорд, а з іншого боку щоб зробити наступний крок вам доведеться для цього рік навчатися. І це все навіть кумедно коли ти маєш досвід, всі ці ланцюжки абревіатур, типу, ASP.NET Core Blazor WebAssembly, але я уявляю як на це дивитися вчорашньому кур’єру.
Мені шкода початківців в .net
Але, воно того варто )

На мою думку це твердження помилкове. Значні зусилля докаладаються задля того аби мова стала більш експресивною та дозволяла робити більше тою самою кількістю зусиль. ASP.NET Core min apis, top level statements, file-scope namespcaes, ranges та багато чого іншого дозволяють писати код який виглядає мінімалістично але робить багато, при тому зберігаючи його читабельність.

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

Але те що більша кількість способів зробити одне й те саме можуть створювати плутанину — факт.

Не знаю, як стрічка методу, який повертає абстрактні дженерики, який сам є багаторівневим дженериком, та використовує кілька фабрик дженерикив у якості параметрів, та має назву довжиною в сто символів, і коли це все спирається на IoC та закрити ліби, як це може додавати читабельності.
Якщо що, я просто намагався описати метод налаштування простого, сучасного додатку .net

Так никто не заставляет пользоваться новым.
Во многих проектах до сих пор уровень С# 6

Згадати Entity Framework і ні слова про Linq якось тупо. Linq має дуже широке застосування поза межами EF і згадується на кожному інтерв’ю.

Как устроиться?
Активно занимаюсь изучением стека технологий для back-end / full-stack .NET разработчика (свитчер из другой сферы деятельности). По началу пол года перестраивал мозги через пайтон. После этого перешел на C#/.NET и полтора года оплачиваемо занимался с двумя менторами, у которых более 10/15 лет коммерческого опыта. Вкалывал абсолютно не щадя себя. Каждый день 4-6 часов занятий с одним выходным в неделю.
На отличном практическом и теоретическом уровнях освоил C#/.NET, ASP.NET, MVC, EntityFramework, MSSQL Server, LINQ. На среднем уровне освоил WPF, WinForms, Javascript, jQuery, HTML, CSS/SCSS. Успел сделать 4 pet-проекта используя всё перечисленное, а так же поучавствовать в коммерческих фриланс turn-key проектах (2 месяца фулл-тайма).
Выйти на рынок получилось только после начала войны в стране. Сказать что я в шоке от того, что вакансий на trainee абсолютно нету — ничего не сказать. Появляются они раз в 1-2 недели и что бы получить хотя бы ответ какой-то, надо иметь огромную удачу. Вакансии на junior`а — они да, появляются немного чаще, но там нужно иметь от года коммерческого опыта, который непонятно где взять, ведь «фриланс опыт не котируется». Там отвечают чуть чаще, иногда даже зовут на собеседование. Когда люди узнают, что ты «всё еще» не освоил Angular и Тайпскрипт, а с ними и Docker и вообще не можешь создать аналог амазону — они спрашивают, остались ли у тебя к ним еще какие-то вопросы?
Я действительно не понимаю, почему нужно обладать огромным количеством теоретических и практических навыков, скажем так, нелегких технологий, что бы устроиться на позицию трейни, еще и на совсем неудовлетворительную зарплату. Так что бы еще и попасть на такую позицию — надо в лотерею выиграть, ведь тебе в 90% случаев просто не ответят. А там если ты покажешься подходящим рекрутеру и получится удачно попасть в настроение интервьюера на тех.собесе, а далее твое тестовое не будет слабее чем у остальных — возможно, тебя возьмут, но это не точно.
Честно, для меня это конкретный шок. Я свитчер из сферы создания компьютерной графики, где порог входа в профессию раз в 5 ниже, а зарплаты в два. Я не понимаю как это работает.
Дайте рецепт, пожалуйста.

Дайте рецепт, пожалуйста.

Рецепт на антидепрессанты? :)

Вы тратите время на ерунду. Не надо изучать все буквы из стека дотнет. Майкрософт знаменит тем, что любит выпустить технологию, распиарить, а потом забросить. Классический пример — WPF. Впрочем, они смогли обосраться во всех нишах, за что их так и любят.
Если Вы на полном серьезе решили вкатиться в дотнет в 2022 году (подумайте еще раз), учите ангуляр, кор для микросервисов и постгрес. Докер — это один файл Dockerfile, там учить нечего, один раз написали и забыли. Если есть опыт с пет проектами, напишите в резюме, что Вы мидл с тремя годами опыта, никто же не проверит.

напишите в резюме, что Вы мидл с тремя годами опыта, никто же не проверит.

Background check? Ні, не чули))

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

Як все вищенаписане відноситься до background check, єдиний сенс якого — перевірити, чи правду людина про себе написала?

А дуже просто відноситься: компанія зробила бекграунд чек і спалила? Ну, ідемо в наступну. Не з другого разу так з третього прокатить.

разу так з третього прокатить.

Ну тільки якщо так)

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

Даю ответ: трейни должен быть недооценённым активом + выбирают всегда из некоторого количества людей .

Можно поискать курсы внутри больших компаний. На Dou вон SoftServe как раз набирает на .Net.

Год опыта можете смело накинуть. Так 90% разработчиков делают первые 3-4 года, если что.

Проходи собесы как можно больше. Узнавай свои слабые места.

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

Якщо все що ви написала це правда, то не позиціонуйте себе як trainee. Немає ніяких заборон на некомерційний досвід для junior. Шукайте вакансії junior. Вказуйте свої проекти. Але раджу прокачати щось одне краще, наприклад MVC. І від нього відштовхуватися на співбесідах. Бо якщо рубитися зі всіма вашими досягненнями, то невірних відповідей буде забагато.

Дікую за пораду. Саме так я і зробив. Сфокусувався на MVC. Коли почав шукати роботу — дізнався, що MVC вже зовсім і не в тренді :(

Посмотрел Secret-Santa. Там нарушается C# Style Guide, не критично, но ощущение, что Вы тянете другой язык в C#, нет ни у кого желания бороться с таким.

так же поучавствовать в коммерческих фриланс turn-key проектах (2 месяца фулл-тайма)

Почему всего 2 месяца?

Сорри конечно, но выскажу свое мнение

но в статье я не нашел ответа на заявленные темы:

Как стать .NET-разработчиком.
План действий для начинающих

Скорей поток рекоммендаций по всем сферам дотнет, ссылки на статьи для сеньеров в перемешку на ссылки на курсы для джуниоров и несколько ресурсов по разработке.

Все таки тем кто учит дотнет рекоммендую свою статью 4х летней давности
dou.ua/...​ticles/net-for-beginners
Но в ближашее время планирую ее переписать.

Статью

Советы сеньоров: как прокачать знания junior .NET.

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

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

Дотнет — это мертвая технология, учите джаву.

Начинать с JS — ни в коем случае. После JS переучить человека писать нормальный код еще труднее, чем после PHP. Проще уже найти человека, который вообще не знает программирования и обучить его, чем переучивать кого-то, у кого первым языком был JS.

Я навчався у EPAM на курсах Джава. Це безкоштовні курси для майбутніх джуніоров.
Майже всі, хто їх закінчив знайшов робото. Або у самому EPAM, або у інших конторах.

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

и эту работу тоже кто-то делать должен

невже попит на фронтендерів перевищує їх пропозицію? зараз всі кому не лінь ідуть саме у фронтенд, бо найменший поріг входу

учите джаву

Некроманты в треде!

Станислав все правильно говорит. Зачем нам конкуренты?

Хм, а можно где-то почитать про тенденции сокращшения IT индустрии?

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

Вы сделали столько ошибок в слове Google

джава ваша, то дотнет з минулого. одна радість у джавістів — кроссплатформеність була, та й ця карта бита))
з.і. я в курсі що джава зявилась раніше ніж дотнет, проте затримка в розвитку ну і всьо такоє...

Ахаха

Java мёртвая технология. Учите .Net Core ))

Вы бы хоть какие-то доводы привели что ли. Я вот как не посмотрю рейтинги на том же Stackoverflow Survey, то Java каждый год теряет в популярности в разы больше чем C#. Он даже удивительным образом натирает обороты, хоть и совсем незначительно.

Джава — это мертвая технология, учите rust

Rust — технология, которая уже успела заржаветь

Бегите глупцы.
Не надо начинать в 2022 с С#.

С С# ничего, язык как язык.
А вот рынок не очень. 99% вакансий это переводить json в sql.
С Python, Java, Go, C++ есть шансы поучавствовать в чем-то интересном с C# минимальные.
Если не геймдев, там Unity и .NET топ

Да пофиг джава или дотнет или пайтон
Главное чтобы денюжку платили
Я в дотнет попал просто потому что попал а интернатуру на 3м курсе. До этого я кодил на c++, java, ActionScript

Главное чтобы денюжку платили

В смысле? А как же интересные проекты и дружный коллектив?

Да как повезет
Вначале надо технически норм шарить чтобы проекты выбирать

С Java есть шансы поучавствовать в чем-то интересном с C# минимальные

вот сейчас реально очень смешно было.

и что тебе смешно?
Kafka на чем написана? А еластик? Я уже молчу за Амазоны/Гуглы/Нетфликсе где это один из основных языков бекенда.

Смешно то, что 99% явистов работают в прочем ынтерпрайзе, причём половина на адском легаси.
Поэтому, если ты — явист и работаешь не в Амазон/Гугл(а ты точно там не работаешь), то с этой явой сидишь в банке и участвуешь в захватываеющеим челендже по «переводу в sql» даже не json, a какого-нибуть XML cтандарта середины 90-x.
А ты правда не в курсе где основная ява закопана? И о том. что .net и java — близнецы-братья, только первый «модный молодёжный» а второй отягощённый тяжелым наследием детских травм?

Ровно об этом и речь. На Java ты можешь работать с легаси или на крудах, на .NET ты будешь работать только с легаси или на крудах.

Вы сейчас серьезно, или просто такой «троллинг» странный?

С преувеличениями конечно.
Но серьёзно.
Ребята-новички, не стоит вкатываться в 2022 в c#. Если ваша цель не геймдев.
Как язык он не хуже конкурентов в своём классе. А во многом даже лучше.
Но спустя время вы увидите ограниченность применения. Вы не сможете работать с биг датой, с ML, новые проекты и стартапы бывают, но не так часто. В топ компаниях (кроме майкрософта) этот язык не используется. Хайлоад есть в вакансиях, но тоже не особо часто.
И самое главное вы с этого стека потом хрен спрыгните. Потому что работа есть, вилки совсем чуть чуть ниже, сам язык намного приятней чем та же джава. Идеальное болото.

Такое впечатление, что мы с вами в каких-то параллельных мирах живем: как раз с момента выхода .NET Core наблюдаю тенденцию, как .NET/C# заходят в те ниши, где раньше были разные nodejs, go, python. Регулярно вижу различные стартапы, которые стартуют на .NET и C# (иногда даже не F#). При этом Microsoft постоянно расширяет спектр возможностей для платформы. Насчет топ компаний — а вы уверенны, что хотите там работать? В Microsoft да, условия хорошие, в Google тоже ничего. Но вот то, что я слышал о работе в Netflix и Amazon — это далеко не предел мечтаний. Насчет хайлоада — это один из основных сегментов где .NET отлично развернулся и среди конкурентов у него там только та самая Джава и есть. А вот геймдев — это уже скорее довольно нишевый сегмент для .NET, который не так заметен на фоне того же хайлоада.

Удивительно, как Go успел занять какую-то нишу, а потом его .Net Core от туда начал вытеснять. Что-то тут явно не то с хронологией событий и порядком кто кого вытеснил)

Го в своей нише никому не уступает и вряд ли будет в ближайшее время. Вы имеете минимализм и простоту node.js/python и при этом скорость java/C#. Тут без альтернатив.

Блин. Вот очень точно все описал. Жиза)

Низкий потолок зарплат, чтобы получать 5000, надо быть фулстек девопс тимлидом и еще на скрипке играть. Три года неиронично считается достаточным опытом для полноценной разработки. Нет целостной концепции развития, в каждой версии в C# добавляют какие-то странные фичи (кто-то помнит про dynamic?) Проекты — это или мутные микрокредиты на ажуре, или ковыряние в древнем говнокоде на wpf за 2000 долларов синьору.
Дотнет из универсальной платформы для всего на свете скатились на уровень «пытаемся конкурировать с nodejs» и падение продолжается.

В основном все проекты, которые мне предлагали в последнее время, это хайлоад системы, стартапы, или проекты с довольно сильным научным бэкгарундом, где требуется не только знание алгоритмов, но и умение их разрабатывать. Может все дело в вашей личной выборке? Ну и про 5000 — это сейчас стоимость услуг не особо крутого мидла.

Хайлоад стартапы — это и есть те самые микрокредиты, гемблинг и порносайты.
Про 5к мидлу повеселило. Вы, видимо, смотрите на рынок откуда-то из UK, а я из Украины.

У вас реально когнитивное искажение, кучу норм позиций есть, но большинство ушло из Украины в начале войны

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

Хайлоаду багато
А що означає

проекты с довольно сильным научным бэкгарундом

?

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

Это означает использовать модные базворды. Перекладывать xml в sql — это фу деградация, а перекладывать json в bson — это модно стильно молодежно. Квантами занимаются специально обученные люди на питоне, а наша задача — это поднять кластер, который посчитает скользящую среднюю, матана там примерно как в сайте заказа пиццы.

зараз би .net вчити 😅

Підписатись на коментарі