Роли · Backend Developer (C#/.NET) · Junior

Что должен уметь Junior }

26 ключевых навыков, всего 70. Ожидания по каждому навыку и что меняется на следующем уровне.

На этой странице — что ожидается от Junior }, навык за навыком. Ключевые навыки оценивают руководитель и коллеги в цикле ревью; остальные учитываются только в самооценке. Основные области: Основы программирования, Backend Development, Базы данных.

26ключевых навыков
44дополнительных навыков
4областей
0%на уровне Продвинутый или Эксперт
Оценить себя как Junior Полная матрица роли

Ключевые навыки для Junior

Сгруппированы по областям. Метка справа — ожидаемая глубина: Осведомлённость, Применение, Продвинутый или Эксперт.

Основы программирования · 9

Алгоритмы и сложность Осведомлённость

Понимает базовые алгоритмические концепции в C#: простые LINQ-операции, базовая сортировка и поиск в коллекциях, алгоритмы на основе циклов для обработки данных. Следует руководству команды по выбору алгоритмов и применяет стандартные операции коллекций .NET.

Понимает основы асинхронного программирования в C#: синтаксис async/await, паттерны на основе Task, базовое использование CancellationToken. Следует командным конвенциям сигнатур async-методов и избегает распространённых ошибок как async void и дедлоки.

Понимает синтаксис дженериков C#: объявляет generic-классы, методы и интерфейсы с type-параметрами (List<T>, Dictionary<TKey,TValue>). Применяет базовые constraints (where T : class, where T : struct, where T : new()). Корректно использует встроенные generic-коллекции и избегает boxing, выбирая generic API вместо non-generic.

Понимает базовые принципы качества кода для C#/.NET-разработки. Следует командным стандартам кодирования и рекомендациям анализаторов Roslyn. Пишет простые, чистые методы по конвенциям именования C#. Принимает обратную связь на код-ревью и учится у устоявшихся паттернов проектирования.

Понимает основы многопоточности в C#/.NET: основы Task и async/await, базовое понимание потокобезопасности и ключевого слова lock, ConcurrentDictionary и потокобезопасные коллекции. Следует командным конвенциям async-паттернов в ASP.NET Core.

Паттерны проектирования Осведомлённость

Понимает базовые паттерны проектирования в C#/.NET: Singleton, Factory, паттерн Repository в ASP.NET Core, основы внедрения зависимостей со встроенным DI-контейнером. Следует командным конвенциям использования паттернов в архитектуре .NET-решений.

Принципы ООП и SOLID Осведомлённость

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

Структуры данных Осведомлённость

Понимает базовые типы коллекций .NET: List, Dictionary, HashSet для типичных операций. Следует командным конвенциям для классов моделей данных и структур сущностей. Применяет простые структуры данных для CRUD-операций и обработки запросов/ответов API.

Понимает основы системы типов C# — типы значений vs ссылочные типы, nullable reference types и ограничения дженериков. Следует принятым в команде соглашениям по аннотациям типов, абстракциям на основе интерфейсов и паттернам строго типизированной конфигурации.

Backend Development · 6

Стратегии кэширования Осведомлённость

Использует кэширование в .NET на базовом уровне: IMemoryCache, IDistributedCache с Redis. Следует командным паттернам для реализации cache-aside и настройки TTL. Понимает базовые концепции инвалидации кэша и конвенции именования ключей.

Apache Kafka Осведомлённость

Понимает основы Kafka для .NET-сервисов: настройка клиента Confluent.Kafka, базовые паттерны producer/consumer и концепции topic/partition. Следует командным практикам сериализации сообщений и конфигурации consumer groups в C#-приложениях.

ASP.NET Core Осведомлённость

Использует ASP.NET Core на базовом уровне. Выполняет простые задачи по готовым шаблонам. Понимает базовые концепции и следует принятым в команде практикам.

Elasticsearch / OpenSearch Осведомлённость

Использует Elasticsearch / OpenSearch на базовом уровне. Выполняет простые задачи по готовым шаблонам. Понимает базовые концепции и следует принятым в команде практикам.

RabbitMQ Осведомлённость

Использует RabbitMQ с MassTransit/EasyNetQ в .NET-приложениях на базовом уровне. Публикует и потребляет простые сообщения по установленным паттернам. Понимает типы exchange, очереди и базовые концепции маршрутизации.

Redis Осведомлённость

Использует Redis через StackExchange.Redis/IDistributedCache. Кеширует часто запрашиваемые данные с TTL. Понимает базовые структуры: strings, hashes, sets. Настраивает подключение через appsettings.json.

Базы данных · 7

Индексирование БД Осведомлённость

Создаёт индексы через EF Core Fluent API и миграции. Понимает B-tree и hash индексы. Использует EXPLAIN для проверки. Знает о влиянии индексов на INSERT/UPDATE.

Миграции БД Осведомлённость

Пишет миграции через EF Core: Add-Migration, Update-Database. Создаёт таблицы, колонки, индексы. Понимает идемпотентность миграций. Тестирует на dev-среде перед production.

Оптимизация запросов Осведомлённость

Понимает N+1 проблему в EF Core и решает через Include/ThenInclude. Использует AsNoTracking для read-only запросов. Анализирует сгенерированный SQL через logging.

Проектирует схемы через EF Core: Entity classes, связи Navigation Properties, owned types для value objects. Понимает нормализацию. Использует Fluent API для конфигурации.

Понимает ACID и уровни изоляции. Использует DbContext SaveChanges как unit of work. Обрабатывает concurrency через RowVersion/Timestamp. Знает разницу между optimistic и pessimistic locking.

MySQL / MariaDB Осведомлённость

Пишет SQL-запросы для CRUD через Entity Framework Core / Dapper. Создаёт таблицы, индексы, foreign keys. Понимает нормализацию до 3NF. Использует MySQL Workbench для анализа.

PostgreSQL Осведомлённость

Работает с PostgreSQL через EF Core (Npgsql): маппинг сущностей, LINQ-запросы, raw SQL через FromSqlRaw. Понимает типы PostgreSQL: UUID, JSONB, arrays. Использует pgAdmin.

API и интеграции · 4

Документирование API Осведомлённость

Документирует API через XML-комментарии и Swagger аннотации: summary, remarks, response types. Поддерживает Swagger UI. Описывает параметры и примеры.

Понимает версионирование API. Использует Asp.Versioning: URL segment, query string, header-based. Поддерживает backward compatibility. Знает семантическое версионирование.

GraphQL Design Осведомлённость

Создаёт GraphQL-схемы через Hot Chocolate: типы, queries, mutations. Реализует resolvers. Понимает разницу с REST. Тестирует через Banana Cake Pop.

REST API Design Осведомлённость

Создаёт REST endpoints через ASP.NET Core Minimal API или Controllers: MapGet/MapPost, [HttpGet]/[HttpPost], model binding. Возвращает правильные HTTP-статусы через Results/IActionResult. Валидирует через FluentValidation.

Дополнительные навыки

Команда их не оценивает, но они входят в самооценку и план развития.

Документация как кодИнтеграционное тестированиеОсновы сетейОсновы System DesignПаттерны Message BrokersПрактики безопасного кодаПроектирование WebSocket APIСтруктурированное логированиеУправление памятьюШардирование БДAWSChatGPT / ClaudeClean ArchitectureCode ReviewConnection PoolingCPU ProfilingCQRSCursor IDEDockerE2E тестированиеELK StackEvent-Driven ArchitectureGit AdvancedGitHub Actions / GitLab CIGitHub CopilotgRPC и Protocol BuffersgRPC и Protocol BuffersJWT / OAuth2 / OIDCKubernetes CoreLatency OptimizationMicrosoft AzureOpenTelemetryOWASP и безопасность приложенийPerformance BudgetsPrometheus и GrafanaPrompt Engineering для кодаPython Web FrameworksRate Limiting и ThrottlingSecrets ManagementSLI / SLO / SLATDD и BDDTerraformTestContainersUnit-тестирование

Что меняется на Middle

72 навыков получают более высокое ожидание или становятся ключевыми при переходе с Junior на Middle. Сначала самые большие скачки.

Страница Middle →
Прогоните это со всей командой
Самооценка плюс оценка руководителя и коллег по одной матрице, зоны роста и готовность к следующему уровню для каждого инженера. Team Pro бесплатно 14 дней; личные инструменты бесплатны всегда.
Попробовать с командой (14 дней бесплатно) Отправить тимлиду

} в открытой матрице компетенций: 70 навыков на 5 уровнях. Матрица бесплатна для специалистов и останется бесплатной.