Roles · Desktop Developer (.NET WPF/WinUI/MAUI) · Senior

What a Senior } should know

38 core skills, 53 in total. Expectations per skill, and what changes at the next level.

This page lists what a Senior } is expected to know and do, skill by skill. Core skills are the ones a manager and peers assess in a review cycle; the rest count only in self-assessment. Main areas: Programming Fundamentals, Backend Development, Frontend Development.

38core skills
15additional skills
13skill areas
100%at Advanced or Expert
Assess myself as Senior Full role matrix

Core skills for a Senior

Grouped by area. The label on the right is the expected depth: Awareness, Working, Advanced or Expert.

Programming Fundamentals · 11

Designs algorithms for real-time processing in .NET desktop. Uses System.Numerics.Vector<T> for SIMD. Implements spatial indexes for WPF Canvas with thousands of objects.

Designs async architecture for .NET desktop with backpressure through BoundedChannel. Implements structured concurrency. Optimizes async state machine through PoolingAsyncValueTaskMethodBuilder. Mentors on async best practices.

Defines quality gates for .NET projects. Configures SonarQube/SonarCloud. Creates custom Roslyn analyzers for project-specific rules. Mentors on C# best practices and code quality.

Data Structures Advanced

Designs data layer with ConcurrentDictionary, Channel<T> for producer/consumer. Uses System.Collections.Frozen for read-heavy scenarios. Implements custom data structures with ref struct for zero-allocation.

Design Patterns Advanced

Designs architecture with State (Stateless library), Event Sourcing, CQRS. Implements Pipeline through MediatR behaviours. Applies Specification pattern for complex queries. Creates domain-driven design.

Designs generic frameworks with Source Generators. Uses static abstract members in interfaces (C# 11+). Implements generic math through INumber<T>. Applies generic host for modular architecture.

Designs memory-efficient .NET desktop architecture. Uses NativeMemory for unmanaged allocations. Configures GC modes (Server vs Workstation). Implements object pooling through ObjectPool<T>.

Memory Profiling Advanced

Designs memory profiling pipeline for .NET desktop. Uses ClrMD for programmatic heap analysis. Configures EventCounters for custom memory metrics. Automates memory regression testing.

Multithreading Advanced

Designs concurrent architecture with Dataflow (TPL Dataflow), producer/consumer through Channel<T>. Optimizes lock contention through Interlocked and lock-free structures. Uses ValueTask for hot paths.

Applies SOLID in enterprise .NET desktop. Designs with ISP (Interface Segregation), uses Source Generators for metaprogramming. Applies composition over inheritance in WPF/WinUI. Mentors on OOP.

Designs type-safe API with Source Generators for compile-time validation. Creates strongly-typed wrappers for primitive obsession. Uses ref struct and Span<T> for type-safe memory access. Introduces exhaustive matching.

Backend Development · 1

ASP.NET Core Advanced

Designs hybrid desktop+web architecture through WebView2 + ASP.NET backend. Uses Blazor Hybrid for sharing UI between web and desktop. Optimizes .NET runtime for desktop scenarios.

Frontend Development · 1

Designs component testing strategy for .NET desktop. Creates test harness for isolated component rendering. Implements property-based testing through FsCheck. Automates visual regression in CI.

Database Management · 2

Designs indexing strategy for desktop applications with embedded PostgreSQL. Optimizes index maintenance for offline-first. Uses BRIN for temporal data. Analyzes index bloat and vacuum.

PostgreSQL Advanced

Designs data layer with EF Core for desktop. Optimizes PostgreSQL queries through explain analyze. Uses Npgsql NodaTime, NetTopologySuite. Implements connection pooling through NpgsqlDataSource.

API & Integration · 1

REST API Design Advanced

Designs API layer for .NET desktop with offline-first, pagination, rate limiting. Implements SignalR client for real-time updates. Optimizes network usage through request batching and caching with ETag.

DevOps & CI/CD · 1

Designs CI/CD for .NET desktop with code signing, auto-update, release management. Configures self-hosted runners for WPF UI testing. Optimizes pipeline.

Testing & QA · 3

E2E Testing Advanced

Designs E2E framework for .NET desktop. Implements cross-platform E2E through Avalonia UI testing. Optimizes E2E suite stability. Integrates accessibility testing through UIA.

Designs integration test suite for .NET desktop. Implements contract testing through Pact.NET. Configures CI with parallel integration tests. Tests cross-process scenarios.

Unit Testing Advanced

Designs test architecture for .NET desktop. Introduces mutation testing through Stryker.NET. Creates test builders and fixtures for the team. Optimizes test execution through parallelism.

Security · 2

Designs security architecture for .NET desktop. Implements secure update with Authenticode verification. Introduces AppContainer sandboxing. Conducts threat modeling.

Designs secure-by-default API for .NET components. Implements privilege separation through process isolation. Applies Code Access Security patterns. Conducts secure code review.

AI-Assisted Development · 2

ChatGPT / Claude Advanced

Integrates LLM into .NET desktop processes. Creates RAG for internal .NET documentation. Evaluates AI-generated C# quality for production.

GitHub Copilot Advanced

Integrates AI into .NET desktop workflow. Uses Copilot for architecture exploration and refactoring. Creates custom prompts for .NET patterns. Evaluates AI code security.

Observability & Monitoring · 1

Designs observability for .NET desktop: logging, metrics, crash analytics. Configures OpenTelemetry for desktop traces. Implements remote log collection. Analyzes production incidents.

Version Control & Collaboration · 2

Code Review Advanced

Conducts architectural reviews for .NET desktop. Focuses on design decisions, performance, security. Mentors through code review.

Git Advanced Advanced

Designs Git workflow for .NET projects. Configures Git LFS for binary assets. Optimizes CI through sparse checkout. Implements release branching with GitVersion.

Desktop Development · 8

Designs auto-update architecture with rollback and staged rollout for MSIX. Implements silent update for enterprise. Monitors update success rate and crash rate after updates. Optimizes package sizes.

Avalonia UI Advanced

Designs Avalonia architecture for enterprise applications. Optimizes rendering through Direct2D/Skia. Creates custom render controls. Ensures feature parity between platforms.

Designs packaging pipeline with trimming (PublishTrimmed), AOT (NativeAOT), and single-file deployment. Optimizes startup through ReadyToRun. Configures MSIX for Microsoft Store and sideloading.

Designs IPC architecture with .NET Remoting alternatives (gRPC, protobuf). Implements pub/sub through Message Queue. Optimizes IPC latency through Span<T> and zero-copy. Works with COM interop for legacy integration.

MVVM Pattern Advanced

Designs scalable MVVM architecture for enterprise WPF/WinUI. Uses Source Generators for boilerplate reduction. Implements DI through Microsoft.Extensions.DependencyInjection. Applies Mediator pattern.

Designs CRDT-based sync for collaborative editing in .NET. Uses Microsoft.Datasync.Client for offline sync. Optimizes EF Core queries for large local databases. Implements incremental sync with compression.

Designs extensible plugin architecture with hot-reload through AssemblyLoadContext.Unload. Implements plugin marketplace with NuGet-based distribution. Ensures binary compatibility between versions.

Designs WPF/WinUI 3 application architecture. Creates custom panels and adorners. Optimizes visual tree through virtualization (VirtualizingStackPanel). Migrates from WPF to WinUI 3/MAUI.

Performance Engineering · 3

CPU Profiling Advanced

Designs profiling pipeline for .NET desktop. Uses EventPipe for production profiling. Analyzes .NET runtime internals (GC, JIT, ThreadPool). Optimizes through NativeAOT and PGO.

Designs low-latency .NET desktop with NativeAOT for instant startup. Optimizes rendering through CompositionTarget.Rendering. Implements predictive data loading. Uses custom layout for complex UI.

Memory Profiling Advanced

Designs memory-efficient .NET desktop applications. Analyzes fragmentation through ClrMD. Optimizes GC through Server/Workstation modes and regions. Uses NativeMemory for large allocations.

Additional skills

Not assessed by the team, but part of the self-assessment and the development plan.

API DocumentationAWSCursor IDEDockerGraphQL DesignJWT / OAuth2 / OIDCKubernetes CoreNetwork FundamentalsOpenTelemetryPrometheus & GrafanaPrompt Engineering for CodeRedisSLI / SLO / SLASystem Design FundamentalsTerraform

What changes at Lead

53 skills get a higher expectation or become core when moving from Senior to Lead. The biggest jumps first.

See the Lead page →
Run this with your whole team
Self-assessment plus manager and peer reviews against the same matrix, gap analysis and next-level readiness for every engineer. Team Pro is free for 14 days; individual tools stay free forever.
Start a team trial (14 days free) Send to my manager

} in the open competency matrix: 53 skills across 5 levels. The matrix is free for individuals and stays free.