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.
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.
🇺🇦 Proudly Ukrainian, Skylum stands with Ukraine through action, regularly supporting organizations that help accelerate our victory.
Requirements:
- 3-5+ years of commercial C#/.NET desktop development experience;
- Deep WPF expertise: Strong mastery of MVVM, data binding, custom controls, and a solid grasp of the UI thread / Dispatcher model and async programming;
- Real experience with .NET memory management and performance profiling - and a proven track record of fixing leaks, not just describing them;
- Practical exposure to native C++ interop (C++/CLI, P/Invoke, or marshaling);
- Solid understanding of OOP, SOLID, clean code, and a genuine code-review habit;
- Comfortable in Agile environment, writing clear acceptance criteria and handling corner cases;
- A practical, daily relationship with AI-assisted development tooling (Copilot, Cursor, etc.) to boost productivity;
- English strong enough to live in official documentation and deep-dive technical literature (MSDN, specs, deep-dive articles).
Nice to have:
- Experience with Image/graphics processing, GPU, or DirectX/Direct2D;
- Experience with WinUI 3;
- A background in photo, creative, or media desktop apps;
- Comfort improving large legacy codebases through deliberate and safe refactoring;
- Native instinct for desktop pitfalls - handling leaks, permission levels, and UI-thread affinity;
- Photography as a hobby.
Responsibilities:
- Architect and build high-performance features using .NET 10 and WPF, ensuring the UI remains fluid and responsive under heavy loads;
- Develop and optimize C++/CLI wrappers to maintain a seamless, memory-safe bridge between our .NET environment and native C++ core libraries;
- Profile and hunt down complex desktop issues - eliminate memory leaks, fix UI thread blockages, and resolve interop vulnerabilities;
- Deliberately refactor legacy modules, gradually transforming older parts of the codebase into clean, testable, and modern architecture;
- Conduct high-standard code reviews
- Leverage modern AI-assisted tools to accelerate routine coding, unit-test generation, and documentation;
- Collaborate closely with the team during 2-week sprints to flesh out technical requirements, cover tricky corner cases, and estimate complex tasks.
What we offer
For personal gro