S

Senior Windows Desktop Developer

Sonata Software · Pune District, Maharashtra

~₹18L (est.)6–12 yrs experiencefull_timePosted 2w ago
Apply now →

Job description

**Key Responsibilities** - Design, develop and maintain features for a Windows desktop application built using C#, .NET and WPF. - Work on secure inter-process communication mechanisms such as named or secure pipes. - Build and integrate local services that interact with external APIs. - Develop and maintain components that interact with local or remote databases. - Take ownership of specific modules, ensuring reliability, performance and maintainability. - Collaborate with the Lead Engineer, product owners and other developers to shape technical solutions. - Contribute to architectural and design discussions. - Participate in code reviews, sprint planning and improvements to development practices. - Work within Agile methodologies, following Scrum or Kanban workflows. - Mentor junior developers at a later stage as the team grows. **Essential Skills and Experience** - A minimum of 5 years of professional experience in software development. - Strong proficiency in C#, .NET and WPF. - Experience building and maintaining Windows desktop applications. - Knowledge of inter-process communication, such as secure named pipes, service based architectures or multi-process systems. - Experience working with APIs from a locally running desktop application. - Understanding of databases (SQL) and data access patterns. - Strong debugging, performance optimisation and problem solving skills. - Ability to take ownership of features and deliver them independently. - A degree in Computer Science, Engineering, Mathematics, Physics or a related technical discipline. **Preferred Skills** - Experience with cross platform desktop frameworks such as .NET MAUI or Avalonia. - Experience developing for macOS or cross platform desktop environments. - Knowledge of local service development, packaging and deployment for desktop applications. - Familiarity with modern .NET patterns such as MVVM frameworks, dependency injection and asynchronous programming. **Ways of Working** - Agile environment using Scrum or Kanban. **Personal Attributes** - Strong communication skills with the ability to explain technical concepts clearly. - Proactive and organised, comfortable taking ownership of areas of the system. - Collaborative and supportive approach to working within a team. - Commitment to code quality, testing and continuous improvement.