C# Developer. Advanced

Продвинутый курс для разработчиков с опытом разработки на C#

28 августа

3 месяца

Онлайн

Пн/Чт 20:00 Мск

Для кого этот курс:

  • Middle/Senior C# разработчиков, стремящиеся углубить знания по внутренним механизмам C# и .NET, чтобы повысить эффективность кода и перейти от стандартных CRUD-задач к более значимым ролям в команде
  • Разработчиков, которые создают библиотеки и внутренние инструменты, используемые всей командой компании. Их основная цель — писать стабильный и производительный код, который станет основой для других модулей и приложений
  • Разработчиков, отвечающих за ускорение работы высоконагруженных приложений и сервисов, которые ищут способы оптимизировать использование памяти, минимизировать паузы сборки мусора и ускорять выполнение асинхронных операций
  • Выпускников курса C# Developer. Professional

Необходимые знания:

  • Опыт работы с C# на уровне Middle и выше — понимание ООП, делегатов, событий и работы с коллекциями
  • Опыт работы с многопоточностью и async/await — понимание основных концепций потоков, задач (Task) и асинхронного программирования
  • Знание базовых принципов работы CLR — понимание, что такое стек и куча, базовые знания о сборщике мусора (GC) и области памяти
  • Навыки работы с IDE — умение настраивать окружение, компилировать и отлаживать приложения

Что даст вам этот курс

Курс поможет разработчикам (и не только) прокачать навыки и улучшить качество своего кода, но и повысить свою ценность в компании. Глубокое понимание внутренних механизмов C# и .NET делает участника курса более востребованным специалистом, способным работать в командах ядра продукта, платформенных командах и отделах по оптимизации производительности. Эти знания критически важны для карьерного роста до уровней Senior, Lead и System Architect
 

Вы научитесь:

  • Создавать производительные библиотеки и инструменты ядра — их код будет использоваться другими командами, а его производительность и предсказуемость станут конкурентным преимуществом
  • Повышать производительность приложений — оптимизация памяти, улучшение работы GC, уменьшение накладных расходов многопоточности
  • Обеспечивать предсказуемое поведение приложений — снижение времени отклика, уменьшение зависаний и замедлений, вызванных сборкой мусора или ошибочным использованием асинхронности

Почему стоит освоить?

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

Процесс обучения

Обучение проходит онлайн: вебинары, общение с преподавателями и вашей группой в Telegram, сдача домашних работ и получение обратной связи от преподавателя.

Вебинары проводятся 2 раза в неделю по 2 ак. часа и сохраняются в записи в личном кабинете. Вы можете посмотреть их в любое удобное для вас время.

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

После выполнения всех домашних заданий вы получите готовый выпускной проект.

Оптимальная нагрузка

Возможность совмещать учебу с работой

Портфолио

Индивидуальная разработка итоговой проектной работы 

Перспективы

 

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

Партнеры

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

  • Получите помощь с оформлением резюме, портфолио и сопроводительного письма
  • Разместите свое резюме в базе OTUS и сможете получать приглашения на собеседования от партнеров
  • Пройдете карьерную консультацию с нашим HR-специалистом
  • Получите рекомендации, как искать работу, и советы по прохождению собеседования
Формат обучения

Интерактивные вебинары


2 занятия по 2 ак.часа в неделю. Доступ к записям и материалам остается навсегда

Обратная связь


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

Активное комьюнити


Чат в Telegram для общения преподавателей и студентов

Программа

Управление памятью на уровне ядра

В этом модуле мы спустимся на самый низкий уровень управляемого кода, чтобы взять под контроль главный ресурс — память. Вы научитесь писать код с минимальным количеством аллокаций, понимать и предсказывать поведение Сборщика мусора (GC), а не бороться с его последствиями. Мы освоим Span<T>, пулы памяти и другие инструменты, которые лежат в основе производительности всего современного .NET. После этого модуля вы будете смотреть на каждую строчку своего кода через призму аллокаций.

Тема 1: Организация памяти в .NET: Stack, Heap, LOH и GC

Тема 2: Сборщик мусора (GC) под микроскопом: поколения, режимы и тюнинг

Тема 3: Низкоуровневая работа с памятью: Span<T>, Memory<T>, stackalloc

Тема 4: Продвинутое управление памятью: ArrayPool<T> и MemoryPool<T>

Тема 5: Структуры на максималках: ref struct, readonly ref, in-параметры

Тема 6: Работа с неуправляемыми ресурсами: IDisposableAsync, SafeHandle, NativeMemory

Асинхронность и многопоточность для экспертов

Этот модуль посвящен созданию систем, способных выдерживать высокую нагрузку и эффективно утилизировать все ядра процессора. Мы начнём с проектирования сложных асинхронных конвейеров с помощью Channels и TPL Dataflow. Вы освоите продвинутые и lock-free примитивы синхронизации для написания потокобезопасного кода без блокировок. Кульминацией модуля станет разработка собственного высокопроизводительного TCP-сервера с нуля, что закрепит все полученные знания на практике.

Тема 1: Архитектура высоконагруженных систем: System Design на примере In-Memory кэша

Тема 2: System.IO.Pipelines: высокопроизводительная передача и обработка потоков данных

Тема 3: Каналы (System.Threading.Channels): современный асинхронный producer/consumer

Тема 4: Конвейеры обработки данных с TPL Dataflow

Тема 5: Продвинутые примитивы синхронизации: SemaphoreSlim, ReaderWriterLockSlim, ManualResetEventSlim

Тема 6: Lock-Free алгоритмы с Interlocked и Volatile

Тема 7: Теория: Высокопроизводительные TCP-серверы на System.Net.Sockets

Тема 8: Практикум: Пишем асинхронный TCP-сервер для кэша

Профилирование и экстремальная оптимизация

В этом модуле мы превращаемся в «детективов производительности». Вы научитесь подходить к оптимизации системно: не гадать, а измерять. Мы освоим профессиональные инструменты (BenchmarkDotNet, dotnet-trace, dotnet-dump) для поиска реальных узких мест в CPU и памяти. Вы узнаете, как «договориться» со сборщиком мусора для минимизации пауз и как выжать максимум из процессора с помощью SIMD-векторизации. Этот модуль научит вас находить и устранять проблемы производительности, о существовании которых вы раньше могли даже не подозревать.

Тема 1: Профилирование CPU: BenchmarkDotNet и dotnet-trace

Тема 2: Профилирование памяти: dotnet-dump и dotMemory

Тема 3: Продвинутая отладка: анализ дампов памяти с WinDbg и SOS

Тема 4: Векторизация (SIMD): ускорение вычислений с System.Numerics

Тема 5: Практикум: Оптимизируем реальный код

Внутренние механизмы CLR

Этот модуль — погружение в самое сердце компилятора и среды выполнения .NET. Вы узнаете, как ваш C# код превращается в машинные инструкции (JIT/AOT) и как можно влиять на этот процесс. Мы перейдем на следующий уровень абстракции и научимся писать код, который анализирует и генерирует другой код. Вы освоите мощь Expression Trees для создания динамических решений, а также Source Generators и Roslyn API — самые современные инструменты метапрограммирования, позволяющие автоматизировать рутину и достигать максимальной производительности.

Тема 1: JIT и AOT компиляция: ReadyToRun и NativeAOT

Тема 2: Анализ кода с Roslyn API: пишем свой анализатор

Тема 3: Генерация кода с Source Generators

Тема 4: Практикум: Пишем высокопроизводительный сериализатор с Source Generators

Современные парадигмы и инструменты эксперта

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

Тема 1: OpenTelemetry: современный стандарт наблюдаемости

Тема 2: Нагрузочное тестирование: проверка вашего кода на прочность

Тема 3: Безопасная разработка (Secure Coding): защита от атак и уязвимостей

Тема 4: Криптография в .NET: шифрование, хеширование, подписи

Тема 5: Введение в AI для .NET: Semantic Kernel

Проектный модуль

Тема 1: Консультация по проектам и домашним заданиям

Тема 2: Защита проектных работ

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

Выпускной проект


Каждый курс завершается финальным проектом, который предстоит защитить перед преподавателями и командой. Вам будет, что обсудить на собеседовании!

Вы можете выбрать одну из предложенных преподавателем тем или реализовать свою идею.

Преподаватели

Руководитель курса

Алексей Ягур

Елена Сычева

Team Lead Full Stack Developer

Arcadia

Дмитрий Гурьянов

Senior Developer

SKL Group

Антон Герасименко

Михаил Дмитриев

инженер-программист

НИПК Электрон

Павел Нилов

Виктор Дзицкий

Тимлид, full-stack .NET Developer

SolarLab

Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания

Ближайшие мероприятия

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

Что нового в .NET10 для разработчиков
Антон Герасименко
Каждый выход LTS версии dotnet приносит много нововведений, скоро выходит .NET10, в котором уже есть синтаксические нововведения (сахар). Посмотрим что нового в runtime; с чем к нам приходит C#14, что за field, extension; и какие новинки могут быть интересны в MAUI, EF Core


Что будет на вебинаре:
— Обзор новых возможностей и изменений в .NET 10
— Нововведения в синтаксисе C# 14 (сахар, field, extension)
— Обновления в runtime и их влияние на работу приложений
— Новые функции в MAUI и EF Core


Чему научатся участники:
— Понимать основные нововведения в .NET 10 и их применение
— Использовать новые синтаксические конструкции C# 14
— Оценивать изменения в runtime и адаптировать код
— Работать с новыми возможностями MAUI и EF Core для разработки современных приложений

Кому будет полезно:
— Разработчики, которым предстоит читать код коллег, перешедших на .NET10


→ Вебинар в рамках курса «C# углубленный»: otus.ru/lessons/csharp-in-depth/
...
18 августа в 17:00
Открытый вебинар

Прошедшие
мероприятия

Елена Сычева
Открытый вебинар
Заставьте компилятор работать на вас: магия метапрограммирования с Source Generators в C#

Этот курс может оплатить ваш работодатель

Обучайтесь за счёт работодателя или разделите оплату 50/50
  • Подробно расскажем об интересующем вас курсе
  • Объясним, как договориться с работодателем
  • Сообщим стоимость обучения и варианты оплаты
  • Ответим на вопросы
  • Предоставим шаблон договора и счёт на оплату

Подтверждение знаний и навыков

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

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

  • Стоимость ниже, чем покупка курсов по отдельности
  • Диплом о профессиональной переподготовке
  • Расширенная опция помощи с трудоустройством

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

Почему OTUS?
Мы обучаем IT-сотрудников уже 6 лет, через OTUS прошли 20 000 студентов. Специализируемся на программах для людей с опытом, а ещё – быстро переформатируем учебные программы под изменения в сфере информационных технологий.
Обязательно ли выполнять и защищать выпускной проект?
Для получения сертификата OTUS и УПК (удостоверение повышения квалификации государственного образца) необходимо сдать проект. Кроме того, проект необязательно защищать перед аудиторией, а можно сдать в чате с преподавателем. Для получения УПК также понадобится предъявить документ об образовании.
Обязательно ли выполнять все домашние задания?
Да, если хотите хорошо отточить навыки. На курсе будут практические домашние задания, их выполнение занимает примерно 2-3 часа.
Помогаете ли вы с трудоустройством после курса?
В Otus Club проводятся вебинары на тему трудоустройства, разбор резюме, прохождения собеседований, особенности реферальных программ при найме. Также обратим ваше внимание, что преподаватели курса занимают ведущие позиции в разных компаниях. Будьте активны, выполняйте домашние задания, стройте network с сокурсниками и преподавателями, и вам будет проще найти работу, расширив свои контакты.
Смогу ли я совмещать учебу с работой?
Да. Программа курса рассчитана на студентов, у которых мало времени. Лекции проводим дважды в неделю, домашние задания — не чаще 1 раза в неделю.
Что, если в середине курса я не смогу продолжать обучение?
Вы можете бесплатно перейти в другую группу. Но только один раз.
Я могу вернуть деньги?
Да, мы можем вернуть деньги за то время курса, которое вы ещё не успели отучиться. Например, если курс длится пять месяцев, а вы отучились один, мы вернём деньги за оставшиеся четыре месяца.
Может ли мой работодатель оплатить курс?
Да. Когда свяжетесь с нашим менеджером, уточните, что оплачивать курс будет ваш работодатель.
Остались вопросы?
Оставляйте заявку и задавайте вопросы менеджеру, команда курса с ним на связи и постарается дать вам исчерпывающую информацию.