08 Sep
|
QAAgility Technologies
|
Bengaluru
08 Sep
QAAgility Technologies
Bengaluru
Job Title - Senior Software Developer – WPF / MVVM / .NET Legacy Modernization (Hybrid / Bangalore)
Job Type - Hybrid
Location - Bangalore
Experience - 8+ Years
Position Overview
We are looking for Senior Software Developers with solid hands-on experience in C#, .NET, WPF, XAML, and MVVM to support the modernization of a business-critical legacy desktop application.
The selected developers will progressively refactor tightly coupled legacy components into a modular, maintainable, testable architecture, while ensuring existing business functionality remains stable and new feature development can continue in parallel.
The ideal candidate will have proven experience modernizing legacy WPF applications, applying MVVM and dependency injection, introducing service-layer abstractions, and improving code quality through automated testing and static-analysis tools.
Key Responsibilities
- Modernize legacy WPF applications, screens, and modules using clean MVVM architecture.
- Separate Views, ViewModels, business logic, and infrastructure concerns.
- Design and implement service-layer abstractions to improve modularity and testability.
- Apply Dependency Injection (DI) and Inversion of Control (IoC) using appropriate .NET containers, including Microsoft.Extensions.DependencyInjection.
- Refactor tightly coupled legacy code while preserving existing business behavior.
- Enable coexistence between legacy and modernized components during incremental migration.
- Develop and maintain automated unit tests using xUnit or NUnit.
- Use Moq or equivalent mocking frameworks to isolate dependencies and improve testability.
- Participate in code reviews, technical design discussions, and delivery planning.
- Follow established architecture, UML diagrams, coding standards, folder structures, and governance guidelines.
- Use SonarQube,
Visual Studio Code Metrics, and static-analysis tools to identify technical debt and improve maintainability.
- Deliver production-quality code with minimal supervision.
Required Technical Skills
- 8+ years of professional software development experience.
- Robust hands-on experience with:
- C#
- .NET / .NET Framework
- WPF
- XAML
- MVVM
- Strong understanding of WPF concepts including:
- Data binding
- Commands
- Resources
- Styles/templates
- ViewModel design
- UI lifecycle
- Experience with MVVM frameworks such as:
- CommunityToolkit.Mvvm
- Prism
- or equivalent frameworks
- Strong knowledge of:
- Dependency Injection
- Inversion of Control
- Interface-driven design
- Service abstractions
- SOLID principles
- Proven experience refactoring and modernizing complex legacy applications.
- Strong unit-testing experience with xUnit/NUnit and Moq or equivalent.
- Hands-on experience with SonarQube or equivalent static-analysis and quality-management tools.
- Experience using Visual Studio code analysis/metrics and addressing technical debt.
- Ability to understand and implement UML, architectural documentation, coding standards, and established development conventions.
- Strong troubleshooting, analytical, and communication skills.
- Ability to work independently and contribute with minimal technical ramp-up.
Preferred Experience
- Experience modernizing large-scale or business-critical WPF applications.
- Experience performing incremental migration from legacy architecture to MVVM.
- Experience supporting modernization while simultaneously delivering new business features.
- Experience developing strategies for legacy/modern module coexistence.
- Experience improving maintainability, cyclomatic complexity, coupling, and technical debt.
- Experience working in environments with formal architecture governance and quality gates.
📌 Senior Software Developer – WPF / MVVM / .NET Legacy Modernization (Hybrid) (Bangalore)
🏢 QAAgility Technologies
📍 Bengaluru