C++ Graphics and Windowing System Software Engineer

Canonical
Summary
Join Canonical, a leading open source software provider, as a C++/Rust Graphics and Windowing System Software Engineer. You will contribute to the development and improvement of Mir, a high-performance technology stack for window managers and display subsystems. Responsibilities include designing and implementing features, debugging and fixing issues, participating in code reviews, creating tests and benchmarks, maintaining documentation, and engaging with the open source community. This remote role, based in EMEA or APAC, requires strong C++ and Rust programming skills, Linux familiarity, and excellent collaboration abilities. Canonical offers a competitive compensation package, including a performance-driven bonus, personal learning budget, annual compensation review, and various other benefits.
Requirements
- Excellent Bachelorโs or equivalent degree in Computer Science, STEM or similar and 2+ years of working experience
- Excellent modern C++ and excellent Rust programming skills
- Familiarity with Linux as a development and deployment platform
- Ability to collaborate remotely with a diverse set of team members and remain highly motivated, productive, and organized
- Ability to travel internationally twice a year for company events up to two weeks long
Responsibilities
- Design and implementation of features across the Mir stack
- Assisting in debugging, tracking down and fixing issues
- Participating in our engineering process through code and architectural review
- Creating and improving tests and performance benchmarks to catch issues early
- Creating and maintaining documentation to enhance the developer experience
- Engaging with the open source community and commercial partners
- Collaborating proactively with a distributed team
Preferred Qualifications
- You have experience with the Wayland protocol ecosystem and compositors
- You are familiar with OpenGL, Vulkan, Flutter and other graphics, toolkits and animation frameworks
- You have a solid understanding of asynchronous programming and concurrency patterns
- You have proven ability to consistently deliver robust code to production
- You have strong written and verbal communication skills to document and present software developed
Benefits
- Distributed work environment with twice-yearly team sprints in person
- Personal learning and development budget of USD 2,000 per year
- Annual compensation review
- Recognition rewards
- Annual holiday leave
- Maternity and paternity leave
- Team Member Assistance Program & Wellness Platform
- Opportunity to travel to new locations to meet colleagues
- Priority Pass and travel upgrades for long-haul company events
Share this job:
Similar Remote Jobs

