Graphics and Windowing System Software Engineer
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.
Responsibilities
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
How To Apply