Як стати .NET-розробником. План дій для початківців

.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, RabbitMQ, якісь специфічні для певних хмар, як-от 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 in a 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. Напишіть у коментарях, про яку технологію ви б хотіли почитати наступного разу.

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



67 коментарів

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

Від себе пораджу новеньку книжку 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

Згадати 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 вже зовсім і не в тренді :(

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

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

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

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

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

Статью

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

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

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

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

Навіщо джаву? Знаю не один випадок, коли початківець не міг знайти роботу по джаві й терміново перевчався на щось інше. Так, вакансій на middle+ Java developer вистачає, але от trainee, junior — обмаль, бо ринок майже не потребує нових спеціалістів. Я сам коли свічився в ІТ, починав вчити з джави (відомий ютуб курс 30 days of code, + онлайн завдання на hackerrank — було дуже цікаво і продуктивно) — але швидко зрозумів безперспективність, якщо буду продовжувати, і десь через ~1,5 місяці переключився на JS. Хоча не жалію, що починав із джави — потім легко зайшов тайпскрипт, та й принципи ооп на ній добре вчити.
Вважаю, що для початківця найкраще обрати або JS, або Python.

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

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

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

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

давайте створимо ринок

Нісенітниця: ринок не потрібно створювати — він сам формується на основі попиту та пропозиції. А завдання девелопера-початківця — проаналізувати, за яким напрямом потрібно більше фахівців і де попит перевищує пропозицію, щоб збільшити власні шанси на працевлаштування та отримати хорошу оплату праці. Ну точно 2022 року вчити джаву чи дотнет — рішення не найкраще. Я не стверджую, що попит такий, як зараз, буде завжди: не виключено, що за кілька років виросте попит на девелоперів ще якогось іншого спрямування, а кількість джаваскрипт-девелоперів настільки збільшиться, що шанси зайти будуть значно нижчі — все можливо. Кажу лише про поточну ситуацію: у кожен час потрібно аналізувати і підлаштовуватись під особливості ринку.

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

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

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

учите джаву

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

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

Та ні, живе та розвивається. .net Core, Blazor і ще багато смачного. Але все вирішує де це використовується. Ринок здувається. .net/Java це у першу чергу ентерпрайз (які також здуваються і IT це перше на що звертають увагу при затягуванні поясів.
А знаючи Python або JS можна легко втиснутись у стартапи чи піти на фріланс (там взагалі можна почати з банального парсингу та заробляти на багато більше ніж колеги джуни на ставці).

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

Камон, про це кажуть усі кому не лінь. І скорочення це цілком зрозумілі процесси — живемо у дуже смутні часи. Пандемія, війна у центрі європи, санкції, ризики світової війни, ризики по Тайваню, тенденції деглобалізації економіки.
Тенденції, обмеження, ризики, ризики і ще раз ризики!

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

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

Тру, Microsoft — це зло.

Вы сделали столько ошибок в слове 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#. Тут без альтернатив.

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

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

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

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

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

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

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

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

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

?

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

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

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

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