Canonical Circular Logo

C++ Graphics and Windowing System Software Engineer - Mir

Canonical Jeddah, Saudi Arabia Posted: 15 Apr 2025

Financial

  • Estimate: $70k - $95k*
  • Zero income tax location

Accessibility

  • Hybrid
  • Apply from abroad
  • Visa Provided

Requirements

  • Experience: Unspecified
  • English: Professional

Position

About the Job:
We are building a high-performance, high-efficiency stack for window managers and display subsystems in C++, called Mir. We are growing our team and looking for new colleagues who share our passion for precision, performance, and user experience. Our goal is to enable the whole spectrum of graphics from single-purpose screens through edge devices to full desktop environments.

We focus on developers who are building window compositing systems or device graphics experiences, aiming to provide them with an amazing developer experience, security, and easy access to today's most used graphics toolkits and libraries. We work on Mir and solutions built on it like Ubuntu Frame, along with setting the pace for graphics enablement across the Ubuntu certified hardware ecosystem.

Our daily routine includes the design, development, and testing of features in our software, as well as responding to issues and user inquiries. Most of our software is written in C++, with supporting tooling in scripting languages. We are also considering Rust or Carbon as potential future steps. This is a fantastic opportunity for someone who wants to significantly impact modern display technologies affecting millions of developers.

Canonical offers a fast-paced team environment and career growth opportunities across the open-source spectrum.

Responsibilities:

  • Design and implement features across the Mir stack
  • Assist in debugging, tracking down, and fixing issues
  • Improve tests and performance benchmarks to catch issues early
  • Create documentation to enhance the developer experience
  • Engage with the open-source community and commercial partners
  • Collaborate proactively with a distributed team

Required Skills and Experience:

  • Excellent, modern C++ programming skills
  • Rigorous approach to software design, development, and testing
  • Solid understanding of asynchronous programming and concurrency patterns
  • Strong written and verbal communication skills for documentation and presentations
  • Productive in remote collaboration; highly motivated and organized
  • Familiarity with Linux as a development and deployment platform
  • Proven ability to consistently deliver robust code to production
  • Bachelor’s or equivalent in Computer Science, STEM, or similar field

Desirable Skills and Experience:

  • Experience with the Wayland protocol ecosystem and compositors
  • Familiarity with a range of Linux Desktop Environments
  • Familiarity with OpenGL, Vulkan, and other graphics and animation frameworks
  • Experience developing and deploying on an Ubuntu/Debian system

Diversity Commitment:
We are proud to foster a workplace free from discrimination. Diversity of experience, perspectives, and backgrounds creates a better work environment and better products. Whatever your identity, we will give your application fair consideration.

Apply now

Jobs you might like   View all jobs

About Canonical

We deliver open source to the world faster, more securely and more cost effectively than any other company. We're also the publishers of Ubuntu, the world’s most popular enterprise Linux from cloud to edge, together with a passionate global community of 200,000+ contributors.