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

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

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

Junior

0-2 years

Текущий

Ответственность: Completing tasks under the guidance of senior colleagues. Learning the codebase, standards, and team processes. Writing code to spec, fixing simple bugs, writing tests.

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

Code Review Нужно
Git Advanced Нужно
MVVM Pattern Нужно
Unit Testing Нужно
WPF / WinUI: .NET Desktop Нужно
Code Quality & Refactoring Нужно
Multithreading Нужно
Memory Management Нужно

Middle

2-5 years

Следующий

Ответственность: Independently developing features from decomposition to deployment. Participating in code review. Optimizing performance. Mentoring junior developers. Taking part in architecture discussions.

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

Code Review Нужно
Git Advanced Нужно
MVVM Pattern Нужно
Unit Testing Нужно
WPF / WinUI: .NET Desktop Нужно
Code Quality & Refactoring Нужно
Multithreading Нужно
Memory Management Нужно

Senior

5-8 years

Ответственность: Designing the architecture of components and services. Solving complex technical problems. Managing technical debt. Code review as a quality gatekeeper. Mentoring middle developers. Choosing technologies for new tasks.

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

ASP.NET Core Нужно
Auto-Update Mechanisms Нужно
Avalonia UI Нужно
ChatGPT / Claude Нужно
Code Review Нужно
CPU Profiling Нужно
Desktop App Packaging: MSI, DMG, AppImage Нужно
E2E Testing Нужно
Git Advanced Нужно
GitHub Actions / GitLab CI Нужно
GitHub Copilot Нужно
IPC: Inter-Process Communication Нужно
Latency Optimization Нужно
Memory Profiling Нужно
MVVM Pattern Нужно
Offline-First & Local Storage Нужно
OWASP & Application Security Нужно
Plugin Architecture Нужно
PostgreSQL Нужно
REST API Design Нужно
Unit Testing Нужно
WPF / WinUI: .NET Desktop Нужно
Algorithms & Complexity Нужно
Async Programming Нужно
Generics & Parametric Polymorphism Нужно
Database Indexing Нужно
Integration Testing Нужно
Code Quality & Refactoring Нужно
Component Testing Нужно
Multithreading Нужно
Design Patterns Нужно
Secure Coding Practices Нужно
OOP & SOLID Principles Нужно
Memory Profiling Нужно
Structured Logging Нужно
Data Structures Нужно
Type Safety & Type Systems Нужно
Memory Management Нужно

Lead / Staff

7-12 years

Ответственность: Technical leadership of a team or area. Designing system architecture. Coordinating with other teams. Establishing standards and best practices. Participating in hiring. Planning the technical roadmap.

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

ASP.NET Core Нужно
Auto-Update Mechanisms Нужно
Avalonia UI Нужно
ChatGPT / Claude Нужно
Code Review Нужно
CPU Profiling Нужно
Desktop App Packaging: MSI, DMG, AppImage Нужно
E2E Testing Нужно
Git Advanced Нужно
GitHub Actions / GitLab CI Нужно
GitHub Copilot Нужно
IPC: Inter-Process Communication Нужно
Latency Optimization Нужно
Memory Profiling Нужно
MVVM Pattern Нужно
Offline-First & Local Storage Нужно
OWASP & Application Security Нужно
Plugin Architecture Нужно
PostgreSQL Нужно
REST API Design Нужно
Unit Testing Нужно
WPF / WinUI: .NET Desktop Нужно
Algorithms & Complexity Нужно
Async Programming Нужно
Generics & Parametric Polymorphism Нужно
Database Indexing Нужно
Integration Testing Нужно
Code Quality & Refactoring Нужно
Component Testing Нужно
Multithreading Нужно
Design Patterns Нужно
Secure Coding Practices Нужно
OOP & SOLID Principles Нужно
Memory Profiling Нужно
Structured Logging Нужно
Data Structures Нужно
Type Safety & Type Systems Нужно
Memory Management Нужно

Principal

10+ years

Ответственность: Technical strategy at the company or domain level. Cross-organizational influence. Solving systemic business problems through technology. Mentoring lead engineers. Publicly representing the company.

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

ASP.NET Core Нужно
Auto-Update Mechanisms Нужно
Avalonia UI Нужно
ChatGPT / Claude Нужно
Code Review Нужно
CPU Profiling Нужно
Desktop App Packaging: MSI, DMG, AppImage Нужно
E2E Testing Нужно
Git Advanced Нужно
GitHub Actions / GitLab CI Нужно
GitHub Copilot Нужно
IPC: Inter-Process Communication Нужно
Latency Optimization Нужно
Memory Profiling Нужно
MVVM Pattern Нужно
Offline-First & Local Storage Нужно
OWASP & Application Security Нужно
Plugin Architecture Нужно
PostgreSQL Нужно
REST API Design Нужно
Unit Testing Нужно
WPF / WinUI: .NET Desktop Нужно
Algorithms & Complexity Нужно
Async Programming Нужно
Generics & Parametric Polymorphism Нужно
Database Indexing Нужно
Integration Testing Нужно
Code Quality & Refactoring Нужно
Component Testing Нужно
Multithreading Нужно
Design Patterns Нужно
Secure Coding Practices Нужно
OOP & SOLID Principles Нужно
Memory Profiling Нужно
Structured Logging Нужно
Data Structures Нужно
Type Safety & Type Systems Нужно
Memory Management Нужно

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

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

Code Review

Conducts code review for C#/.NET desktop code. Checks async/await correctness, MVVM adherence, memory management. Provides constructive feedback. Reviews XAML.

Git Advanced

Applies Git rebase, cherry-pick, bisect. Configures Git hooks with dotnet-format pre-commit. Works with Git submodules for shared libraries. Resolves merge conflicts in .csproj and XAML.

MVVM Pattern

Applies MVVM with ObservableValidator for validation. Uses IMessenger (WeakReferenceMessenger) for inter-ViewModel communication. Organizes navigation through INavigationService. Implements async commands.

Unit Testing

Structures tests by modules. Uses Moq/NSubstitute for dependency mocking. Introduces code coverage through coverlet. Applies FluentAssertions for readable assertions.

WPF / WinUI: .NET Desktop

Independently develops WPF/WinUI applications with MVVM through CommunityToolkit.Mvvm. Creates custom UserControl and ControlTemplate. Works with DataTemplate, IValueConverter. Uses Navigation through Frame.

Code Quality & Refactoring

Configures StyleCop, SonarAnalyzer for static analysis. Uses Roslyn analyzers and code fixes. Applies code metrics (cyclomatic complexity, coupling). Writes self-documenting code with XML comments.

Multithreading

Implements concurrent operations through Task Parallel Library (TPL). Uses CancellationToken for operation cancellation. Applies SemaphoreSlim, lock, ReaderWriterLockSlim for synchronization. Works with Channels.

Memory Management

Manages memory through Span<T>, Memory<T>, ArrayPool<T>. Analyzes GC pressure through dotnet-counters. Optimizes struct vs class selection for hot paths. Uses WeakReference for cache patterns.