C++ Graphics and Windowing System Software Engineer

1 Week ago • All levels

Job Summary

Job Description

This role involves designing, implementing, and testing features across the Mir stack, debugging and fixing issues, improving tests and performance benchmarks, creating documentation, and engaging with the open source community and commercial partners. The engineer will collaborate proactively with a distributed team to build a high-performance, high-efficiency stack for window managers and display subsystems in C++. The goal is to enable a wide range of graphics applications and provide an amazing developer experience.
Must have:
  • Excellent, modern C++ programming skills
  • Rigorous approach to software design, development, and testing
  • Solid understanding of asynchronous programming and concurrency patterns
  • Strong written and verbal communication skills
  • Productive collaborating remotely and highly motivated
  • Familiarity with Linux as a development and deployment platform
  • Proven ability to deliver robust code to production
  • Bachelor's or equivalent in Computer Science, STEM or similar degree
Good to have:
  • 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
  • Experience developing and deploying on a Ubuntu/Debian system

Job Details

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 

Similar Jobs

Coda - Senior/Staff Full Stack Engineer

Coda

Taipei City, Taiwan (Hybrid)
2 Years ago
WebTech Corporation - Lead SW Engineer – Embedded SW

WebTech Corporation

Bengaluru, Karnataka, India (On-Site)
5 Days ago
Qualcomm - IOT Software Engineer

Qualcomm

San Diego, California, United States (On-Site)
5 Days ago
GameChanger  - Staff Backend Engineer, Video Enablement

GameChanger

United States (Remote)
1 Month ago
prizepicks - Senior Data Science Engineer

prizepicks

Atlanta, Georgia, United States (Hybrid)
2 Weeks ago

Get notifed when new similar jobs are uploaded

Similar Skill Jobs

Canonical - Containerization & Virtualisation Engineer

Canonical

(Remote)
1 Week ago
Rivos - Software Compiler - Full Time

Rivos

United States (Hybrid)
6 Months ago
ZeniMax Media - Senior Application Security Engineer

ZeniMax Media

Rockville, Maryland, United States (On-Site)
1 Week ago
Google - Software Engineer III, Core

Google

Bengaluru, Karnataka, India (On-Site)
4 Weeks ago
The Walt Disney Company - Sr Software Engineer (Rust Developer)

The Walt Disney Company

Charlotte, North Carolina, United States (On-Site)
6 Months ago
ByteDance - Software Developer (Routing Verification & Emulation)

ByteDance

Seattle, Washington, United States (On-Site)
1 Month ago
ByteDance - Site Reliability Engineer - Data Infrastructure (San Jose)

ByteDance

San Jose, California, United States (On-Site)
6 Months ago
Microsoft - Engineering Manager

Microsoft

Redmond, Washington, United States (On-Site)
4 Weeks ago
Google - Software Engineering Manager II, Mobile (iOS), Core

Google

São Paulo, State Of São Paulo, Brazil (On-Site)
3 Weeks ago
Affinidi - Senior Staff Software Engineer, Decentralised Systems

Affinidi

Berlin, Berlin, Germany (Hybrid)
1 Week ago

Get notifed when new similar jobs are uploaded

Jobs in Worldwide

Looks like we're out of matches

Set up an alert and we'll send you similar jobs the moment they appear!

Similar Category Jobs

Looks like we're out of matches

Set up an alert and we'll send you similar jobs the moment they appear!