Выберите текущую позицию
Укажите роль и уровень — система покажет путь развития, навыки и gap-анализ.
Путь развития
Junior
0-2 года
Ответственность: Выполнение задач под руководством старших коллег. Изучение кодовой базы, стандартов и процессов команды. Написание кода по спецификациям, исправление простых багов, написание тестов.
Ключевые навыки:
Middle
2-5 лет
Ответственность: Самостоятельная разработка фич от декомпозиции до деплоя. Участие в code review. Оптимизация производительности. Менторинг junior-разработчиков. Участие в архитектурных обсуждениях.
Ключевые навыки:
- Самостоятельно реализовал 3+ проекта
- Провёл успешные код-ревью
- Участвовал в разрешении production инцидентов
Senior
5-8 лет
Ответственность: Проектирование архитектуры компонентов и сервисов. Решение сложных технических проблем. Ведение технического долга. Code review как gatekeeper качества. Менторинг middle-разработчиков. Выбор технологий для новых задач.
Ключевые навыки:
- Самостоятельно реализовал 3+ проекта
- Провёл успешные код-ревью
- Участвовал в разрешении production инцидентов
Lead / Staff
7-12 лет
Ответственность: Техническое лидерство команды или направления. Проектирование системной архитектуры. Координация с другими командами. Формирование стандартов и best practices. Участие в найме. Планирование технического roadmap.
Ключевые навыки:
- Самостоятельно реализовал 3+ проекта
- Провёл успешные код-ревью
- Участвовал в разрешении production инцидентов
Principal
10+ лет
Ответственность: Техническая стратегия на уровне компании или домена. Кросс-организационное влияние. Решение системных проблем бизнеса через технологии. Менторинг lead-инженеров. Публичное представление компании.
Ключевые навыки:
- Самостоятельно реализовал 3+ проекта
- Провёл успешные код-ревью
- Участвовал в разрешении production инцидентов
Gap-анализ: навыки для развития
Для перехода на следующий уровень необходимо развить:
Проводит code review для C#/.NET desktop кода. Проверяет async/await correctness, MVVM adherence, memory management. Даёт конструктивную обратную связь. Ревьюит XAML.
Применяет Git rebase, cherry-pick, bisect. Настраивает Git hooks с dotnet-format pre-commit. Работает с Git submodules для shared libraries. Решает merge conflicts в .csproj и XAML.
Применяет MVVM с ObservableValidator для validation. Использует IMessenger (WeakReferenceMessenger) для inter-ViewModel communication. Организует навигацию через INavigationService. Реализует async commands.
Структурирует тесты по модулям. Использует Moq/NSubstitute для мокирования зависимостей. Внедряет code coverage через coverlet. Применяет FluentAssertions для readable assertions.
Самостоятельно разрабатывает WPF/WinUI приложения с MVVM через CommunityToolkit.Mvvm. Создаёт кастомные UserControl и ControlTemplate. Работает с DataTemplate, IValueConverter. Использует Navigation через Frame.
Настраивает StyleCop, SonarAnalyzer для статического анализа. Использует Roslyn analyzers и code fixes. Применяет code metrics (cyclomatic complexity, coupling). Пишет самодокументируемый код с XML-comments.
Реализует concurrent операции через Task Parallel Library (TPL). Использует CancellationToken для отмены операций. Применяет SemaphoreSlim, lock, ReaderWriterLockSlim для синхронизации. Работает с Channels.
Управляет памятью через Span<T>, Memory<T>, ArrayPool<T>. Анализирует GC pressure через dotnet-counters. Оптимизирует struct vs class выбор для hot path. Использует WeakReference для cache patterns.