Work with local and remote data stores using SQL, Entity Framework, or other data-access approaches used by the team.
Quality
Write and run unit, integration, and UI automation tests (for example xUnit or NUnit, Moq, FlaUI or WinAppDriver).
Diagnose crashes, memory leaks, and performance problems using the Visual Studio debugger, profilers, and dump analysis.
Work with QA to reproduce, triage, and fix defects, including ones that appear only in specific customer environments.
Use root cause analysis to fix the underlying cause of problems and to improve team processes.
Delivery
Contribute to CI/CD pipelines in Azure DevOps that build, test, sign, and package desktop releases.
Support installer and deployment work (for example MSIX, WiX, or ClickOnce) and the auto-update mechanisms used by the team.
Take part in agile ceremonies: stand-ups, backlog refinement, planning, and retrospectives.
Collaboration
Review code and give constructive feedback, and mentor more junior developers.
Build strong working relationships with developers, product managers, QA, UX designers, and automation engineers.
Identify and raise risks, blockers, and technical debt early.
Keep team documentation for assigned features up to date.
Contribute to continuous improvement initiatives within the team.
Required Qualifications
Bachelor's degree in Computer Science or a related field, or equivalent practical experience.
2–5 years of professional software development experience, or equivalent ability.
Strong proficiency in C# and .NET (.NET 6+ and/or .NET Framework 4.x).
Hands-on experience building Windows desktop applications with WPF, WinForms, or WinUI.
Solid understanding of MVVM, dependency injection, SOLID principles, and common design patterns.
Working knowledge of asynchronous programming, threading, and UI responsiveness in desktop applications.
Experience consuming RESTful services and working with SQL, JSON, and XML.
Proficiency with Visual Studio, Git, and CI/CD tools (Azure DevOps preferred).
Experience writing automated tests and debugging production issues.
Strong written and verbal communication, teamwork, and problem-solving skills.
Ability to manage day-to-day development tasks on their own with moderate supervision.
Commitment to continuous learning and a growth mindset.
Preferred Qualifications
Experience migrating applications from .NET Framework to modern .NET.
Familiarity with Windows platform APIs, P/Invoke, or COM interop.
Experience with desktop installers, code signing, and update or distribution mechanisms.
Experience with performance profiling and memory analysis tools (for example dotTrace, dotMemory, PerfView).
Exposure to cloud services (AWS or Azure) that support desktop clients.
Experience with graphics, drawing, or document-heavy desktop applications.