Follows team coding standards for C#. Uses EditorConfig and .NET analyzers. Applies nullable reference types. Passes code review without critical comments.
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.
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
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.
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
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
Participates in code review as a reviewee for C#/.NET code. Applies reviewer feedback. Leaves comments on readability and naming conventions.
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
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.
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.
- Code Quality & Refactoring: Awareness → Working
- Code Review: Awareness → Working
- Git Advanced: Awareness → Working
- Memory Management: Awareness → Working
- Multithreading: Awareness → Working
- MVVM Pattern: Awareness → Working
- Unit Testing: Awareness → Working
- WPF / WinUI: .NET Desktop: Awareness → Working
- Algorithms & Complexity: Awareness → Working
- API Documentation: Awareness → Working
} in the open competency matrix: 53 skills across 5 levels. The matrix is free for individuals and stays free.