Senior C# Software Engineer – Windows Application Development
We’re looking for a Senior C# Software Engineer with deep expertise in Windows desktop application development to design, build, and optimize high-quality applications used by thousands of end users. You’ll work with .NET, C#, WPF, and C++, leading feature development, driving performance improvements, and ensuring our software meets the highest standards for security, scalability, and usability.
This role requires strong skills in Windows application architecture, UI/UX design, and the ability to collaborate in an agile, cross-functional environment. Experience with SQL/DB management, client-server architectures, communications protocols, REST/COM interfaces, .NET Core, video/streaming technologies, and camera profiles is highly valued.
Responsibilities:
Windows Application Development
-
Design, develop, and maintain robust Windows desktop applications using modern .NET, C#, WPF, and/or C++.
- Build and optimize intuitive, responsive user interfaces with a focus on performance and maintainability.
- Integrate software modules with hardware components, video/streaming systems, and other applications.
-
Leverage SQL/DB management, TCP/IP communications, REST/COM interfaces, and client-server architectures to enhance functionality.
-
Utilize .NET Core to create scalable, efficient applications.
Architecture & Design
- Design and implement scalable, maintainable software architectures.
- Create detailed technical specifications, diagrams, and documentation to ensure clarity and maintainability.
- Evaluate and recommend tools, technologies, and methodologies to improve development processes.
Performance Optimization
- Identify and resolve performance bottlenecks to ensure efficient operation across hardware configurations.
- Use profiling and diagnostic tools to optimize memory usage, CPU efficiency, and load times.
-
Optimize applications for video/streaming performance, including camera profile management.
Quality Assurance & Testing
- Write and maintain unit, integration, and automated UI tests to ensure reliability.
- Partner with QA engineers to debug and resolve defects.
- Participate in CI/CD processes to ensure frequent, reliable releases.
Requirements:
-
Education: Bachelor’s degree in Computer Science, Software Engineering, or related field (preferred).
-
Experience: 5+ years of Windows application development using modern .NET, C#, WPF.
-
Expert-level proficiency in .NET/.NET Core, C#, WPF.
-
Strong understanding of SQL/DB management, TCP/IP, REST/COM interfaces, and client-server architecture.
-
Experience with video/streaming technologies and camera profile management is preferred.
-
Deep understanding of Windows application architecture, threading, and asynchronous programming.
- Experience implementing rich user interfaces with solid UI/UX principles.
- Familiarity with Git, CI/CD pipelines, and modern development tools.