AI Coding Assistants 2
▼
Uses ChatGPT/Claude for learning .NET/WPF APIs. Formulates queries with .NET context. Verifies answers for compatibility.
Applies LLM for code review, C# refactoring, EF Core migration generation. Uses Claude for architecture analysis. Creates prompts for .NET tasks.
Integrates LLM into .NET desktop processes. Creates RAG for internal .NET documentation. Evaluates AI-generated C# quality for production.
Defines LLM strategy for .NET team. Establishes AI usage policies. Coordinates AI-assisted development.
Uses Copilot for C#/XAML autocompletion. Applies suggestions for boilerplate: ViewModel, ICommand, DataBinding. Critically evaluates generated code.
Effectively uses Copilot for .NET: xUnit test generation, EF Core queries, MVVM scaffolding. Configures Copilot context. Understands limitations for XAML.
Integrates AI into .NET desktop workflow. Uses Copilot for architecture exploration and refactoring. Creates custom prompts for .NET patterns. Evaluates AI code security.
Defines AI-assisted development strategy for .NET team. Establishes Copilot guidelines. Evaluates ROI.
Algorithms & Data Structures 2
▼
Understands Big-O notation and basic algorithms. Uses LINQ (OrderBy, Where, GroupBy) with complexity understanding. Chooses between List<T>, Dictionary<TK,TV>, HashSet<T> for tasks.
Optimizes LINQ chains for large collections through Span<T> and ArrayPool. Implements traversal algorithms for TreeView models. Profiles bottlenecks through BenchmarkDotNet.
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.
Conducts algorithmic reviews for .NET desktop projects. Defines performance standards. Mentors on algorithm optimization in C#.
Uses .NET collections: List<T>, Dictionary<TK,TV>, Queue<T>, Stack<T>. Works with ObservableCollection<T> for WPF DataBinding. Understands IEnumerable<T> and deferred execution.
Creates custom ObservableCollection with filtering/sorting through CollectionViewSource. Uses ImmutableList<T>/ImmutableDictionary for thread-safe data. Applies ReadOnlyObservableCollection for encapsulation.
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.
Defines data layer standards for .NET desktop. Coordinates collection selection for performance-critical code. Mentors on data structures in .NET.
CI/CD 1
▼
Understands CI/CD for .NET desktop. Configures GitHub Actions with dotnet build/test/publish. Runs basic workflow for a single platform.
Configures matrix build for .NET on Windows/Linux/macOS. Caches NuGet packages. Automates MSIX/WiX packaging and artifact upload. Integrates code analysis.
Designs CI/CD for .NET desktop with code signing, auto-update, release management. Configures self-hosted runners for WPF UI testing. Optimizes pipeline.
Defines CI/CD strategy for .NET desktop team. Coordinates release automation. Introduces quality gates.
Clean Code & Refactoring 1
▼
Follows team coding standards for C#. Uses EditorConfig and .NET analyzers. Applies nullable reference types. Passes code review without critical comments.
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.
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.
Establishes code quality standards for .NET desktop team. Defines metrics, coordinates technical debt. Introduces automated quality gates.
Code Review 1
▼
Participates in code review as a reviewee for C#/.NET code. Applies reviewer feedback. Leaves comments on readability and naming conventions.
Conducts code review for C#/.NET desktop code. Checks async/await correctness, MVVM adherence, memory management. Provides constructive feedback. Reviews XAML.
Conducts architectural reviews for .NET desktop. Focuses on design decisions, performance, security. Mentors through code review.
Defines code review process for .NET desktop team. Establishes review checklist. Coordinates review workflow.
Concurrency & Parallelism 2
▼
Understands async/await in C#. Uses Task.Run to offload work from UI thread. Handles async events in WPF/WinUI. Knows ConfigureAwait(false) for library code.
Applies IAsyncEnumerable for streaming data. Implements async initialization through AsyncLazy. Uses Polly for retry/circuit-breaker in async operations. Handles async exceptions through ExceptionDispatchInfo.
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 async strategy for .NET desktop platform. Establishes async coding standards. Coordinates transition to new async patterns in .NET.
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.
Implements concurrent operations through Task Parallel Library (TPL). Uses CancellationToken for operation cancellation. Applies SemaphoreSlim, lock, ReaderWriterLockSlim for synchronization. Works with Channels.
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.
Defines concurrency model for .NET desktop platform. Establishes async/await standards, coordinates thread safety. Conducts concurrent code reviews.
Cross-Platform Desktop 3
▼
Understands auto-update principles for .NET desktop. Familiar with ClickOnce deployment and Squirrel.Windows. Tests updates on local builds through Visual Studio publish.
Implements auto-update through Velopack or AutoUpdater.NET. Configures delta updates, signature verification through Authenticode. Works with update channels (stable/beta). Integrates update UI into application.
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.
Defines update strategy for .NET desktop. Coordinates update pipeline with CI/CD (GitHub Actions/Azure DevOps). Establishes SLA for update delivery.
Familiar with Avalonia UI as a cross-platform WPF alternative. Understands XAML compatibility, creates simple windows. Builds projects through dotnet CLI for Windows and Linux.
Develops Avalonia applications with ReactiveUI/CommunityToolkit.Mvvm. Uses Avalonia-specific controls and styles. Works with AvaloniaEdit, Avalonia.Controls.DataGrid. Configures cross-platform themes.
Designs Avalonia architecture for enterprise applications. Optimizes rendering through Direct2D/Skia. Creates custom render controls. Ensures feature parity between platforms.
Defines Avalonia vs WPF/WinUI strategy for cross-platform scenarios. Coordinates Avalonia development, establishes component library. Plans migration from WPF to Avalonia.
Knows .NET desktop packaging basics: dotnet publish, self-contained deployment. Creates MSIX packages through Visual Studio. Understands Framework-dependent vs Self-contained deployment.
Configures MSIX packaging with Windows Application Packaging Project. Creates WiX installers for enterprise. Signs packages through signtool. Automates packaging through MSBuild targets.
Designs packaging pipeline with trimming (PublishTrimmed), AOT (NativeAOT), and single-file deployment. Optimizes startup through ReadyToRun. Configures MSIX for Microsoft Store and sideloading.
Defines .NET desktop distribution strategy. Coordinates packaging with CI/CD, establishes signing and notarization standards. Plans enterprise distribution through Intune/SCCM.
Desktop Patterns 3
▼
Understands IPC in .NET: Named Pipes (System.IO.Pipes), Memory-Mapped Files. Implements simple communication through NamedPipeServerStream/NamedPipeClientStream. Uses Process for launching child processes.
Develops IPC through gRPC (Grpc.Net) for structured communication. Uses Memory-Mapped Files for shared data. Implements single-instance through Mutex. Applies SignalR for local real-time communication.
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.
Defines IPC strategy for .NET desktop platform. Establishes protocol standards, coordinates compatibility between .NET and native components through P/Invoke.
Understands MVVM in WPF/WinUI context. Uses CommunityToolkit.Mvvm with ObservableObject and RelayCommand. Implements DataBinding through {Binding} and {x:Bind}. Separates View and ViewModel.
Applies MVVM with ObservableValidator for validation. Uses IMessenger (WeakReferenceMessenger) for inter-ViewModel communication. Organizes navigation through INavigationService. Implements async commands.
Designs scalable MVVM architecture for enterprise WPF/WinUI. Uses Source Generators for boilerplate reduction. Implements DI through Microsoft.Extensions.DependencyInjection. Applies Mediator pattern.
Defines MVVM standards for .NET desktop team. Establishes coding guidelines, conducts architecture review. Mentors on MVVM patterns in WPF/WinUI.
Knows .NET plugin system basics: Assembly.LoadFrom, MEF (Managed Extensibility Framework). Loads plugins from directory. Understands interface-based plugin contracts.
Develops plugin framework through MEF2 or McMaster.NETCore.Plugins. Implements plugin isolation through AssemblyLoadContext. Manages plugin API versioning. Creates plugins with dependency injection through IServiceProvider.
Designs extensible plugin architecture with hot-reload through AssemblyLoadContext.Unload. Implements plugin marketplace with NuGet-based distribution. Ensures binary compatibility between versions.
Defines plugin strategy for .NET desktop platform. Establishes plugin API standards, coordinates ecosystem. Plans plugin security review and certification.
E2E Testing 1
▼
Understands E2E testing for .NET desktop. Uses UIAutomation or FlaUI for automating WPF/WinUI UI. Records simple user scenarios.
Uses FlaUI or Appium WinAppDriver for E2E WPF/WinUI testing. Implements Page Object pattern. Configures screenshot comparison. Automates in CI through GitHub Actions.
Designs E2E framework for .NET desktop. Implements cross-platform E2E through Avalonia UI testing. Optimizes E2E suite stability. Integrates accessibility testing through UIA.
Defines E2E strategy for .NET desktop. Coordinates E2E infrastructure. Balances coverage and maintenance cost. Establishes test automation roadmap.
Frontend Testing 1
▼
Understands component testing for WPF/WinUI. Tests UserControl and Page in isolation. Uses DataContext mocking for independent UI component testing.
Tests WPF/WinUI components through snapshot testing. Uses Verify for approval-based testing. Configures visual regression through screenshot comparison. Tests DataTemplate and ControlTemplate.
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.
Defines component testing strategy for the team. Establishes component quality standards. Coordinates component library testing.
Git & Workflows 1
▼
Uses Git for daily work: commit, push, pull, branch. Understands gitflow for .NET projects. Works with .gitignore to exclude bin/obj/packages.
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.
Designs Git workflow for .NET projects. Configures Git LFS for binary assets. Optimizes CI through sparse checkout. Implements release branching with GitVersion.
Defines Git strategy for .NET desktop team. Establishes branching model and release process. Coordinates merge policies.
Integration Testing 1
▼
Writes integration tests for .NET desktop components. Tests EF Core with in-memory database. Uses WebApplicationFactory for API tests. Understands the difference from unit tests.
Configures test environment with Testcontainers for PostgreSQL/SQL Server. Tests IPC interaction. Uses WireMock.Net for API mocking. Automates setup/teardown through IClassFixture.
Designs integration test suite for .NET desktop. Implements contract testing through Pact.NET. Configures CI with parallel integration tests. Tests cross-process scenarios.
Defines integration testing strategy for .NET desktop. Coordinates test infrastructure. Establishes integration testing standards.
Logging 1
▼
Uses ILogger<T> through Microsoft.Extensions.Logging. Configures log levels (Debug, Info, Warning, Error). Understands structured logging with parameters.
Configures Serilog with structured JSON output and file/seq sinks. Implements log enrichment (assembly version, machine name). Integrates crash reporting through Sentry SDK.
Designs observability for .NET desktop: logging, metrics, crash analytics. Configures OpenTelemetry for desktop traces. Implements remote log collection. Analyzes production incidents.
Defines logging strategy for .NET desktop. Establishes logging standards with GDPR compliance. Coordinates observability infrastructure.
Memory Management 1
▼
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.
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.
Designs memory-efficient .NET desktop architecture. Uses NativeMemory for unmanaged allocations. Configures GC modes (Server vs Workstation). Implements object pooling through ObjectPool<T>.
Defines memory management strategy for .NET desktop. Establishes memory budgets. Coordinates GC tuning and optimization sprints.
Native Desktop Development 1
▼
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).
Independently develops WPF/WinUI applications with MVVM through CommunityToolkit.Mvvm. Creates custom UserControl and ControlTemplate. Works with DataTemplate, IValueConverter. Uses Navigation through Frame.
Designs WPF/WinUI 3 application architecture. Creates custom panels and adorners. Optimizes visual tree through virtualization (VirtualizingStackPanel). Migrates from WPF to WinUI 3/MAUI.
Defines .NET desktop technical strategy (WPF vs WinUI 3 vs MAUI). Establishes UI standards and component library. Conducts architecture review, plans migration to new .NET versions.
Optimization 1
▼
Measures UI operation latency via Stopwatch. Understands 16ms budget for 60fps. Avoids blocking calls on UI thread. Uses VS Performance Profiler.
Optimizes startup through lazy loading, ReadyToRun, trimming. Reduces UI render latency through VirtualizingStackPanel. Uses async rendering for heavy UI. Profiles with PerfView.
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.
Defines latency SLA for .NET desktop. Coordinates latency optimization. Introduces automated latency monitoring in CI.
Relational Databases 1
▼
Uses PostgreSQL through EF Core with Npgsql provider. Performs CRUD through DbContext. Configures connection string and DbContextOptions.
Uses EF Core migrations for schema management. Optimizes queries through Include, AsSplitQuery. Implements raw SQL through FromSqlInterpolated. Works with Npgsql bulk operations.
Designs data layer with EF Core for desktop. Optimizes PostgreSQL queries through explain analyze. Uses Npgsql NodaTime, NetTopologySuite. Implements connection pooling through NpgsqlDataSource.
Defines database strategy for .NET desktop. Coordinates schema design. Establishes EF Core best practices.
Unit Testing 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.
Structures tests by modules. Uses Moq/NSubstitute for dependency mocking. Introduces code coverage through coverlet. Applies FluentAssertions for readable assertions.
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.
Defines testing strategy for .NET desktop team. Establishes coverage targets and quality gates. Coordinates test infrastructure.