Данные из 63вакансии · 12 августа 2026

Как стать разработчиком на C# и .NET: путь от нуля до первого оффера

Не «стань разработчиком за 3 месяца» — реальный путь входа на основе данных по 63 вакансии.

Мурадов ЮрийАвтор·Мурадов Юрий·Аналитик SkillStat
ПЕПроверено·Пешков Евгений·Технический редактор·.NET-разработчик · опыт 10+ лет
Junior-вакансий сейчас
3
5% от всех 63 вакансии
Сложность входа
Высокая
5% junior-вакансий
Senior / Junior+Intern
13x
На каждого junior+intern — 13 senior
Навыков / вакансия
17
медиана по вакансиям
Всего вакансий
63
активных в Москве

Можно ли стать разработчиком на C# и .NET с нуля

Да. По данным SkillStat, 5% вакансий разработчика на C# и .NET — уровня junior или стажёр. Это 3 вакансии прямо сейчас.

«С нуля» для разработчика на C# и .NET — это без коммерческого опыта, но не без серверного мышления. К первому отклику нужны: C# (23.8%), сервис на ASP.NET (55.6%), SQL (69.8%) не по верхам, Entity Framework (31.7%) с пониманием, какой запрос он породит, и проект, который поднимается в Docker (49.2%) чужими руками. Медиана требований в вакансии — 17 навыков, и закрывать нужно верхушку списка, а не весь перечень.

Вход трудный не из-за языка. C# устроен дружелюбно, ASP.NET за неделю поднимает работающий сервис. Трудно другое: .NET зовут туда, где данные — это деньги, документы и права доступа, и ценят не скорость написания фичи, а понимание последствий. Что будет, если операция прервалась посередине? Кто увидит эти строки? Сломается ли отчёт, который никто не открывал полгода? Плюс структура рынка: на одного junior приходится 13 senior-вакансии.

Как стать разработчиком на C# и .NET: короткий план

Пять шагов от первого класса на C# до сервиса, который переживёт свой первый релиз.

01
C# без магии
Типы, коллекции, интерфейсы, исключения, асинхронность. C# — в 23.8% вакансий. Цель этапа: читать чужой код и понимать, где копия, а где ссылка.
02
Данные раньше API
SQL — в 69.8% вакансий, PostgreSQL — в 73%, MS SQL — в 47.6%. Соединения, индексы, транзакции. Backend меняет данные, а не возвращает строки.
03
Сервис на ASP.NET
ASP.NET — в 55.6% вакансий, REST — в 52.4%. Контракт, валидация входа, внятные ошибки, внедрение зависимостей, роли и права.
04
Entity Framework и миграции
Entity Framework — в 31.7% вакансий. Модели, миграции, связи. Главный навык тут — видеть, какой SQL порождает твой код, и уметь это проверить.
05
Очередь и релиз
Kafka (52.4%) или RabbitMQ (30.2%), Docker (49.2%), CI/CD (42.9%), логи. Сервис должен подниматься не только у автора.

Что учить разработчику на C# и .NET первым

Не всё сразу. Вот очерёдность по частотности в вакансиях — от самого нужного к менее срочному.

Навык Все вакансии
.NET 95.2%
PostgreSQL 73%
SQL 69.8%
net 60.3%
ASP.NET 55.6%
Apache Kafka 52.4%
Git 52.4%
REST 52.4%
Microservices 50.8%
Docker 49.2%

«Все вакансии» — доля из 63 вакансии. Обновлено 12 августа 2026.

Полный список навыков с частотностью, связками и зарплатной премией — навыки разработчика на C# и .NET →

Roadmap разработчика на C# и .NET: от нуля до junior

Порядок опирается на частотность навыков по данным вакансий. Первые 4–5 этапов — минимум для первого оффера.

  1. 01
    C# и .NET рантайм 23.8% вакансий

    Синтаксис C#, ООП, generics, async/await, LINQ, стандартная библиотека .NET.

    Подробнее →
  2. 02
    Git 52.4% вакансий

    Система контроля версий — обычно ожидается на любом грейде.

    Подробнее →
  3. 03
    SQL и база данных 69.8% вакансий

    Реляционные БД, запросы, индексы, транзакции — MS SQL Server или PostgreSQL.

    Подробнее →
  4. 04
    HTTP и REST API

    Протокол HTTP, методы запросов, статусы, проектирование RESTful-интерфейсов.

    Подробнее →
  5. 05
    ASP.NET Core и Web API 55.6% вакансий

    ASP.NET Core, Minimal API, Entity Framework Core — основной стек .NET-разработчика.

    Подробнее →
  6. 06
    Тестирование middle+

    Юнит-тесты с xUnit/NUnit/MSTest, моки (Moq) — ожидается даже на junior.

    Подробнее →
  7. 07
    Docker и Linux 49.2% вакансий middle+

    Контейнеризация и базовые навыки Linux — стандарт серверной разработки и CI/CD.

    Подробнее →
  8. 08
    Очереди и кэш 30.2% вакансий middle+

    Redis, RabbitMQ — брокеры сообщений и кэш; актуальны на middle.

    Подробнее →
  9. 09
    CI/CD и production-практики middle+

    GitLab CI / GitHub Actions, деплой, мониторинг. Востребованы на middle/senior.

    Подробнее →
  10. 10
    Kafka, Kubernetes — senior/infra 52.4% вакансий middle+

    Не входят в junior-минимум. Востребованы в масштабируемых системах и инфраструктурных ролях.

    Подробнее →

Junior-вакансии разработчика на C# и .NET: что реально требуют работодатели

Срез построен на 63 активных вакансии.

Junior-вакансий
3
inc. стажировки
Доля junior
5%
от всего рынка
Senior / Junior+Intern
13x
соотношение
Навыков / вакансия
17
медиана
Распределение вакансий по грейдам
Junior — 5.2% (3)
Middle — 24.1% (14)
Senior — 67.2% (39)
Lead — 3.4% (2)
Что значат эти цифры. 3 вакансии уровня junior из 63 — вход конкурентный. Особенность .NET: платформа живёт в корпоративном контуре — банки, страховые, промышленность, внутренние системы и B2B. Такие компании нанимают медленно, но и расстаются медленно, а заметная часть найма идёт не по прямым вакансиям, а через интеграторов и подрядчиков. Медиана требований — 17 навыков, и это не значит, что нужны все: разговор закрывает верхушка списка — .NET → PostgreSQL → SQL → net.

Какие проекты сделать для портфолио

Портфолио для .NET — не про «сколько фич», а про «выдержит ли». Один сервис, в котором есть права доступа, транзакция, миграция и внятное поведение при отказе, весит больше пяти учебных API. Смотрят на то, что происходит с данными, когда всё пошло не по плану.

Учётный сервис с ролями и аудитом
Средняя · 2–3 недели
Стек: .NET, ASP.NET, PostgreSQL, Entity Framework
GitHub: Docker Compose для запуска, миграции в репозитории, схема базы, тесты на бизнес-правило и на плохой ввод
Ценность: Закрывает связку .NET, SQL и права доступа — то, за чем идут в корпоративный backend
Интеграция с внешним сервисом через очередь
Высокая · 2–3 недели
Стек: RabbitMQ или Apache Kafka, Redis, .NET
GitHub: Сценарий с повторной доставкой: что произойдёт при дубле сообщения и при падении обработчика на середине
Ценность: Kafka — в 52.4% вакансий, RabbitMQ — в 30.2%. Показывает идемпотентность, а не «умею слать сообщения»
Отчёт по данным: Entity Framework против SQL
Средняя · 1 неделя
Стек: Entity Framework, PostgreSQL или MS SQL
GitHub: Два варианта одного отчёта, порождённый SQL в README, замер времени на объёме данных, индексы под запрос
Ценность: Прямо доказывает то, о чём спрашивают на каждом собеседовании: понимаешь ли ты, что делает ORM
Тот же сервис в Docker и CI/CD
Лёгкая–средняя · 1 неделя
Стек: Docker, Linux, CI/CD, Git
GitHub: Сборка и тесты в конвейере, настройки через переменные окружения, инструкция запуска на чистой машине
Ценность: Снимает главное сомнение по .NET-новичку: что он умеет только Windows и только кнопку в IDE

Как оформить GitHub и резюме

Профиль GitHub
  • Pinned repositories: 1–2 сервиса на .NET, а не десять учебных консольных приложений
  • README: запуск одной командой через Docker Compose, строка подключения через переменные окружения, тестовые данные
  • Миграции в репозитории — по ним видно, что схема жила и менялась, а не родилась готовой
  • Тесты хотя бы на два случая: бизнес-правило и ответ сервиса на плохой ввод
  • Заполненный профиль и контакты: в корпоративном найме резюме читает тот, кто потом будет с тобой работать
Резюме без коммерческого опыта
  • Раздел «Проекты» вместо «Опыт работы»: какое правило автоматизировал, что лежит в базе, что вернёт сервис при ошибке
  • Называй версию .NET, на которой сделан проект. Это первое, что смотрит будущий тимлид, и это отсекает половину вопросов
  • Не пиши «работал с базами данных» — пиши, какая база (PostgreSQL или MS SQL), что за схема, что индексировал и зачем
  • Навыки — только те, что реально трогал: .NET, PostgreSQL
  • Сопроводительное письмо: три-четыре предложения о том, какую задачу решил и чем. В корпоративном найме их читают внимательнее, чем в стартапах
Слабое резюме

«Изучил C#, знаком с .NET и ASP.NET, работал с базами данных»

Сильное резюме

«Сделал сервис учёта заявок на ASP.NET: роли и права, аудит изменений, PostgreSQL с миграциями через Entity Framework. Интеграция с внешним сервисом через RabbitMQ — повторные попытки и защита от дублей, сообщение обрабатывается один раз даже при повторной доставке. Поднимается одной командой в Docker, тесты гоняются в CI/CD. GitHub: [ссылка]»

Самостоятельно, курсы или вуз — какой путь выбрать

Самостоятельно
Весь стек бесплатный и кроссплатформенный: .NET ставится на Linux, база — PostgreSQL, всё поднимается в Docker. Порог по деньгам нулевой
Без чужого кода не увидишь, зачем нужны слои, права доступа и аудит, — а нанимают в .NET именно за это
Если готов год работать по 2–3 часа в день и брать задачи со сложными правилами, а не список дел
Курсы с ментором
Стек широкий — язык, ASP.NET, SQL, Entity Framework, очереди, — и структура тут экономит месяцы
Дорого, и часть программ до сих пор учит .NET Framework и примеры только под Windows
Если нужна структура и ревью. Перед оплатой спроси одно: на какой версии рантайма программа
Вуз / колледж
Корпоративный сектор — банки, страховые, промышленность — смотрит на диплом чаще продуктовых компаний, а .NET живёт именно там
4 года, и практики с современным стеком в программе обычно почти нет
Если целишься в крупные корпорации или в отрасли с формальными требованиями к образованию
Ловушка.NET: учить платформу по устаревшим материалам. В выдаче до сих пор полно.NET Framework, примеров, которые работают только под Windows, и книг, написанных до того, как платформа стала кроссплатформенной. А в вакансиях рядом с.NET стоят Linux, Docker (49.2%) и Kubernetes (30.2%) — это норма, а не экзотика. Перед курсом, книгой или статьёй смотри на две вещи: год и версию рантайма.

Что спрашивают на собеседовании

C# и асинхронность
Типовые вопросы
  • ·Значимые и ссылочные типы: где живут и что происходит при передаче
  • ·Что происходит с потоком, пока метод ждёт ответа
  • ·Зачем интерфейс, если есть базовый класс
  • ·Исключения: где ловить, а где не надо
Как показать проектом

Покажи в сервисе место, где асинхронность реально нужна, и объясни, что было бы без неё

SQL и данные
Типовые вопросы
  • ·Соединения: как связать таблицы и не размножить строки
  • ·Индекс: когда помогает, а когда мешает
  • ·Транзакция: что произойдёт, если операция прервалась посередине
  • ·MS SQL и PostgreSQL: чем отличаются на практике
Как показать проектом

Схема базы твоего проекта: почему такие таблицы, связи и индексы

ASP.NET и контракт сервиса
Типовые вопросы
  • ·Что происходит с запросом от точки входа до ответа
  • ·Внедрение зависимостей: зачем оно и что ломается без него
  • ·Как сервис должен отвечать на плохой ввод
  • ·Права доступа: где их проверять и почему не на клиенте
Как показать проектом

Сервис: покажи обработку ошибок, роли и валидацию входа

Entity Framework и SQL под ним
Типовые вопросы
  • ·Какой запрос породит твой код и как это проверить
  • ·Отслеживание изменений: зачем и когда мешает
  • ·Миграции: как выкатить схему, не потеряв данные
  • ·Когда ORM стоит отложить и написать SQL руками
Как показать проектом

Миграции в репозитории: что менялось, почему и как откатывалось

Архитектура и очереди
Типовые вопросы
  • ·SOLID: какой принцип нарушают чаще всего и чем это кончается
  • ·Kafka и RabbitMQ: под какие задачи что
  • ·Идемпотентность: зачем она при повторной доставке
  • ·Микросервисы: что от них ломается, а не только что улучшается
Как показать проектом

Интеграция через очередь: покажи, что будет при дубле сообщения

Сколько времени нужно, чтобы стать разработчиком на C# и .NET

Минимум
6–9 мес
С опытом в другом серверном языке: остаётся экосистема .NET, ASP.NET и особенности данных
Медиана
12–18 мес
Самостоятельно с нуля, 2–3 часа в день: язык, SQL, ASP.NET, Entity Framework, один релиз
Реалистично
18–24 мес
При совмещении с работой. Стек широкий, и половина времени уходит не на C#, а на данные

Почему сроки в .NET короче, чем кажется, и длиннее, чем обещают. Работающий сервис на ASP.NET собирается за месяц — по урокам. Дальше начинается разница между «сервис отвечает» и «сервис можно отдать в банк»: транзакции, права, миграции без потери данных, поведение при отказе. Вот эта разница и есть год.

Скорость решают три вещи: был ли опыт с любым другим серверным стеком (тогда остаётся синтаксис и экосистема), насколько крепок SQL (69.8%) — без него ASP.NET бесполезен — и тренируешься ли ты на задачах со сложными правилами и ролями, а не на списке дел.

Ошибки новичков

Учат .NET Framework вместо современного .NET

Почему мешает: Половина статей в выдаче написана до объединения платформы. Framework жив в поддержке, но новый код на нём не пишут, и на собеседовании это слышно с первой минуты

Как исправить: Начинай с актуальной версии .NET. Framework трогай только тогда, когда пришёл в проект, где он уже есть

Путаются в версиях и названиях

Почему мешает: .NET Framework, .NET Core и просто .NET — три разных ответа на вопрос «на чём ты писал». Новичок называет их вперемешку, и это читается как отсутствие опыта

Как исправить: Запомни одну линию: Framework — старая ветка под Windows, Core — переходная, дальше просто .NET с номером. В резюме указывай номер

Ставят Entity Framework вперёд SQL

Почему мешает: SQL стоит в 69.8% вакансий, а Entity Framework — в 31.7%. ORM без SQL порождает запросы, которые кладут базу на первой тысяче строк

Как исправить: Сначала руками: выборки, соединения, индексы, транзакции. Потом Entity Framework — и всегда смотри, какой SQL он породил

Считают, что .NET — это только Windows

Почему мешает: Linux стоит в части вакансий разработчика на C# и.NET, Docker — в 49.2%, Kubernetes — в 30.2%. Кандидат, который не умеет запустить сервис в контейнере, выпадает на первом же вопросе про деплой

Как исправить: Подними свой сервис под Linux в Docker и прогони тесты в CI/CD (42.9%). Одного раза достаточно, чтобы страх ушёл

Учат микросервисы до первого работающего сервиса

Почему мешает: Микросервисы стоят в 50.8% вакансий, и слово красивое. Но резать нечего, пока не сделан один сервис, который переживает отказ базы

Как исправить: Один монолитный сервис, доведённый до транзакций, ролей и внятных ошибок. Очередь добавляй, когда появится вторая система, с которой надо общаться

Копируют асинхронность из примеров

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

Как исправить: Разберись, зачем она вообще нужна серверу, и покажи в проекте место, где без неё было бы хуже

Пропускают MS SQL как «устаревший»

Почему мешает: MS SQL стоит в 47.6% вакансий разработчика на C# и .NET — почти столько же, сколько PostgreSQL (73%). Корпоративный контур на нём держится годами

Как исправить: Учи SQL, а не диалект. Различия в синтаксисе добираются за неделю, если понимаешь соединения, индексы и транзакции

Обходят вакансии со словом «легаси»

Почему мешает: .NET нанимают в системы с историей — там документы, отчёты и интеграции, которые работают дольше, чем существует твой курс. Отказ от таких вакансий выкидывает самый доступный вход

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

Как SkillStat считает данные

Источник: 63 вакансии в московском сегменте. Навыки и грейды извлекаются автоматически из текста каждой вакансии.

Грейды: определяются по требованиям вакансии — уровню опыта, упоминанию «junior», «intern», «стажёр». Это рыночная оценка объявления.

Сложность входа: рассчитывается по доле junior-вакансий и медиане навыков на junior-уровне. Это индикатор, а не гарантия.

Обновление: данные пересчитываются регулярно. Текущий срез — 12 августа 2026.

Частые вопросы

Можно ли стать разработчиком на C# и .NET с нуля?
Да, но входных позиций мало: junior и стажёров среди вакансий разработчика на C# и .NET — 3 из 63, по данным SkillStat. Компенсирует это структура рынка: .NET живёт в корпорациях, где часть найма идёт через интеграторов и подрядчиков, и туда берут потоком. «С нуля» тут значит «без коммерческого опыта», но с работающим сервисом и SQL.
Чем .NET Framework отличается от .NET Core и просто .NET?
Это три поколения одной платформы. .NET Framework — старая ветка, только под Windows, живёт в поддержке существующих систем. .NET Core — переходная кроссплатформенная ветка. Дальше версии называют просто .NET с номером — это то, на чём пишут новый код. В вакансиях чаще всего указано .NET (60.3%), а какое именно поколение — уточняй на первом созвоне.
Какую версию .NET учить?
Актуальную, с долгосрочной поддержкой — на ней пишут новое и на неё переезжают со старого. .NET Framework отдельно учить не нужно: если попадёшь в проект, где он есть, разберёшься по месту за неделю. Обратное неверно — с Framework на современный .NET переучиваться дольше, потому что там другие подходы к запуску, настройкам и внедрению зависимостей.
Нужен ли Windows для .NET?
Нет. Современный.NET кроссплатформенный: пишут под Windows, macOS и Linux, а работает сервис чаще всего в контейнере под Linux — он стоит в части вакансий разработчика на C# и.NET, Docker — в 49.2%. Windows нужен, только если проект на.NET Framework или завязан на службы и библиотеки самой системы.
Нужен ли SQL C#-разработчику?
Да, и это второй по частоте навык профессии: SQL — в 69.8% вакансий (44 из 63). .NET нанимают туда, где данные — это деньги и документы, поэтому спрашивают не «умеешь ли выбрать строки», а «что произойдёт с данными при отказе на середине операции». Минимум: соединения, индексы, транзакции, планы запросов.
PostgreSQL или MS SQL?
Обе. PostgreSQL стоит в 73% вакансий, MS SQL — в 47.6%: корпоративный контур исторически на MS SQL, новые проекты чаще берут PostgreSQL, и многие компании сейчас посередине переезда. Учи SQL как язык, а не диалект: различия добираются за неделю.
Нужен ли Entity Framework?
Полезен, но не первым: он стоит в 31.7% вакансий разработчика на C# и .NET — заметно реже, чем SQL (69.8%). Порядок такой: сначала SQL руками, потом Entity Framework поверх. Иначе получится разработчик, который умеет писать запросы через ORM и не умеет объяснить, почему страница каталога открывается восемь секунд.
Что такое SOLID и спрашивают ли его на собеседовании?
Спрашивают: SOLID стоит прямо в требованиях части вакансий разработчика на C# и.NET. Заучивать пять формулировок бесполезно — попросят пример из твоего кода. Готовь его заранее: где ты разделил класс, который делал два дела, и что это дало при следующем изменении.
Нужны ли Kafka и RabbitMQ?
Для входа — понимание, зачем очередь вообще нужна. Apache Kafka стоит в 52.4% вакансий разработчика на C# и .NET, RabbitMQ — в 30.2%: в корпоративных системах много интеграций, и синхронный вызов там ломается при первом же таймауте. Разница простая: RabbitMQ чаще про доставку задачи исполнителю, Kafka — про поток событий, который читают несколько потребителей.
Нужны ли Docker и Kubernetes?
Docker (49.2%) — да, на входе: твой сервис должен подниматься одной командой у чужого человека. Kubernetes (30.2%) стоит в вакансиях как контекст эксплуатации, и junior туда обычно не пускают. Знать, что сервис живёт в контейнере, который могут перезапустить в любой момент, полезно с первого дня — из этого растут вопросы про состояние и повторную обработку.
Почему в .NET так мало junior-вакансий?
Из-за отрасли. .NET концентрируется в банках, страховых, промышленности и B2B, а там цена ошибки в данных высокая и новичка сажают не на форму, а рядом с бухгалтерским контуром. Отсюда перекос: 3 вакансии для junior из 63. Обходной путь — интеграторы, подрядчики и вакансии на поддержку существующих систем.
Обязательно ли высшее образование?
Формально нет, но в корпоративном секторе на диплом смотрят чаще, чем в продуктовых компаниях: у банков и промышленности бывают формальные требования к кандидату. Без диплома реальнее заходить через интеграторов, подрядчиков и внутренние IT-отделы непрофильного бизнеса — там смотрят на сервис в GitHub и на разговор про данные.
Какие проекты сделать для портфолио?
Один хороший вместо пяти учебных: сервис на ASP.NET с ролями, аудитом и миграциями, к нему интеграция через очередь с защитой от дублей и запуск в Docker. Используй ключевые навыки профессии: .NET, PostgreSQL, SQL. Учебное API из курса без транзакций и прав доступа не считается — его видно по первому же вопросу.
Что писать в резюме без коммерческого опыта?
Проекты как опыт, и обязательно версию .NET — это первое, что ищут глазами. По каждому проекту: какое правило автоматизировал, какая база, что произойдёт при отказе. Инструменты — только из проектов: .NET, PostgreSQL. Слова «изучил» и «знаком» вычеркни: они читаются как «не делал».
Что спрашивают на собеседовании?
C# и асинхронность, SQL и транзакции, устройство запроса в ASP.NET, что порождает Entity Framework, SOLID на примере из твоего кода, очереди и идемпотентность. Почти всегда есть вопрос-сценарий: операция прервалась посередине — что с данными. Подробнее — в разделе «Собеседование» на этой странице.
Сколько зарабатывает начинающий C#/.NET-разработчик?
Ориентир для junior — 110 250–159 250 ₽ при медиане по профессии 245 000 ₽. Разбивка по грейдам, форматам работы и премии за навыки — на странице зарплат разработчика на C# и .NET.
Где посмотреть навыки разработчика на C# и .NET?
На странице навыков разработчика на C# и .NET — частотность по 63 вакансии, разбивка по грейдам и связки инструментов. Порядок изучения виден там же: .NET → PostgreSQL → SQL → net.