
C++ Graphics and Windowing System Software Engineer - Mir
Remote
London, United Kingdom
Full Time
04-04-2025
Job Specifications
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.
About the Company
We deliver open source to the world faster, more securely and more cost effectively than any other company. We're also the publishers of 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... Know more
Related Jobs


- Company Name
- PetLab Co.
- Job Title
- Python Developer
- Job Description
- Title: Midweight Python Engineer Location: Remote in the UK Position: Permanent About Petlab Co. PetLab Co. is the world’s fastest-growing pet supplement business. Launching in 2018, we successfully achieved a 9-figure revenue in 2022 without any external funding. We have a loyal community of loving pet parents and over 1.5 million happy dogs whose lives have been positively impacted by our innovative products. Our team is vibrant, fast-moving, and customer-driven where high-performers are valued and rewarded. And it is the ideal place for an ambitious, hardworking, animal lover who wants to progress their career rapidly. A Day In The Life… Reporting in to our Lead Software Engineer you’ll be joining a small but highly productive team of talented engineers working on a platform transformation. Petlab is moving from its monolithic legacy tech stack to Python and microservices via a full platform rebuild. This is a great opportunity to do some exciting work from the ground up in a super-fast moving and highly successful industry leading brand. This role will focus on web application development for an ecommerce system, undertaking the business logic and backend APIs for the customer facing website, internal tools and recurring billing system. The role offers a great opportunity to learn with a structured career path and plenty of flexibility through remote working.We move and think fast so it’s important that you are able to thrive in a fast-paced environment and are happy to roll up your sleeves to do whatever it takes to support the team in every way possible. There’s opportunity to have impact with lots of autonomy in a great team. If that sounds exciting - we would love you to join our pack! Your day to day will look a little bit like this… Daily stand-up and peer reviews Developing high quality, tested and scalable Python microservices for AWS Collaborating with the tech lead to and recommending technical solutions that satisfy functional and non-functional needs Championing and sharing best practices to improve team and code over time Informing others of blockers and communicate technical limitations or implementation What You Need… 3+ years working as an engineer on related backend technology (Python, SQL etc) Experience building quality, and highly scalable backend systems Excellent understanding and experience of programming languages and paradigms Enthusiastic self starter that will be able to work in a fast paced environment Proven ability to quickly build and maintain authentic relationships and trust with individuals with excellent communication skills Any additional experience with the following tech would be advantageous: IAC, Microservices, API Gateway, Lambda, Terraform and AWS Cloud Our Tech Stack Python SQL IAC Microservices API Gateway Lambda Terraform AWS Cloud Benefits... Private Health Care through Vitality Generous Annual Leave - 28 days + public and bank holidays Flexible Working Hours – We focus on results and trust people to manage their time, whether working from home, while travelling, or in the office! Help@Hand – Employee Assistance Programme Nursery Salary Sacrifice Scheme Royal London Pension Scheme – We offer a workplace pension scheme with one of the UK’s leading providers of group pensions. With an employer contribution of 5%! Enhanced Maternity / Paternity / Adoption Leave – because time with new family members is important! Puppy Therapy – working in partnership with Paws in Work to provide a boost of oxytocin twice a year. Generous Learning and development budget – We always want you to keep learning. Free breakfast, fruits and snacks – refuel and revitalise with free munchies in the office. Working Environment – dogs are welcome! Life Assurance – In the event of your death, while employed by us, your chosen beneficiaries will be provided with a tax-free lump sum equivalent of four times your basic salary. Gympass – All in one subscription bringing you the largest selection of gyms, studios and apps. Electric Vehicle Scheme – Employees sacrifice salary in return for a new electric car, typically saving 30-40% of costs through income and tax and national insurance. Give Back Day – An extra day off in the year to volunteer plus a £50 contribution to your chosen charity. Health Cash Benefit – We offer the bronze package with enables you to claim a certain amount of cashback when you pay for something that is health related, i.e dental. Petlab Co is an equal opportunity employer that is committed to diversity and inclusion. We encourage all applications irrespective of gender, race, sexual orientation, religion, age, nationality, marital status, and disability. We believe that diversity is at the heart of innovation and we welcome passionate candidates from all backgrounds. Come join the family and see for yourself!


- Company Name
- Job Title
- Software Engineer II, Full Stack, Google Ads
- Job Description
- Minimum qualifications: Bachelor’s degree or equivalent practical experience. 1 year of experience with software development in one or more programming languages (e.g., Python, C, C++, Java, JavaScript). 1 year of experience with data structures or algorithms. 1 year of experience with full stack development, across back-end such as Java, Python, GO, or C++ codebases, and front-end experience including JavaScript or TypeScript, HTML, CSS or equivalent. Preferred qualifications: 1 year of experience with software development in one or more programming languages (e.g., Python, C, C++, Java, JavaScript). Experience developing accessible technologies. Experience in frontend development or data processing. About The Job Google's software engineers develop the next-generation technologies that change how billions of users connect, explore, and interact with information and one another. Our products need to handle information at massive scale, and extend well beyond web search. We're looking for engineers who bring fresh ideas from all areas, including information retrieval, distributed computing, large-scale system design, networking and data storage, security, artificial intelligence, natural language processing, UI design and mobile; the list goes on and is growing every day. As a software engineer, you will work on a specific project critical to Google’s needs with opportunities to switch teams and projects as you and our fast-paced business grow and evolve. We need our engineers to be versatile, display leadership qualities and be enthusiastic to take on new problems across the full-stack as we continue to push technology forward. Google Ads is helping power the open internet with the best technology that connects and creates value for people, publishers, advertisers, and Google. We’re made up of multiple teams, building Google’s Advertising products including search, display, shopping, travel and video advertising, as well as analytics. Our teams create trusted experiences between people and businesses with useful ads. We help grow businesses of all sizes from small businesses, to large brands, to YouTube creators, with effective advertiser tools that deliver measurable results. We also enable Google to engage with customers at scale. Responsibilities Contribute to the design process, eventually writing your own design documents. Learn the technologies used by the team (ST-Spanner, ST-Query, Spanner, Geyser, F1, BigTable, Java, Flume, AngularDart etc). Provide support to each other and share knowledge. Join working-hours rotations within the team and in the larger AdSense (e.g., buildcop) and help maintain our infrastructure. Support other teams and lead investigations/explorations on cross-stack issues or feature requests. Google is proud to be an equal opportunity workplace and is an affirmative action employer. We are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability, gender identity or Veteran status. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. See also Google's EEO Policy and EEO is the Law. If you have a disability or special need that requires accommodation, please let us know by completing our Accommodations for Applicants form .


- Company Name
- Net2Source Inc.
- Job Title
- Java Developer
- Job Description
- About Us:- Net2Source Inc. is one of the fastest growing diversity certified global workforce solutions companies with an unprecedented YoY growth of over 100% for last 6 years working with Fortune 1000/Global 2000 across 34 countries and 5 continents including North America, South America, Europe, Asia, Australia and Middle East. About the Role: Java Developer Burgess Hill, UK/Hybrid 3 days at office in a week FTE 12 Months Job Description: Key Responsibilities: Building software to expected quality and standards using distributed enterprise frameworks Participating in code test other quality reviews Debugging basic software components and identify code defects for remediation Enabling the deployment support and monitoring of software across test integration and production environments Automating deployments in test and production environments Scaling applications based on demand projections Minimum Qualifications Education Experience: Up to 4 years of software development experience in a professional environment andor comparable experience with the following Must have good working knowledge in Java 8 and above experience with Java 11 and Java 17 is a plus Must have a min of 1 year experience with GoLang language Must have good working knowledge with Spring Boot for service development Must have good working knowledge with Kafka and its integrations Must have good working knowledge in both SQL and NoSQL databases like Oracle PostgreSQL Couchbase Cassandra etc 5 years of experience in the abovementioned technologies Good to have knowledge in reactive programming like VertX or any other Good to have working knowledge with testing frameworks like Cucumber for BDDs JMeter for performance testing Must have a basic knowledge and understanding of tools like Jenkins Deployments SplunkKibanaGrafana GitHub Must have knowledge on the microservice based application development Good to have knowledge in developing and managing applications with higher transactions per second and high availability Having knowledge in caching mechanisms is a plus Good to having experience of working in Agile projects Technical certifications in the above skillset will be an added advantage Intermediate knowledge of infrastructure technologies and components familiarity with Cloud computing Experience with EventdrivenMicroservices architecture for highavailabilitydistributed systems Experience using Spring Framework Junit GitHub Microservices Splunk and APIs Experience with Test driven development and unit testing frameworks Proficient understanding of code versioning tools such as GIT and code build tools like IntelliJ Redhat JBoss etc including DevOps concepts an CICD tools University Degree in computer science computer engineering or equivalent experience


- Company Name
- Teya
- Job Title
- Principal Software Engineer (AI/ML)
- Job Description
- Hello! We're Teya. Teya is a payment and software service provider, headquartered in London serving small, local businesses across Europe. Founded in 2019, we build easy to use, integrated tools that enable our members to accept payments and boost business performance. At Teya we believe small, local businesses are the lifeblood of our communities. We’re here because we don’t believe there’s a level playing field that gives small businesses with a fighting chance against the giants of the high street. We’re here because we see banks and legacy service providers making things harder for them. We don’t think the best technology or the best service should be reserved for those with the biggest headquarters. We’re here to fight for a future where small, local businesses can thrive, and to commit the same dedication they offer all of us. Become a part of our story. We’re looking for exceptional talent to join our mission. We offer a chance to create impact in a high-energy and connected culture, while benefiting from continuous learning opportunities, a supportive community which is proud to serve our mission, and comprehensive benefits. Your Mission You will lead development to massively scale onboarding, due diligence, and ongoing monitoring of Teya customers. Design, implement, and operate customer experiences, complex workflows, and operational task management applications to enable multiple order of magnitude growth. Introduce and invent ML and AI solutions to automate complex tasks and invert the human-machine initiative. You will work with a diverse team to help shape the future of our technology. You will be part of the whole feature development lifecycle on multiple full-stack applications with direct access to a wealth of customer feedback. You will use technologies such as Java, Kotlin, React, and Python to write maintainable, performant, and high-quality code. We focus on continuous deployment and iterative delivery, well-tested to ensure our code runs reliably, allowing you to focus on delivering value to merchants in a fluid manner. As a Principal Software Engineer, You Will Take responsibility for the success of the most important projects in the company. Solve highly complex challenges with simple solutions, often where neither the business problem nor technology strategy is well defined. Be a significant hands-on contributor, delivering code contributions that demonstrate best practices and set a high quality bar on a regular basis. Work with a community of Principal Engineers and tech leaders to be a key influencer for strategic tech decisions, Continually evolve our engineering practices using data insights and industry knowledge. Mentor and coach other engineers, fostering their professional growth of the most senior technical people. Lead design reviews for complex software projects and/or critical features, probing assumptions, illuminating pitfalls, and fostering shared understanding. Your Story 8+ years of professional software development experience. 2+ years of professional software development experience with Artificial Intelligence, Computer Vision, or related field. Ability to solve problems in code using data structures and algorithms and be able to analyze the time and space complexity of those solutions. Proven ability to document and communicate technical decisions to a diverse audience. Professional experience leading design or architecture (design patterns, reliability, scaling) of multiple new and existing systems. Professional experience growing peer engineers through mentorship and guidance. Ability to work with problems of extreme ambiguity and lead others through ambiguous situations. The Perks We trust you, so we offer flexible working hours, as long it suits both you and your team; Physical and mental health support through our partnership with GymPass giving free access to over 1,500 gyms in the UK, 1-1 therapy, meditation sessions, digital fitness and nutrition apps; Our company offers extended and improved maternity and paternity leave choices, giving employees more flexibility and support; Cycle-to-Work Scheme; Health and Life Insurance; Pension Scheme; 25 days of Annual Leave (+ Bank Holidays); Office snacks every day; Friendly, comfortable and informal office environment in Central London.