Следует coding standards команды для C#. Использует EditorConfig и .NET analyzers. Применяет nullable reference types. Проходит code review без критических замечаний.
Роли · Desktop Developer (.NET WPF/WinUI/MAUI) · Junior
Что должен уметь Junior }
8 ключевых навыков, всего 53. Ожидания по каждому навыку и что меняется на следующем уровне.
На этой странице — что ожидается от Junior }, навык за навыком. Ключевые навыки оценивают руководитель и коллеги в цикле ревью; остальные учитываются только в самооценке. Основные области: Основы программирования, Тестирование и QA, Контроль версий и коллаборация.
Ключевые навыки для Junior
Сгруппированы по областям. Метка справа — ожидаемая глубина: Осведомлённость, Применение, Продвинутый или Эксперт.
Основы программирования · 3
Понимает многопоточность в .NET: Task, Thread, ThreadPool. Использует Dispatcher.Invoke для UI thread access в WPF. Знает async/await на базовом уровне. Избегает deadlocks при обращении к UI.
Понимает GC в .NET: Gen0/Gen1/Gen2, LOH. Использует using/IDisposable для unmanaged ресурсов. Знает разницу class vs struct. Избегает memory leaks через event unsubscription в WPF.
Тестирование и QA · 1
Пишет unit-тесты через xUnit/NUnit для .NET desktop. Использует Assert, [Fact], [Theory] с InlineData. Тестирует ViewModel-логику отдельно от View. Понимает Arrange-Act-Assert.
Контроль версий и коллаборация · 2
Участвует в code review как ревьюи для C#/.NET кода. Применяет замечания рецензентов. Оставляет комментарии по читаемости и naming conventions.
Использует Git для работы: commit, push, pull, branch. Понимает gitflow для .NET проектов. Работает с .gitignore для исключения bin/obj/packages.
Desktop Development · 2
Понимает MVVM в контексте WPF/WinUI. Использует CommunityToolkit.Mvvm с ObservableObject и RelayCommand. Реализует DataBinding через {Binding} и {x:Bind}. Разделяет View и ViewModel.
Знает основы WPF/WinUI 3 и XAML. Создаёт простые окна с DataBinding и стилями. Работает в Visual Studio с XAML Designer, использует базовые контролы (Button, TextBox, ListView).
Дополнительные навыки
Команда их не оценивает, но они входят в самооценку и план развития.
Что меняется на Middle
53 навыков получают более высокое ожидание или становятся ключевыми при переходе с Junior на Middle. Сначала самые большие скачки.
- Качество кода и рефакторинг: Осведомлённость → Применение
- Многопоточное программирование: Осведомлённость → Применение
- Управление памятью: Осведомлённость → Применение
- Code Review: Осведомлённость → Применение
- Git Advanced: Осведомлённость → Применение
- MVVM Pattern: Осведомлённость → Применение
- Unit-тестирование: Осведомлённость → Применение
- WPF / WinUI: Осведомлённость → Применение
- Алгоритмы и сложность: Осведомлённость → Применение
- Асинхронное программирование: Осведомлённость → Применение
} в открытой матрице компетенций: 53 навыков на 5 уровнях. Матрица бесплатна для специалистов и останется бесплатной.