Senior Software Engineer — C# / WPF
Job Description
<p>CaseGuard is looking for a senior engineer to help drive the evolution of CaseGuard Studio, a feature-rich .NET desktop application for video, audio, image, and document redaction. You'll own significant areas of a large WPF codebase that spans real-time video playback, AI-powered detection, and media processing pipelines — and help shape how the team builds software.</p> <h3><strong>Responsibilities:</strong></h3> <ul> <li>Lead technical design with product owners and designers, turning ambiguous product goals into architecture, actionable tasks, and timely delivery.</li> <li>Design and build high-quality, high-performance UI and frameworks in a large WPF application.</li> <li>Own cross-cutting concerns: performance, threading, memory, stability, and error handling.</li> <li>Drive incremental refactoring and modernization of existing code without disrupting releases.</li> <li>Mentor junior engineers through code reviews, pair programming, and design feedback, raising the team's engineering standards.</li> <li>Design and build proof-of-concepts for new capabilities and de-risk them before full investment.</li> </ul> <h3><strong>Qualifications (Required):</strong></h3> <ul> <li>Bachelor's degree in Computer Science or related field.</li> <li>5+ years of professional software development experience, including 3+ years developing rich-client .NET desktop applications, with a track record of owning features from design through production.</li> <li>Expert-level C# and .NET (Framework and modern .NET).</li> <li>In-depth WPF and XAML: custom controls, templating, data binding, rendering and virtualization behavior.</li> <li>Deep experience with multi-threading and asynchronous programming in C#, including UI thread marshaling, TPL, async/await, producer-consumer pipelines, and cancellation.</li> <li>Proven experience profiling and optimizing desktop applications (CPU, memory, render performance).</li> <li>Strong command of MVVM plus broader patterns: dependency injection, repository, messaging/event aggregation.</li> <li>Strong understanding of SOLID principles and the ability to create clean, error-tolerant, and testable designs, with the judgment to apply them pragmatically in legacy code.</li> <li>Experience leading projects or mentoring engineers formally.</li> <li>Experience with Agile/Scrum and the full SDLC.</li> </ul> <h3><strong>Qualifications (It’s a plus):</strong></h3> <ul> <li>Experience with video/audio programming, including FFmpeg or similar technologies, codecs and containers, frame-accurate playback, and hardware acceleration.</li> <li>Experience integrating machine learning/computer vision capabilities (object detection, tracking, OCR, speech-to-text) into production applications.</li> <li>Experience with native interoperability, including P/Invoke, C/C++ libraries, and managed/unmanaged memory management.</li> <li>Experience with distributed/client-server features, including SignalR or WebSockets, REST APIs, and inter-process communication. </li> </ul> <h3><strong>Benefits:</strong></h3> <ul> <li>Competitive Salary</li> <li>Stock Option</li> <li>Medical, Dental, and Vision Insurance</li> <li>401K</li> <li>Paid Vacation</li> <li>Ten paid holidays per year</li> <li>Friendly and Learning environment</li> </ul> <h3><strong>About CaseGuard</strong></h3> <p>CaseGuard is a software company that helps law enforcement agencies, federal agencies, hospitals, schools, airports, and others manage all their media redact