We are seeking an experienced Senior Software Developer to design, develop, and maintain high-quality desktop applications using C#, WPF, and XAML within the Microsoft Visual Studio environment. The ideal candidate has a strong background in software architecture, UI development, and modern development practices, and is capable of working independently as well as leading technical discussions within a team.
Key Responsibilities
- Design, develop, and maintain desktop applications using C# and .NET (WPF)
- Build rich, responsive user interfaces using XAML and MVVM principles
- Contribute to software architecture, technical design, and code standards
- Collaborate with product owners, UX designers, and other developers to define requirements and solutions
- Perform code reviews and mentor junior developers
- Debug, optimize, and refactor existing applications to improve performance and maintainability
- Write technical documentation and support knowledge sharing within the team
- Participate in the full software development lifecycle, from analysis to deployment and maintenance
Required Technical Skills
- Strong experience with C# and the .NET Framework / .NET Core
- Advanced knowledge of WPF and XAML
- Solid understanding of MVVM pattern and UI architecture best practices
- Proficiency with Visual Studio and related debugging and profiling tools
- Experience with object-oriented design, SOLID principles, and design patterns
- Familiarity with data binding, styles, templates, and custom controls in WPF
- Experience working with Git or other version control systems
Nice-to-Have Skills
- Experience with Unit Testing frameworks (e.g. MSTest, NUnit, xUnit)
- Familiarity with CI/CD pipelines
- Experience integrating REST APIs and working with databases (SQL or NoSQL)
- Awareness of UX/UI best practices for desktop applications
Seniority & Experience
- 5+ years of professional experience in software development
- Proven experience delivering and maintaining production-grade WPF applications
- Ability to take ownership of complex technical topics and guide architectural decisions
Soft Skills
- Strong problem-solving and analytical skills
- Excellent communication skills in English
- Ability to work independently and within cross-functional teams
- Proactive mindset with attention to quality and detail
Education
- Degree in Computer Science, Software Engineering, or a related field (or equivalent professional experience)