C++ Graphics and Windowing System Software Engineer - Mir

Canonical - Jobs
Charlotte, NC, US
Full-time

Job Description

Job Description

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

24 days ago
Related jobs
Promoted
Hoffman & Hoffman Inc
Charlotte, North Carolina

The Control System Design Engineer is responsible for the selection and creation of Building Automation System hardware design. Review and understand project mechanical, plumbing, and electrical plans, P&IDs, specifications, and customer requirements. Control System Design Engineer. Bachelors de...

Promoted
https:/www.pcrecruiter.net/sitemap.xml
Charlotte, North Carolina

CNA Search is currently searching for an experienced Software Engineer with Email system development experience to provide our organization and clients with a world class email platform and experience. Strong background and understanding not only of technical email flow but all facets of digital bus...

Promoted
DaVita Inc.
Charlotte, North Carolina

Consult on or participate in moderately complex initiatives and deliverables within Software Engineering and contribute to large-scale planning related to Software Engineering deliverables. Contribute to the resolution of moderately complex issues and consult with others to meet Software Engineering...

Promoted
Canonical - Jobs
Charlotte, North Carolina

We are seeking an experienced software engineer passionate about Linux systems, hardware architectures, Ubuntu, and the open source community, to join the Ubuntu Foundations Engineering team to maintain and enhance Ubuntu bootloader stack to provide fast, reliable and secure Ubuntu systems on all de...

Genesis10
Charlotte, North Carolina

Consult on complex initiatives with broad impact and large-scale planning for Software Engineering. Review and analyze complex multi-faceted, larger scale or longer-term Software Engineering challenges that require in-depth evaluation of multiple factors including intangibles or unprecedented factor...

Disney Entertainment & ESPN Technology
Charlotte, North Carolina

The right person for this role is highly motivated, collaborative, and technical, with the ability to coordinate across teams and empower both themselves and others in striving for and achieving excellence. We’re seeking a Senior Software Engineer who will be an outstanding addition to our JavaScrip...

Genesis10
Charlotte, North Carolina

Consult on complex initiatives with broad impact and large-scale planning for Software Engineering. Review and analyze complex multi-faceted, larger scale or longer-term Software Engineering challenges that require in-depth evaluation of multiple factors including intangibles or unprecedented factor...

Highmark Health
NC, Working at Home, N Carolina

We are seeking an experienced Software Engineer to join our AI Services and Platform team and drive the development of innovative AI (generative and predictive) based solutions for our enterprise stakeholders. The position, and team, will be involved in every aspect as part of the software applicati...

Genesis10
Charlotte, North Carolina

Consult on complex initiatives with broad impact and large-scale planning for Specialty Software Engineering. Review and analyze complex multi-faceted, larger scale, or longer-term Specialty Software Engineering challenges that require in-depth evaluation of multiple factors, including intangibles o...

Siox Tech LLC
Charlotte, North Carolina

Data Quality Engineer (This is not a Software/Systems QA tester role)Locations: Charlotte, NC, Dallas, TX (Hybrid), (3 days onsite/2 wfh) Duration: 12 months is the start, but extension to 24 months is possible Commercial Banking Lending Regulatory Reporting Quality Assurance QA Transactional Te...