
Remote opportunity at
CanonicalC++/Rust Graphics and Windowing System Software Engineer - Mir
Canonical is recruiting C++ and Rust engineers for graphics and windowing system work on Mir, a high-performance stack for window managers and display subsystems. Mir powers…
Career Tools
About This Role
Canonical is recruiting C++ and Rust engineers for graphics and windowing system work on Mir, a high-performance stack for window managers and display subsystems. Mir powers solutions such as Ubuntu Frame and is meant to serve everything from single-purpose screens and edge hardware to complete desktop environments. The role is remote and based in EMEA or APAC. The team designs, builds and tests features across the Mir stack, debugs and…
Job Description
Canonical is recruiting C++ and Rust engineers for graphics and windowing system work on Mir, a high-performance stack for window managers and display subsystems. Mir powers solutions such as Ubuntu Frame and is meant to serve everything from single-purpose screens and edge hardware to complete desktop environments. The role is remote and based in EMEA or APAC.
The team designs, builds and tests features across the Mir stack, debugs and resolves problems, and takes part in code and architecture reviews. Engineers also write and refine tests and performance benchmarks, maintain developer documentation, and engage openly with the community around the project and with business partners. Most of the existing code is C++, supported by scripting tools, and Rust is being adopted step by step, so proficiency in both languages is necessary.
Candidates need a degree or equivalent in computer science or a related discipline, plus at least two years of professional experience. Strong modern C++ and Rust skills are essential, as is familiarity with Linux as a platform for development and deployment. Background in window compositing or graphics hardware is preferred. Useful additions include knowledge of the Wayland protocol and its compositors, experience with OpenGL, Vulkan, Flutter or other graphics and animation frameworks, grasp of asynchronous programming and concurrency, and clear written and spoken communication. Travel for gatherings lasting up to two weeks, a couple of times each year, is expected.
Responsibilities
- Design and build features across the Mir stack
- Help track down and resolve defects
- Take part in code and architecture reviews
- Create and improve tests and performance benchmarks so faults surface early
- Write and maintain documentation for developers
- Connect with the wider open-source world and with business partners
- Work proactively within a distributed team
Requirements
- Degree or equivalent in computing, STEM or a closely related field, and two or more years of experience
- Excellent modern C++ programming ability
- Excellent Rust programming ability
- Familiarity with Linux as a platform for development and deployment
- Capacity to collaborate from afar while staying organised and productive
- Travel abroad twice a year for events up to two weeks
Qualifications
- Experience with the Wayland protocol and compositors
- Familiarity with OpenGL, Vulkan, Flutter and similar graphics frameworks
- Comfort with concurrent and asynchronous coding techniques
- Record of shipping robust code to production
- Strong written and verbal communication for documenting and presenting software
Core Skills
Benefits
- Distributed working with two in-person team gatherings each year
- Learning allowance: USD 2,000 annually
- Annual pay review and a performance-based bonus or commission
- Recognition rewards and holiday leave each year
- Maternity and paternity leave
- Wellness platform and team member assistance scheme
- Chances to visit new locations, plus Priority Pass lounge access and upgrades on long-haul trips
Frequently Asked Questions
Answers are based only on the employer’s listing; where it doesn’t say, neither do we.
Which regions is the role open in?
The role is remote, open to candidates in EMEA or APAC.
What experience is required?
The posting asks for a degree or equivalent in a technical field and at least two years of industry experience, with strong skills in both modern C++ and Rust.
What salary does the role offer?
The posting does not state a salary. It says base pay depends on location, experience, knowledge and skills, with performance-driven bonuses or commissions available.
Sample Interview Questions
AI-generated questions tailored to this specific role — a preview of the full practice set.