C++ Graphics and Windowing System Software Engineer

4 weeks ago


Delhi, United States Canonical - Jobs Full time
Job DescriptionJob Description

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.

#LI-Remote



  • Delhi, United States Canonical - Jobs Full time

    Job DescriptionJob DescriptionWe 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...


  • Delhi, California, United States Canonical - Jobs Full time

    Job Title: Senior C++ Graphics and Windowing System DeveloperSalary: $120,000 - $180,000 per yearAbout the JobWe're seeking an experienced C++ developer to join our team working on Mir, a high-performance graphics stack for window managers and display subsystems. As a Senior C++ Graphics and Windowing System Developer, you will be responsible for designing...


  • Delhi, United States Canonical - Jobs Full time

    Job DescriptionJob DescriptionThis is a fast-paced engineering role in Linux-based software-defined infrastructure and applications, covering all layers of the stack, including bare metal, virtualization (KVM) and containerization (Docker/LXC/LXD), storage (Ceph and Linux filesystems), networking (OVS, OVN and Core networking), up to OpenStack and...


  • Delhi, United States Canonical - Jobs Full time

    Job DescriptionJob DescriptionThe role of a Senior Software Engineer at CanonicalAs a senior software engineer, you'll be an integral part of the team, driving process improvement, assisting the manager in running the team, coaching and developing colleagues with less experience, as well as owning functional areas from design and implementation all the...


  • Delhi, United States Canonical - Jobs Full time

    Job DescriptionJob DescriptionThe role of a Senior Software Engineer at CanonicalAs a senior software engineer, you'll be an integral part of the team, driving process improvement, assisting the manager in running the team, coaching and developing colleagues with less experience, as well as owning functional areas from design and implementation all the...


  • Delhi, California, United States Canonical - Jobs Full time

    Job Title: High-Performance C++ Engineer for Display SubsystemsSalary: $140,000 - $200,000 per yearAbout the JobWe're looking for an exceptional C++ engineer to join our team working on display subsystems for Mir. As a High-Performance C++ Engineer, you will be responsible for designing and implementing high-performance features across the Mir stack,...

  • Juju Software Engineer

    22 hours ago


    Delhi, United States Canonical - Jobs Full time

    Job DescriptionJob DescriptionThe role of a Software Engineer at CanonicalAs a software engineer on the team, you'll be contributing to the development of Juju, a large open-source Go project that powers complex distributed software systems across the world.Juju is the engine behind model-driven operations, providing a means to operate complex software...


  • Delhi, United States Canonical - Jobs Full time

    Job DescriptionJob DescriptionCanonical is a leading provider of open source software and operating systems to the global enterprise and technology markets. Our platform, Ubuntu, is very widely used in breakthrough enterprise initiatives such as public cloud, data science, AI, engineering innovation and IoT. Our customers include the world's leading...


  • Delhi, United States Canonical - Jobs Full time

    Job DescriptionJob DescriptionThe role of a Field Software Engineer at CanonicalHelp global companies embrace the latest private cloud infrastructure, Linux and cloud native operations, and open source applications. Our team applies expert insights to real-world customer problems, enabling the enterprise adoption of Linux Ubuntu, OpenStack, Kubernetes and a...


  • Delhi, California, United States Canonical - Jobs Full time

    PC Platforms Engineer OpportunityWe are seeking a talented PC Platforms Engineer to join our team at Canonical. As a key member of our engineering group, you will be responsible for developing and maintaining high-quality kernel support for a wide range of hardware devices.This role offers an exciting opportunity to leverage your software engineering skills...


  • Delhi Township, United States Canonical - Jobs Full time

    Job DescriptionJob DescriptionThe role of a Field Software Engineer at CanonicalHelp global companies embrace the latest private cloud infrastructure, Linux and cloud native operations, and open source applications. Our team applies expert insights to real-world customer problems, enabling the enterprise adoption of Linux Ubuntu, OpenStack, Kubernetes and a...

  • PC Platforms Engineer

    2 months ago


    Delhi, United States Canonical - Jobs Full time

    Job DescriptionJob DescriptionAre you fascinated by the chance to make a real impact on millions of Ubuntu users? We are looking for a passionate Linux kernel engineer to join our team and help us bring Ubuntu to the next generation of hardware. In this role, you will be responsible for developing and maintaining high-quality kernel support for a wide range...

  • PC Platforms Engineer

    24 hours ago


    Delhi, United States Canonical - Jobs Full time

    Job DescriptionJob DescriptionAre you fascinated by the chance to make a real impact on millions of Ubuntu users? We are looking for a passionate Linux kernel engineer to join our team and help us bring Ubuntu to the next generation of hardware. In this role, you will be responsible for developing and maintaining high-quality kernel support for a wide range...

  • Technical Manager

    2 months ago


    Delhi, United States Canonical - Jobs Full time

    Job DescriptionJob DescriptionWe have created a role for a Technical Manager, Automotive and Industrial with a passion for open source and precision engineering. Today, Canonical is providing secure and reliable products to our industrial and automotive partners. Our solutions are bridging the gap between Open-Source innovation and industry specific...


  • Delhi, United States Canonical - Jobs Full time

    Job DescriptionJob DescriptionLead our effort to get Ubuntu fit for mission critical environments like automotive, aerospace, industrial robotics and other highly regulated uses.Ubuntu is the most widely used Linux in the enterprise, for developers, and at home. We work to enable innovation in all of those sectors, as a gateway to the huge world of open...


  • Delhi, Iowa, United States Canonical - Jobs Full time

    We are seeking a highly skilled Embedded Linux Field Engineer to join our team at Canonical, a pioneering tech firm at the forefront of the global move to open source.About UsAs the company that publishes Ubuntu, one of the most important open source projects and the platform for AI, IoT, and the cloud, we are changing the world of software.Your RoleYou will...


  • Delhi, California, United States Canonical - Jobs Full time

    About the RoleWe are seeking a highly skilled Senior Linux Kernel Engineer to join our Firmware Team. This is an excellent opportunity for someone with a strong background in firmware development, particularly in UEFI and ACPI.ResponsibilitiesThe successful candidate will be responsible for collaborating with our global team to resolve issues involving BIOS,...


  • Delhi, United States Canonical - Jobs Full time

    Job DescriptionJob DescriptionCanonical is a leading provider of open source software and operating systems to the global enterprise and technology markets. Our platform, Ubuntu, is very widely used in breakthrough enterprise initiatives such as public cloud, data science, AI, engineering innovation and IoT. Our customers include the world's leading...


  • Delhi, United States L3Harris Technologies Full time

      Job Title: Specialist, Quality EngineeringJob Code: 18096Job Location: Fuzing and Ordnance Systems (Cincinnati, Ohio)Schedule: 4/10    Job Description: The program quality engineer function is a program focused role that is responsible for protecting the customer in regard to product quality and ensuring contract requirements are met. This includes...


  • Delhi, California, United States Canonical - Jobs Full time

    Job OverviewAs a Cloud Operations Expert at Canonical, you will play a critical role in shaping the future of cloud computing.About Us:Canonical is a pioneering tech firm at the forefront of the global move to open source. We are changing the world daily by publishing Ubuntu, one of the most important open-source projects and the platform for AI, IoT, and...