About this job
<p>Skylum empowers millions of photographers to create incredible images. Our award-winning photo editing software combines AI-powered automation with full creative control. We make editing enjoyable, easy, and accessible for everyone.</p>
<p>You’ll join an environment where growth, learning, and creativity are encouraged. Flexible schedules, trust-based workflows, and a supportive team give you everything you need to focus on your best work.</p>
<p> Proudly Ukrainian, Skylum stands with Ukraine through action, regularly supporting organizations that help accelerate our victory.</p>
</p>
<p>Requirements:</p>
<ul>
<li>3-5+ years of commercial C#/.NET desktop development experience;</li>
<li>Deep WPF expertise: Strong mastery of MVVM, data binding, custom controls, and a solid grasp of the UI thread / Dispatcher model and async programming;</li>
<li>Real experience with .NET memory management and performance profiling - and a proven track record of fixing leaks, not just describing them;</li>
<li>Practical exposure to native C++ interop (C++/CLI, P/Invoke, or marshaling);</li>
<li>Solid understanding of OOP, SOLID, clean code, and a genuine code-review habit;</li>
<li>Comfortable in Agile environment, writing clear acceptance criteria and handling corner cases;</li>
<li>A practical, daily relationship with AI-assisted development tooling (Copilot, Cursor, etc.) to boost productivity;</li>
<li>English strong enough to live in official documentation and deep-dive technical literature (MSDN, specs, deep-dive articles).</li>
</ul>
<p>Nice to have:</p>
<ul>
<li>Experience with Image/graphics processing, GPU, or DirectX/Direct2D;</li>
<li>Experience with WinUI 3;</li>
<li>A background in photo, creative, or media desktop apps;</li>
<li>Comfort improving large legacy codebases through deliberate and safe refactoring;</li>
<li>Native instinct for desktop pitfalls - handling leaks, permission levels, and UI-thread affinity;</li>
<li>Photography as a hobby.</li>
</ul>
<p>Responsibilities:</p>
<ul>
<li>Architect and build high-performance features using .NET 10 and WPF, ensuring the UI remains fluid and responsive under heavy loads;</li>
<li>Develop and optimize C++/CLI wrappers to maintain a seamless, memory-safe bridge between our .NET environment and native C++ core libraries;</li>
<li>Profile and hunt down complex desktop issues - eliminate memory leaks, fix UI thread blockages, and resolve interop vulnerabilities;</li>
<li>Deliberately refactor legacy modules, gradually transforming older parts of the codebase into clean, testable, and modern architecture;</li>
<li>Conduct high-standard code reviews</li>
<li>Leverage modern AI-assisted tools to accelerate routine coding, unit-test generation, and documentation;</li>
<li>Collaborate closely with the team during 2-week sprints to flesh out technical requirements, cover tricky corner cases, and estimate complex tasks.</li>
</ul>
<p>What we offer</p>
<p>For personal growth:</p>
<ul>
<li>A chance to work with a strong team and a unique opportunity to make substantial contributions to our award-winning photo editing tools;</li>
<li>An educational allowance to ensure that your skills stay sharp;</li>
<li>English, German, and Polish classes to strengthen your capabilities and widen your knowledge.</li>
</ul>
<p>For comfort:</p>
<ul>
<li>A great environment where you’ll work with true professionals and amazing colleagues whom you’ll call friends quickly;</li>
<li>The choice of working remotely or in our office space located on Podil, equipped with everything you might need for productive and comfortable work.</li>
</ul>
<p>For health:</p>
<ul>
<li>Medical insurance;</li>
<li>Twenty-one days of paid sick leave per year;</li>
</ul>
<p>For leisure:</p>
<ul>
<li>Twenty-one days of paid vacation per year;</li>
<li>Fun times at our frequent team-building activities.</li>
</ul>
<p>What to expect when you apply</p>
<ul>
<li>An interview with our Talent Acquisition Specialist</li>
<li>Professional/technical interview</li>
<li>Management interview</li>
<li>And finally, your job offer!</li>
</ul>