Senior Software Engineer-WPF / MVVM / .NET | Legacy Application Modernization
NeST Digital · Bangalore
Collected role description
Role overview
Senior Software Engineer-WPF / MVVM / .NET | Legacy Application Modernization at NeST Digital
Refactor legacy WPF modules and screens into a clean MVVM architecture with clear separation of concerns.
Senior Software Developer WPF / MVVM / .NET | Legacy Application Modernization Desired Experience 8+ Position Purpose We are seeking three Senior Software Developers to modernize a business-critical WPF application with significant technical debt.
Responsibilities
- Design and implement service-layer abstractions that decouple ViewModels from business logic and infrastructure dependencies.
- Apply dependency injection and inversion-of-control practices using suitable .NET containers, including Microsoft.Extensions.DependencyInjection where appropriate.
- Create and maintain automated unit tests using frameworks such as xUnit or NUnit, with mocking through Moq or equivalent tools.
- Preserve existing business behavior during incremental migration and support coexistence between legacy and modernized modules.
- Follow established code guidance, project folder structures, UML designs, and internal architectural governance.
- Use Visual Studio Code Metrics, code analysis capabilities, and SonarQube quality gates to track maintainability, complexity, standards compliance, and technical-debt reduction.
- Participate in code reviews, technical discussions, and delivery planning with internal technical leaders.
- Deliver production-quality code with minimal supervision and contribute immediately to the refactoring program.
- Required Qualifications and Experience Strong professional experience developing desktop applications using C#, .NET, WPF, and XAML.
- Advanced hands-on expertise in MVVM, including data binding, commands, resources, UI lifecycle management, and ViewModel design.
- Practical experience with MVVM frameworks such as CommunityToolkit.Mvvm, Prism, or comparable frameworks.
- Deep understanding of dependency injection, interface-driven design, service abstractions, and IoC containers.
- Demonstrated experience refactoring complex, tightly coupled legacy applications into modular components.
- Strong unit-testing skills using xUnit or NUnit and mocking frameworks such as Moq.
- Hands-on experience with static code analysis and technical-debt management using SonarQube and Visual Studio tooling.
- Ability to interpret and implement architectural documentation, code standards, folder conventions, and UML diagrams.
- Proven ability to work independently in a senior engineering role and contribute with minimal technology ramp-up.
- Familiarity with parallel refactoring strategies that allow feature development and modernization to proceed concurrently.
- Strong analytical, troubleshooting, and communication skills in a cross-functional engineering environment.
- Quality-first mindset with disciplined use of automated tests, code reviews, and measurable engineering metrics.
- Delivery Context and Governance The selected developers will operate as a dedicated delivery cell under internal technical governance.
- Architectural decisions, quality expectations, and migration priorities will be aligned with the designated technical leaders and existing internal documentation.
- The team is expected to onboard rapidly and begin meaningful code contribution without a technology learning curve.
- Success Measures Progressive improvement of the application Maintainability Index toward a healthy target above 75/100.
- Reduction in cyclomatic complexity, coupling, and technical debt across migrated modules.
- Increased automated unit-test coverage and reliable protection of existing business logic.
- Compliance with SonarQube quality gates, code-style guidance, and architectural standards.
- More modular, stable, and testable software that supports faster future feature delivery.
Preferred qualifications and skills
- Preferred Attributes Experience modernizing large-scale or business-critical WPF applications through incremental migration.
Employment details
- Location: Bangalore [Karnataka] [India]
Additional role details
- The role will focus on progressively refactoring tightly coupled legacy code into a modular, testable architecture using the MVVM pattern and a dedicated service layer, while enabling ongoing business feature development to continue.
Collected experience requirement
8-10 years