Canonical - We deliver open source to the world faster, more securely, and more cost-effectively than any other company. We develop Ubuntu, the world’s most popular enterprise Linux from cloud to edge, together with a passionate global community of 200,000 contributors. Ubuntu means 'humanity to others. We chose it because it embodies the generosity at the heart of open source, the new normal for platforms and innovation. Together with a community of 200,000, we publish an operating system that runs from the tiny connected devices up to the world's biggest mainframes, the platform that everybody uses on the public cloud, and the workstation experience of the world's most productive developers. Secure and reliable, elegant and intuitive, and open for innovation - Ubuntu is the future of open source, which is why it's the fastest-growing Linux in the world despite already being the most widely deployed.
We are recruiting to fill the position below:
Job Title: C++ Graphics and Windowing System Software Engineer - Mir
Location: Lagos
Employment Type: Full-time
About the Job
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
Bachelor's Degree or equivalent in Computer Science, STEM or similar Degree
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.
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.