Desktop Development Software Engineer

Engineer
Full Time
Belgrade, Serbia

About the Role

As a Desktop Development Software Engineer, you will design, build, and maintain high-quality desktop applications for Windows, macOS, and/or Linux platforms. You will work closely with product managers, designers, back-end developers, and QA to deliver fast, reliable, and polished desktop experiences to our users. You will take ownership of the desktop development lifecycle, from architecture decisions and feature development through testing, packaging, distribution, and post-release support, while ensuring consistency, performance, and quality across all supported operating systems.

Management

Responsibilities

  • Design, develop, and maintain desktop applications across Windows, macOS, and/or Linux platforms
  • Build clean, modular, and well-structured code that performs reliably across a range of hardware configurations and OS versions
  • Collaborate with UI/UX designers to implement intuitive, responsive, and visually consistent desktop interfaces
  • Integrate back-end APIs, local services, and third-party libraries into desktop applications
  • Optimize application performance, startup time, memory usage, and resource efficiency
  • Ensure applications meet platform-specific guidelines and standards for Windows, macOS, and Linux environments
  • Write and maintain unit, integration, and UI tests to ensure application stability and quality
  • Identify, debug, and resolve desktop-specific defects across operating systems, hardware configurations, and system environments
  • Participate in code reviews, providing and receiving constructive technical feedback
  • Manage desktop build, packaging, and distribution processes including installers, auto-updates, and release versioning
  • Monitor production applications for crashes, performance degradation, and user-reported issues
  • Collaborate with QA to support thorough desktop testing cycles including functional, regression, and compatibility testing
  • Contribute to desktop architecture discussions and technical design decisions
  • Maintain documentation for desktop codebases, build processes, and release workflows
  • Participate in agile ceremonies, including stand-ups, sprint planning, retrospectives, and demos
  • Stay current with desktop development trends, platform updates, and evolving OS guidelines

Requirements

  • Fluency in written and spoken English is mandatory
  • Bachelor's degree in Computer Science, Software Engineering, or a related field, or equivalent practical experience
  • More than 3 years of professional desktop application development experience
  • Strong proficiency in one or more desktop development frameworks or languages, such as NET Maui, Electron, Qt, .NET/WPF, or similar
  • Solid understanding of at least one primary programming language used in desktop development, such as C++, C#, Java, Rust, Python, or JavaScript/TypeScript
  • Experience building and maintaining cross-platform desktop applications targeting Windows, macOS, and/or Linux
  • Familiarity with desktop UI design patterns and platform-specific human interface guidelines for Windows and macOS
  • Experience integrating RESTful APIs and managing local and remote data within desktop applications
  • Knowledge of desktop application packaging, installer creation, and auto-update mechanisms
  • Understanding of desktop security best practices, including local data encryption, secure credential storage, and sandboxing
  • Experience with version control using Git and collaborative development workflows
  • Strong debugging and performance profiling skills using platform-native and third-party tools

Preferred Skills

  • Experience with both native and cross-platform desktop development approaches
  • Familiarity with CI/CD pipelines for desktop application builds and releases
  • Exposure to code signing, notarization, and distribution requirements for Windows and macOS
  • Experience with inter-process communication, background services, or system-level integrations
  • Knowledge of accessibility standards and implementation across desktop platforms
  • Familiarity with crash reporting and telemetry tools, such as Sentry, BugSnag, or similar
  • Experience with auto-update frameworks such as Squirrel, Sparkle, or custom update services
  • Understanding of offline-first architecture and local database solutions, such as SQLite, LevelDB, or similar
  • Exposure to hardware integrations such as peripherals, cameras, or biometric devices

Ready when you are

Multiple ways to get the help you need.

Got questions?

Contact our sales team for any questions.

Contact sales

Ready to use Proctorio?

You can start right now by signing up.

Sign up today

Need assistance?

We are here for you 24/7, 365 days a year.

Start live chat