C++ Graphics and Windowing System Software Engineer - Mir

Job updated 2 months ago

Job 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 your day will look like

  • Design and implement features across the Mir stack
  • Assist in debugging, tracking down and fixing issues
  • mprove 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


What we are looking for in you

  • 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

Additional skills that you might also bring

  • 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 we offer you

    Your base pay will depend on various factors including your geographical location, level of experience, knowledge and skills. In addition to the benefits below, certain roles are also eligible for additional benefits and rewards including annual bonuses and sales incentives based on revenue or utilization. Canonical’s compensation philosophy is to ensure equity right across our global workforce.

    In addition to a competitive base pay, we provide all team members with additional benefits, which reflect our values and ideals.

    📚 Personal learning and development budget of 2,000USD per annum

    💰 Annual compensation review

    🏆 Recognition rewards

    🏝 Annual holiday leave

    👶 Parental Leave

    🧑‍💼 Employee Assistance Programme

    🧳 Opportunity to travel to new locations to meet colleagues at ‘sprints’

    ✈️ Priority Pass for travel and travel upgrades for long haul company events

    All permanent employees based in Taiwan are entitled to participate in labor insurance and national health insurance in accordance with the relevant laws in Taiwan. Meanwhile, all employees will be eligible for the enhanced benefits from the commencement of their employment.

    • Term Life
    • Accidental Death & Dismemberment
    • Accidental Medical Reimbursement
    • Hospital & Surgical (including spouse&child)
    • Annual Health Check

    Canonical is an equal opportunity employer

    Canonical believes a diverse workforce enhances our ability to deliver world class software and services which meet the world’s computing needs. We are committed to ensuring equal employment opportunities to all qualified individuals. All qualified applicants will receive consideration for employment without regard to race, colour, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability, age, or veteran status.

    View all jobs
    View all jobs
    No requirement for relevant working experience
    1,200,000 ~ 1,500,000 TWD / year
    Optional Remote Work
    Personal Invitation Link
    This is your personal referral link for job invitation. You'll receive an email notification when someone applied for the position via your job link.
    Share this job
    Logo of Canonical.

    About us

    Canonical is a growing, international software company that works with the open-source community to deliver Ubuntu -- the world’s #1 cloud operating system. Our mission is to realize the potential of free software in the lives of individuals and organisations. Our services are helping businesses worldwide to reduce costs, improve efficiency and enhance security with Ubuntu.


    Avatar of the user.
    Avatar of the user.
    QA Manager
    Avatar of the user.
    Engineering Manager
    Avatar of the user.
    Interim Engineering Manager
    Avatar of the user.
    Engineering Director
    Avatar of the user.
    Talent Acquisition Partner


    Entry level
    1M ~ 1.8M TWD / year

    Mid-Senior level
    7K ~ 14K USD / month

    Mid-Senior level
    6K ~ 14K USD / month