C++ Graphics and Windowing System Software Engineer

19 hours ago


Muscat, Muscat, Oman Canonical Full time

We build a high-performance, high-efficiency stack for window managers and display subsystems in C++, called Mir. We're growing the 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 experience, and aim to give them 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, and we also set the pace for graphics enablement across the Ubuntu certified hardware ecosystem. Our daily drill includes design, development and testing of features in those pieces of software as well as responding to issues and user inquiries. Most of the software is written in C++, with support tooling in scripting languages. We're also considering Rust or Carbon as evolutionary steps forward.

This is an excellent opportunity for someone who wants to have a meaningful impact on modern display technologies that will impact millions of developers. Canonical offers a fast-paced team environment and a career full of learning and development opportunities across the open source spectrum.

What you will do

  • 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
  • You have excellent, modern C++ programming taste
  • You have a rigorous approach to software design, development and testing
  • You have a solid understanding of asynchronous programming and concurrency patterns
  • You have strong written and verbal communication skills to document and present software developed
  • You are productive collaborating remotely and are highly motivated and organized
  • You are familiar with Linux as a development and deployment platform
  • You have proven ability to consistently deliver robust code to production
  • Bachelor's or equivalent in Computer Science, STEM or similar degree
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
  • You have experience developing and deploying on a Ubuntu/Debian system

What is Canonical?

Canonical is a growing international software company that works with the open-source community to deliver Ubuntu, "the world's best free software platform". Our services help businesses worldwide to reduce costs, improve efficiency and enhance security with Ubuntu.

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

#J-18808-Ljbffr

  • Muscat, Muscat, Oman beBee Careers Full time

    Job DescriptionWe are seeking a skilled System Administrator to provide first-level support for our Windows systems and related software.The ideal candidate will have strong problem-solving and communication skills, as well as the ability to work efficiently in a team environment.About the RoleThis position involves performing routine maintenance and updates...


  • Muscat, Muscat, Oman Canonical Full time

    Golang System Software Engineer - Containers / VirtualisationJoin to apply for the Golang System Software Engineer - Containers / Virtualisation role at CanonicalGolang System Software Engineer - Containers / Virtualisation4 days ago Be among the first 25 applicantsJoin to apply for the Golang System Software Engineer - Containers / Virtualisation role at...


  • Muscat, Muscat, Oman Canonical Full time

    We are building a team to focus on the modern C and C++ programming language and their ecosystem on Ubuntu. They will deliver the best possible GCC and LLVM runtimes, developer experience, and supporting tooling in Ubuntu. They will ensure that the cutting edge of modern programming languages innovation is available to Ubuntu users, to lay the foundation for...

  • Software Engineer

    1 week ago


    Muscat, Muscat, Oman Canonical Full time

    Software Engineer - Immutable Ubuntu DesktopJoin to apply for the Software Engineer - Immutable Ubuntu Desktop role at CanonicalSoftware Engineer - Immutable Ubuntu Desktop1 week ago Be among the first 25 applicantsJoin to apply for the Software Engineer - Immutable Ubuntu Desktop role at CanonicalGet AI-powered advice on this job and more exclusive...

  • Software Engineer

    1 week ago


    Muscat, Muscat, Oman beBee Careers Full time

    We are seeking a highly skilled Software Engineer - Embedded Systems to join our team. As a key member of our engineering organization, you will be responsible for designing and developing cutting-edge embedded systems solutions using Linux as the operating system.Job Description:The successful candidate will be responsible for working closely with...


  • Muscat, Muscat, Oman canonical Full time

    Bachelors in Computer Application (Computers)Nationality: Any NationalityVacancy: 1 VacancyJob Description:You will design and implement enhancements to the libraft, dqlite, and go-dqlite components which we consume in MicroK8s, LXD, and other projects. Work includes development in those pieces of software as well as responding to issues and user...

  • Software Engineer

    1 week ago


    Muscat, Muscat, Oman Canonical Full time

    Join to apply for the Software Engineer - L3 Support role at Canonical4 days ago Be among the first 25 applicantsJoin to apply for the Software Engineer - L3 Support role at CanonicalGet AI-powered advice on this job and more exclusive features.Canonical is a leading provider of open source software and operating systems to the global enterprise and...

  • Windows Administrator

    3 weeks ago


    Muscat, Muscat, Oman Infoline Full time

    Position Title: L1 Integration Platform AdministratorQualification: Bachelor's degree in Computer Science, Information Technology, or related field (or equivalent experience).Contract Type: One Year extendableResponsibilities:Provide first-level support for Windows systems and related software.Diagnose and resolve technical issues related to Windows...

  • Windows Administrator

    2 weeks ago


    Muscat, Muscat, Oman Infoline Full time

    Position Title: L1 Integration Platform AdministratorQualification: Bachelor's degree in Computer Science, Information Technology, or related field (or equivalent experience).Contract Type: One Year extendableResponsibilities:Provide first-level support for Windows systems and related software.Diagnose and resolve technical issues related to Windows...


  • Muscat, Muscat, Oman beBee Careers Full time

    We are looking for a highly skilled Windows OS Deployment Engineer to join our team.Job OverviewThe successful candidate will be responsible for designing and implementing effective deployment strategies for Windows OS images, troubleshooting related issues, and ensuring the smooth operation of workstations at various sites.Key Responsibilities:Design and...