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

What a Junior } should know

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

This page lists what a Junior } 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, Testing & QA, Version Control & Collaboration.

8core skills
45additional skills
4skill areas
0%at Advanced or Expert
Assess myself as Junior Full role matrix

Core skills for a Junior

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

Programming Fundamentals · 3

Follows team coding standards for C#. Uses EditorConfig and .NET analyzers. Applies nullable reference types. Passes code review without critical comments.

Memory Management Awareness

Understands GC in .NET: Gen0/Gen1/Gen2, LOH. Uses using/IDisposable for unmanaged resources. Knows the difference between class and struct. Avoids memory leaks through event unsubscription in WPF.

Multithreading Awareness

Understands multithreading in .NET: Task, Thread, ThreadPool. Uses Dispatcher.Invoke for UI thread access in WPF. Knows async/await at basic level. Avoids deadlocks when accessing UI.

Testing & QA · 1

Unit Testing Awareness

Writes unit tests through xUnit/NUnit for .NET desktop. Uses Assert, [Fact], [Theory] with InlineData. Tests ViewModel logic separately from View. Understands Arrange-Act-Assert.

Version Control & Collaboration · 2

Code Review Awareness

Participates in code review as a reviewee for C#/.NET code. Applies reviewer feedback. Leaves comments on readability and naming conventions.

Git Advanced Awareness

Uses Git for daily work: commit, push, pull, branch. Understands gitflow for .NET projects. Works with .gitignore to exclude bin/obj/packages.

Desktop Development · 2

MVVM Pattern Awareness

Understands MVVM in WPF/WinUI context. Uses CommunityToolkit.Mvvm with ObservableObject and RelayCommand. Implements DataBinding through {Binding} and {x:Bind}. Separates View and ViewModel.

Knows WPF/WinUI 3 and XAML basics. Creates simple windows with DataBinding and styles. Works in Visual Studio with XAML Designer, uses basic controls (Button, TextBox, ListView).

Additional skills

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

Algorithms & ComplexityAPI DocumentationASP.NET CoreAsync ProgrammingAuto-Update MechanismsAvalonia UIAWSChatGPT / ClaudeComponent TestingCPU ProfilingCursor IDEData StructuresDatabase IndexingDesign PatternsDesktop App Packaging: MSI, DMG, AppImageDockerE2E TestingGenerics & Parametric PolymorphismGitHub Actions / GitLab CIGitHub CopilotGraphQL DesignIntegration TestingIPC: Inter-Process CommunicationJWT / OAuth2 / OIDCKubernetes CoreLatency OptimizationMemory ProfilingMemory ProfilingNetwork FundamentalsOffline-First & Local StorageOOP & SOLID PrinciplesOpenTelemetryOWASP & Application SecurityPlugin ArchitecturePostgreSQLPrometheus & GrafanaPrompt Engineering for CodeRedisREST API DesignSecure Coding PracticesSLI / SLO / SLAStructured LoggingSystem Design FundamentalsTerraformType Safety & Type Systems

What changes at Mid-level

53 skills get a higher expectation or become core when moving from Junior to Mid-level. The biggest jumps first.

See the Mid-level 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.