.net Core WPF Senior Software Engineer
About the Role
We are seeking a skilled .NET Developer with expertise in Windows Presentation Foundation (WPF) to join our team. In this role, you will be responsible for designing and implementing high-performance desktop applications, with a focus on multimedia player applications. The ideal candidate should have a strong understanding of C#, WPF, and MVVM design patterns, as well as experience with multimedia libraries, and be comfortable working within a collaborative, agile development environment.
Key Responsibilities: -
Key Focus Areas: -
- Application Development: Design, develop, and maintain desktop applications using .NET and WPF/MAUI, focusing on creating intuitive, responsive multimedia applications.
- Experience with Multi-threading: Understanding of multi-threading and asynchronous programming in .NET.
- Winform Proficiency: Candidate should be proficient in developing interactive applications using winform framework in .NET along with the knowledge of Event-Driven Programming, Design-Time Support and Graphics Support.
- Integration: Develop and maintain integrations with other systems, APIs, and multimedia libraries.
- Code Quality: Write clean, maintainable, and well-documented code, conducting peer reviews to uphold coding standards.
- Database Experience: Proficiency in working with relational databases (e.g., SQL Server), including SQL Joins.
- Communication & Articulation: Clearly articulate technical concepts and ideas to team members and clients, fostering effective collaboration.
- Client-Centric Project Planning: Collaborate with clients to understand their requirements clearly and develop precise project plans that meet their needs.
Also Required: -
- UI/UX Collaboration: Work closely with UI/UX designers to implement design specifications and ensure applications provide an exceptional user experience.
- Architecture & Patterns: Implement MVVM and other relevant design patterns to build maintainable and scalable WPF applications.
- Testing & Debugging: Participate in unit testing, debugging, and troubleshooting, ensuring high-quality releases.
- Continuous Improvement: Stay up-to-date with the latest .NET, WPF, and multimedia development trends and recommend improvements.
Qualifications: -
- 5-8 years of experience as a .NET Developer, with at least 3 years of hands-on experience in WPF application development.
- Proficiency in C# and .NET Framework/.NET Core, with in-depth experience in developing desktop applications using WPF.
- Strong Understanding of MVVM: Extensive experience with the MVVM design pattern and data binding in WPF applications.
- XAML Expertise: Proficiency in creating and styling complex UIs in XAML, with a focus on creating visually appealing and responsive interfaces.
- Performance Tuning: Knowledge of best practices for optimizing desktop applications, including memory management and asynchronous programming.
- RESTful Services: Familiarity with integrating RESTful services and APIs within WPF/MAUI applications.
- Agile Methodology: Experience working within an Agile/Scrum development environment.
- Version Control: Proficiency with Git or other version control systems.
Preferred Skills: -
- Multimedia Functionality: Implement and optimize multimedia features, including video/audio playback, streaming, and multimedia file handling.
- Multimedia Development Experience: Knowledge of multimedia libraries (e.g., DirectShow, multiMediaSoft, NAudio) and experience with audio/video processing and playback within WPF applications.
- Third-Party Libraries: Experience with third-party libraries and frameworks for WPF, such as Telerik or DevExpress.
- IoC/Dependency Injection: Familiarity with dependency injection frameworks (e.g., Unity, Autofac).
- Experience with .NET 6/7: Knowledge of the latest .NET versions and new features is a plus.
Soft Skills: -
- Strong leadership and communication skills.
- Problem-solving mindset with a keen eye for detail.
- Ability to work in a fast-paced environment and manage multiple projects.
Education Qualifications: -
- Bachelor’s or Master’s degree in Computer Science, Engineering, or related field.
Experience: -
- Total 5 to 8 years of experience