Выберите текущую позицию

Укажите роль и уровень — система покажет путь развития, навыки и gap-анализ.

Путь развития

Junior

0-2 года

Текущий

Ответственность: Разработка API controllers в ASP.NET Core. Работа с Entity Framework Core. Написание unit-тестов (xUnit/NUnit). Изучение dependency injection.

Ключевые навыки:

Apache Kafka Нужно
ASP.NET Core Нужно
Elasticsearch / OpenSearch Нужно
GraphQL Design Нужно
MySQL / MariaDB Нужно
PostgreSQL Нужно
RabbitMQ Нужно
Redis Нужно
REST API Design Нужно
Алгоритмы и сложность Нужно
Асинхронное программирование Нужно
Дженерики и параметрический полиморфизм Нужно
Документирование API Нужно
Индексирование БД Нужно
Качество кода и рефакторинг Нужно
Миграции БД Нужно
Многопоточное программирование Нужно
Оптимизация запросов Нужно
Паттерны проектирования Нужно
Принципы ООП и SOLID Нужно
Проектирование схем данных Нужно
Стратегии версионирования API Нужно
Стратегии кэширования Нужно
Структуры данных Нужно
Типобезопасность и системы типов Нужно
Транзакции и конкурентность Нужно

Middle

2-5 лет

Следующий

Ответственность: Проектирование микросервисов на ASP.NET Core. Настройка middleware pipeline. CQRS с MediatR. Работа с Azure Service Bus/RabbitMQ. Code review.

Ключевые навыки:

Apache Kafka Нужно
ASP.NET Core Нужно
Connection Pooling Нужно
CQRS Нужно
Elasticsearch / OpenSearch Нужно
GraphQL Design Нужно
gRPC и Protocol Buffers Нужно
MySQL / MariaDB Нужно
PostgreSQL Нужно
RabbitMQ Нужно
Rate Limiting и Throttling Нужно
Redis Нужно
REST API Design Нужно
Terraform Нужно
Алгоритмы и сложность Нужно
Асинхронное программирование Нужно
Дженерики и параметрический полиморфизм Нужно
Документирование API Нужно
Индексирование БД Нужно
Качество кода и рефакторинг Нужно
Миграции БД Нужно
Многопоточное программирование Нужно
Оптимизация запросов Нужно
Паттерны Message Brokers Нужно
Паттерны проектирования Нужно
Принципы ООП и SOLID Нужно
Проектирование схем данных Нужно
Стратегии версионирования API Нужно
Стратегии кэширования Нужно
Структуры данных Нужно
Типобезопасность и системы типов Нужно
Транзакции и конкурентность Нужно
Шардирование БД Нужно
Переход: ~2-3 года
  • Самостоятельно реализовал 3+ проекта
  • Провёл успешные код-ревью
  • Участвовал в разрешении production инцидентов

Senior

5-8 лет

Ответственность: Архитектура .NET-приложений (Clean Architecture, Vertical Slices). Оптимизация производительности (BenchmarkDotNet). Minimal API. gRPC services. .NET Aspire.

Ключевые навыки:

Apache Kafka Нужно
ASP.NET Core Нужно
Clean Architecture Нужно
Code Review Нужно
Connection Pooling Нужно
CQRS Нужно
DDD тактические паттерны Нужно
Docker Нужно
Elasticsearch / OpenSearch Нужно
Git Advanced Нужно
GitHub Actions / GitLab CI Нужно
GitHub Copilot Нужно
GraphQL Design Нужно
gRPC и Protocol Buffers Нужно
JWT / OAuth2 / OIDC Нужно
Kubernetes Core Нужно
Microsoft Azure Нужно
MySQL / MariaDB Нужно
OpenTelemetry Нужно
OWASP и безопасность приложений Нужно
PostgreSQL Нужно
Prometheus и Grafana Нужно
RabbitMQ Нужно
Rate Limiting и Throttling Нужно
Redis Нужно
REST API Design Нужно
TDD и BDD Нужно
Terraform Нужно
TestContainers Нужно
Unit-тестирование Нужно
Алгоритмы и сложность Нужно
Асинхронное программирование Нужно
Декомпозиция на микросервисы Нужно
Дженерики и параметрический полиморфизм Нужно
Документирование API Нужно
Индексирование БД Нужно
Интеграционное тестирование Нужно
Качество кода и рефакторинг Нужно
Миграции БД Нужно
Многопоточное программирование Нужно
Оптимизация запросов Нужно
Основы System Design Нужно
Паттерны Message Brokers Нужно
Паттерны проектирования Нужно
Практики безопасного кода Нужно
Принципы ООП и SOLID Нужно
Проектирование схем данных Нужно
Стратегии версионирования API Нужно
Стратегии кэширования Нужно
Структурированное логирование Нужно
Структуры данных Нужно
Типобезопасность и системы типов Нужно
Транзакции и конкурентность Нужно
Шардирование БД Нужно
Переход: ~2-3 года
  • Самостоятельно реализовал 3+ проекта
  • Провёл успешные код-ревью
  • Участвовал в разрешении production инцидентов

Lead / Staff

7-12 лет

Ответственность: Системная архитектура на .NET. Стратегия миграции на .NET 8/9. Стандарты для C#-разработки. Orleans/Dapr для distributed systems.

Ключевые навыки:

Apache Kafka Нужно
ASP.NET Core Нужно
Clean Architecture Нужно
Code Review Нужно
Connection Pooling Нужно
CQRS Нужно
DDD тактические паттерны Нужно
Docker Нужно
Elasticsearch / OpenSearch Нужно
Git Advanced Нужно
GitHub Actions / GitLab CI Нужно
GitHub Copilot Нужно
GraphQL Design Нужно
gRPC и Protocol Buffers Нужно
JWT / OAuth2 / OIDC Нужно
Kubernetes Core Нужно
Microsoft Azure Нужно
MySQL / MariaDB Нужно
OpenTelemetry Нужно
OWASP и безопасность приложений Нужно
PostgreSQL Нужно
Prometheus и Grafana Нужно
RabbitMQ Нужно
Rate Limiting и Throttling Нужно
Redis Нужно
REST API Design Нужно
TDD и BDD Нужно
Terraform Нужно
TestContainers Нужно
Unit-тестирование Нужно
Алгоритмы и сложность Нужно
Асинхронное программирование Нужно
Декомпозиция на микросервисы Нужно
Дженерики и параметрический полиморфизм Нужно
Документирование API Нужно
Индексирование БД Нужно
Интеграционное тестирование Нужно
Качество кода и рефакторинг Нужно
Миграции БД Нужно
Многопоточное программирование Нужно
Оптимизация запросов Нужно
Основы System Design Нужно
Паттерны Message Brokers Нужно
Паттерны проектирования Нужно
Практики безопасного кода Нужно
Принципы ООП и SOLID Нужно
Проектирование схем данных Нужно
Стратегии версионирования API Нужно
Стратегии кэширования Нужно
Структурированное логирование Нужно
Структуры данных Нужно
Типобезопасность и системы типов Нужно
Транзакции и конкурентность Нужно
Шардирование БД Нужно
Переход: ~2-3 года
  • Самостоятельно реализовал 3+ проекта
  • Провёл успешные код-ревью
  • Участвовал в разрешении production инцидентов

Principal

10+ лет

Ответственность: .NET platform strategy. Выбор между .NET и альтернативами. Enterprise architecture. Microsoft stack optimization.

Ключевые навыки:

Apache Kafka Нужно
ASP.NET Core Нужно
Clean Architecture Нужно
Code Review Нужно
Docker Нужно
Elasticsearch / OpenSearch Нужно
Git Advanced Нужно
GitHub Actions / GitLab CI Нужно
GitHub Copilot Нужно
GraphQL Design Нужно
JWT / OAuth2 / OIDC Нужно
Kubernetes Core Нужно
Microsoft Azure Нужно
MySQL / MariaDB Нужно
OpenTelemetry Нужно
OWASP и безопасность приложений Нужно
PostgreSQL Нужно
Prometheus и Grafana Нужно
RabbitMQ Нужно
Redis Нужно
REST API Design Нужно
TDD и BDD Нужно
TestContainers Нужно
Unit-тестирование Нужно
Алгоритмы и сложность Нужно
Асинхронное программирование Нужно
Дженерики и параметрический полиморфизм Нужно
Документирование API Нужно
Индексирование БД Нужно
Интеграционное тестирование Нужно
Качество кода и рефакторинг Нужно
Миграции БД Нужно
Многопоточное программирование Нужно
Оптимизация запросов Нужно
Основы System Design Нужно
Паттерны проектирования Нужно
Практики безопасного кода Нужно
Принципы ООП и SOLID Нужно
Проектирование схем данных Нужно
Стратегии версионирования API Нужно
Стратегии кэширования Нужно
Структурированное логирование Нужно
Структуры данных Нужно
Типобезопасность и системы типов Нужно
Транзакции и конкурентность Нужно
Переход: ~2-3 года
  • Самостоятельно реализовал 3+ проекта
  • Провёл успешные код-ревью
  • Участвовал в разрешении production инцидентов

Gap-анализ: навыки для развития

Для перехода на следующий уровень необходимо развить:

Apache Kafka

Реализует интеграцию Kafka для .NET-микросервисов: паттерны event-driven коммуникации, интеграция Avro schema registry и exactly-once семантика с транзакциями. Настраивает consumer groups для параллельной обработки с правильным управлением offset. Реализует dead letter queues и политики повторов для отказоустойчивой обработки сообщений.

ASP.NET Core

Самостоятельно реализует задачи с ASP.NET Core. Понимает внутреннее устройство и оптимизирует производительность. Пишет тесты.

Connection Pooling

Оптимизирует connection pooling в .NET: настраивает Npgsql connection pool для PostgreSQL, реализует connection string строительство через NpgsqlConnectionStringBuilder, мониторит pool через NpgsqlConnection.GlobalStatistics. Настраивает EF Core pooling через AddDbContextPool.

CQRS

Реализует CQRS в .NET проектах: использует MediatR с FluentValidation для command validation, создает отдельные Dapper-based read repositories от EF Core write repositories, настраивает pipeline behaviors для cross-cutting concerns. Применяет Clean Architecture с CQRS.

Elasticsearch / OpenSearch

Самостоятельно реализует интеграцию Elasticsearch в .NET через NEST/Elastic.Clients.Elasticsearch. Проектирует маппинги индексов, строит сложные запросы с bool/nested фильтрами и реализует пайплайны bulk-индексации для поискового контента.

GraphQL Design

Проектирует GraphQL API: custom scalars, DataLoader для N+1, pagination через Relay. Настраивает filtering/sorting через Hot Chocolate conventions. Обрабатывает ошибки через error filter middleware.

gRPC и Protocol Buffers

Разрабатывает gRPC-сервисы на ASP.NET Core: реализует все типы RPC включая bidirectional streaming через IAsyncStreamReader/IAsyncStreamWriter, настраивает Interceptor для logging и auth, интегрирует с DI-контейнером. Использует Grpc.Net.ClientFactory для typed gRPC-клиентов.

MySQL / MariaDB

Самостоятельно проектирует схемы и оптимизирует запросы с MySQL / MariaDB. Понимает индексирование и планы выполнения запросов. Использует Entity Framework Core эффективно.

PostgreSQL

Самостоятельно проектирует схемы и оптимизирует запросы с PostgreSQL. Понимает индексирование и планы выполнения запросов. Использует Entity Framework Core эффективно.

RabbitMQ

Самостоятельно реализует RabbitMQ-messaging с MassTransit в .NET: саги, consumer'ы, политики повторов. Настраивает dead-letter exchanges и приоритетные очереди. Пишет интеграционные тесты с TestHarness для message-driven workflow.

Rate Limiting и Throttling

Реализует rate limiting в .NET сервисах: использует System.Threading.RateLimiting с Redis partitioned limiter для distributed scenarios, настраивает Polly rate limiting policy, реализует custom RateLimiterPolicy для complex business rules. Интегрирует с ASP.NET Core output caching.

Redis

Проектирует кеширование в .NET: IMemoryCache (L1) + IDistributedCache/Redis (L2), cache-aside pattern. Реализует cache stampede protection через SemaphoreSlim. Настраивает Redis Sentinel для HA. Мониторит hit ratio.

REST API Design

Проектирует RESTful API: versioning через Asp.Versioning, content negotiation, pagination через cursor/offset. Документирует через Swashbuckle/NSwag. Обрабатывает ошибки через ProblemDetails (RFC 7807). Реализует HATEOAS.

Terraform

Пишет Terraform-конфигурации для инфраструктуры .NET-сервисов: Azure App Services, SQL-базы, Service Bus, Key Vault. Использует модули для репликации окружений (dev/staging/prod). Работает с remote state (Azure Storage бэкенд). Использует workspaces для мульти-средового управления. Импортирует существующие Azure-ресурсы в Terraform.

Алгоритмы и сложность

Самостоятельно применяет алгоритмическое мышление в C#: выбирает эффективные LINQ-операции для обработки данных, понимает паттерны параллельных алгоритмов с TPL, оценивает компромиссы алгоритмов коллекций. Анализирует вычислительную сложность горячих путей кода в .NET-сервисах.

Асинхронное программирование

Самостоятельно применяет асинхронное программирование в C#/.NET: правильный async/await с ConfigureAwait, ValueTask для hot paths, IAsyncEnumerable для потоковых данных. Понимает компромиссы между Task и ValueTask, overhead async state machine.

Дженерики и параметрический полиморфизм

Проектирует продвинутые generic-абстракции C#: применяет ковариантность/контравариантность на интерфейсах (IEnumerable<out T>, IComparer<in T>), реализует generic repository и specification паттерны. Использует комбинации constraints (where T : class, IComparable<T>, new()) для точных API-контрактов. Понимает кэширование generic-типов (typeof(T)), рефлексию над generic-типами, строит fluent generic builders с method chaining.

Документирование API

Проектирует API-документацию: OpenAPI spec generation через Swashbuckle, XML docs, Swagger examples. Автоматизирует проверку актуальности. Документирует auth flows и error codes.

Индексирование БД

Самостоятельно проектирует схемы и оптимизирует запросы с Индексирование БД. Понимает индексирование и планы выполнения запросов. Использует Entity Framework Core эффективно.

Качество кода и рефакторинг

Самостоятельно применяет практики качества кода в C#/.NET-разработке. Пишет чистый код с использованием современных возможностей C#, правильным LINQ и async-паттернами. Понимает компромиссы между слоями абстракции и производительностью в .NET-приложениях. Ревьюит код на правильные паттерны Dispose, null safety и соблюдение архитектурных границ.

Миграции БД

Самостоятельно проектирует схемы и оптимизирует запросы с Миграции БД. Понимает индексирование и планы выполнения запросов. Использует Entity Framework Core эффективно.

Многопоточное программирование

Самостоятельно применяет многопоточность в C#/.NET: Task Parallel Library для сложных async-воркфлоу, Channels и pipelines для паттернов producer-consumer, ConcurrentBag/Queue для потокобезопасных коллекций, понимание SynchronizationContext и ConfigureAwait. Решает типовые задачи конкурентности самостоятельно.

Оптимизация запросов

Самостоятельно проектирует схемы и оптимизирует запросы с Оптимизация запросов. Понимает индексирование и планы выполнения запросов. Использует Entity Framework Core эффективно.

Паттерны Message Brokers

Работает с messaging в .NET: настраивает MassTransit с consumer/saga, использует NServiceBus для enterprise messaging, применяет Azure Service Bus с sessions для ordered processing. Реализует retry policies через Polly и настраивает dead letter handling.

Паттерны проектирования

Самостоятельно применяет паттерны проектирования в C#/.NET: медиатор с MediatR для CQRS, декоратор для сквозной функциональности, repository и unit of work для доступа к данным, спецификация для построения запросов. Понимает компромиссы между паттернами и YAGNI в .NET-приложениях.

Принципы ООП и SOLID

Самостоятельно применяет ООП/SOLID в C#/.NET: правильные интерфейсные контракты для сервисов, абстрактные базовые классы для общего поведения, внедрение зависимостей через встроенный DI-контейнер. Понимает компромиссы между наследованием и полиморфизмом на основе интерфейсов в архитектурных паттернах .NET.

Проектирование схем данных

Самостоятельно проектирует схемы и оптимизирует запросы с Проектирование схем данных. Понимает индексирование и планы выполнения запросов. Использует Entity Framework Core эффективно.

Стратегии версионирования API

Реализует версионирование: multiple API versions одновременно через ApiVersion, deprecation через Sunset header. Автоматизирует compatibility checks. Планирует migration path.

Стратегии кэширования

Самостоятельно реализует стратегии кэширования в .NET: распределённое кэширование со StackExchange.Redis, output caching, middleware кэширования ответов. Понимает предотвращение cache stampede, паттерны write-through vs write-behind и прогрев кэша.

Структуры данных

Самостоятельно выбирает подходящие структуры данных в C#: Dictionary vs SortedDictionary для различных паттернов доступа, List vs LinkedList для операций с коллекциями, ConcurrentBag для потокобезопасных сценариев. Понимает компромиссы между value types и reference types для выделения памяти.

Типобезопасность и системы типов

Самостоятельно применяет возможности системы типов C# — анализ nullable reference types, вариантность дженериков в интерфейсах и source generators для типобезопасного бойлерплейта. Понимает компромиссы между record types и классами для доменного моделирования. Применяет типобезопасные паттерны с System.Text.Json и strongly-typed options при ревью кода.

Транзакции и конкурентность

Самостоятельно проектирует схемы и оптимизирует запросы с Транзакции и конкурентность. Понимает индексирование и планы выполнения запросов. Использует Entity Framework Core эффективно.

Шардирование БД

Работает с шардированными БД в .NET: использует Elastic Database Client Library для Azure SQL sharding, реализует tenant-based routing через IDbContextFactory, настраивает EF Core с dynamic connection strings. Применяет Unit of Work pattern для shard-aware transactions.