Browse current jobs

Senior Software Engineer-WPF / MVVM / .NET | Legacy Application

NeST Digital · Bangalore

Apply on employer website

Collected role description

Role overview

Senior Software Engineer-WPF / MVVM / .NET | Legacy Application 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