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

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

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

Junior

0-2 года

Текущий

Ответственность: Выполнение задач под руководством старших коллег. Изучение кодовой базы, стандартов и процессов команды. Написание кода по спецификациям, исправление простых багов, написание тестов.

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

Code Review Нужно
Git Advanced Нужно
MVVM Pattern Нужно
Unit-тестирование Нужно
WPF / WinUI Нужно
Качество кода и рефакторинг Нужно
Многопоточное программирование Нужно
Управление памятью Нужно

Middle

2-5 лет

Следующий

Ответственность: Самостоятельная разработка фич от декомпозиции до деплоя. Участие в code review. Оптимизация производительности. Менторинг junior-разработчиков. Участие в архитектурных обсуждениях.

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

Code Review Нужно
Git Advanced Нужно
MVVM Pattern Нужно
Unit-тестирование Нужно
WPF / WinUI Нужно
Качество кода и рефакторинг Нужно
Многопоточное программирование Нужно
Управление памятью Нужно
Переход: ~2-3 года
  • Самостоятельно реализовал 3+ проекта
  • Провёл успешные код-ревью
  • Участвовал в разрешении production инцидентов

Senior

5-8 лет

Ответственность: Проектирование архитектуры компонентов и сервисов. Решение сложных технических проблем. Ведение технического долга. Code review как gatekeeper качества. Менторинг middle-разработчиков. Выбор технологий для новых задач.

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

ASP.NET Core Нужно
Auto-Update Mechanisms Нужно
Avalonia UI Нужно
ChatGPT / Claude Нужно
Code Review Нужно
CPU Profiling Нужно
Desktop App Packaging Нужно
E2E тестирование Нужно
Git Advanced Нужно
GitHub Actions / GitLab CI Нужно
GitHub Copilot Нужно
IPC: Inter-Process Communication Нужно
Latency Optimization Нужно
Memory Profiling Нужно
MVVM Pattern Нужно
Offline-First и Local Storage Нужно
OWASP и безопасность приложений Нужно
Plugin Architecture Нужно
PostgreSQL Нужно
REST API Design Нужно
Unit-тестирование Нужно
WPF / WinUI Нужно
Алгоритмы и сложность Нужно
Асинхронное программирование Нужно
Дженерики и параметрический полиморфизм Нужно
Индексирование БД Нужно
Интеграционное тестирование Нужно
Качество кода и рефакторинг Нужно
Компонентное тестирование Нужно
Многопоточное программирование Нужно
Паттерны проектирования Нужно
Практики безопасного кода Нужно
Принципы ООП и SOLID Нужно
Профилирование памяти Нужно
Структурированное логирование Нужно
Структуры данных Нужно
Типобезопасность и системы типов Нужно
Управление памятью Нужно
Переход: ~2-3 года
  • Самостоятельно реализовал 3+ проекта
  • Провёл успешные код-ревью
  • Участвовал в разрешении production инцидентов

Lead / Staff

7-12 лет

Ответственность: Техническое лидерство команды или направления. Проектирование системной архитектуры. Координация с другими командами. Формирование стандартов и best practices. Участие в найме. Планирование технического roadmap.

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

ASP.NET Core Нужно
Auto-Update Mechanisms Нужно
Avalonia UI Нужно
ChatGPT / Claude Нужно
Code Review Нужно
CPU Profiling Нужно
Desktop App Packaging Нужно
E2E тестирование Нужно
Git Advanced Нужно
GitHub Actions / GitLab CI Нужно
GitHub Copilot Нужно
IPC: Inter-Process Communication Нужно
Latency Optimization Нужно
Memory Profiling Нужно
MVVM Pattern Нужно
Offline-First и Local Storage Нужно
OWASP и безопасность приложений Нужно
Plugin Architecture Нужно
PostgreSQL Нужно
REST API Design Нужно
Unit-тестирование Нужно
WPF / WinUI Нужно
Алгоритмы и сложность Нужно
Асинхронное программирование Нужно
Дженерики и параметрический полиморфизм Нужно
Индексирование БД Нужно
Интеграционное тестирование Нужно
Качество кода и рефакторинг Нужно
Компонентное тестирование Нужно
Многопоточное программирование Нужно
Паттерны проектирования Нужно
Практики безопасного кода Нужно
Принципы ООП и SOLID Нужно
Профилирование памяти Нужно
Структурированное логирование Нужно
Структуры данных Нужно
Типобезопасность и системы типов Нужно
Управление памятью Нужно
Переход: ~2-3 года
  • Самостоятельно реализовал 3+ проекта
  • Провёл успешные код-ревью
  • Участвовал в разрешении production инцидентов

Principal

10+ лет

Ответственность: Техническая стратегия на уровне компании или домена. Кросс-организационное влияние. Решение системных проблем бизнеса через технологии. Менторинг lead-инженеров. Публичное представление компании.

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

ASP.NET Core Нужно
Auto-Update Mechanisms Нужно
Avalonia UI Нужно
ChatGPT / Claude Нужно
Code Review Нужно
CPU Profiling Нужно
Desktop App Packaging Нужно
E2E тестирование Нужно
Git Advanced Нужно
GitHub Actions / GitLab CI Нужно
GitHub Copilot Нужно
IPC: Inter-Process Communication Нужно
Latency Optimization Нужно
Memory Profiling Нужно
MVVM Pattern Нужно
Offline-First и Local Storage Нужно
OWASP и безопасность приложений Нужно
Plugin Architecture Нужно
PostgreSQL Нужно
REST API Design Нужно
Unit-тестирование Нужно
WPF / WinUI Нужно
Алгоритмы и сложность Нужно
Асинхронное программирование Нужно
Дженерики и параметрический полиморфизм Нужно
Индексирование БД Нужно
Интеграционное тестирование Нужно
Качество кода и рефакторинг Нужно
Компонентное тестирование Нужно
Многопоточное программирование Нужно
Паттерны проектирования Нужно
Практики безопасного кода Нужно
Принципы ООП и SOLID Нужно
Профилирование памяти Нужно
Структурированное логирование Нужно
Структуры данных Нужно
Типобезопасность и системы типов Нужно
Управление памятью Нужно
Переход: ~2-3 года
  • Самостоятельно реализовал 3+ проекта
  • Провёл успешные код-ревью
  • Участвовал в разрешении production инцидентов

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

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

Code Review

Проводит code review для C#/.NET desktop кода. Проверяет async/await correctness, MVVM adherence, memory management. Даёт конструктивную обратную связь. Ревьюит XAML.

Git Advanced

Применяет Git rebase, cherry-pick, bisect. Настраивает Git hooks с dotnet-format pre-commit. Работает с Git submodules для shared libraries. Решает merge conflicts в .csproj и XAML.

MVVM Pattern

Применяет MVVM с ObservableValidator для validation. Использует IMessenger (WeakReferenceMessenger) для inter-ViewModel communication. Организует навигацию через INavigationService. Реализует async commands.

Unit-тестирование

Структурирует тесты по модулям. Использует Moq/NSubstitute для мокирования зависимостей. Внедряет code coverage через coverlet. Применяет FluentAssertions для readable assertions.

WPF / WinUI

Самостоятельно разрабатывает 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.