Canonical
System Software Engineer - GCC/LLVM compiler, tooling, and ecosystem
Job Summary
Canonical is hiring a System Software Engineer to work on GCC/LLVM compiler, tooling, and the ecosystem within the Ubuntu operating system. The role involves developing and integrating compiler runtimes, tooling, and supporting features to enhance the developer experience on Ubuntu, especially for modern C and C++ programming. Candidates should have experience with Linux distributions, packaging for Debian and Ubuntu, and a passion for open source and compiler development. The position offers opportunities to collaborate with distributed teams, contribute to critical open source toolchains, and influence Ubuntu's performance and security across various environments.
Required Skills
Benefits
Job Description
Canonical is a leading provider of open source software and operating systems to the global enterprise and technology markets. Our platform, Ubuntu, is very widely used in breakthrough enterprise initiatives such as public cloud, data science, AI, engineering innovation, and IoT. Our customers include the world's leading public cloud and silicon providers, and industry leaders in many sectors. The company is a pioneer of global distributed collaboration, with 1200+ colleagues in 75+ countries and very few office-based roles. Teams meet two to four times yearly in person, in interesting locations around the world, to align on strategy and execution.
The company is founder-led, profitable, and growing.
We are hiring a System Software Engineer for GCC/LLVM compiler, tooling, and ecosystem
We are building a team to focus on the modern C and C++ programming language and their ecosystem on Ubuntu. They will deliver the best possible GCC and LLVM runtimes, developer experience and supporting tooling in Ubuntu. They will ensure that the cutting edge of modern programming languages innovation is available to Ubuntu users, to lay the foundation for future inventions and open source communities.
This is an exciting opportunity for a software engineer with a strong passion for compilers, runtimes and tool chains. You will have excellent competencies in modern C/C++, Linux distributions, software architectures and open source software. Come build a rewarding, meaningful career working with the best and brightest people in open source technology at Canonical, a growing international software company and make Ubuntu the best operating system to develop and run C/C++ applications in the cloud, in datacenters, in containers, directly on the operating system, and anywhere Ubuntu can run.
The Ubuntu Foundations Team delivers the core Ubuntu system, the base for the entire Ubuntu family of products and services. Ubuntu strives to deliver the latest-best free software components, in an easy to use and highly reliable form. We build on the technical excellence of keystone open source software like GNU and Debian and bring additional focus and shape to the solutions we offer the industry.
Part of the Ubuntu Foundations team, you will work on one of the most critical toolchains involved in the making of Ubuntu and the pillars of the modern software ecosystem. You will leverage your competencies and experience in C, C++ to make Ubuntu the best platform to develop, distribute and consume software built with GCC and LLVM. You will be passionate about the future of C, C++, of Ubuntu, mindful of the dynamics of the open-source ecosystem, and equally aware of the needs of large but innovative organizations. You will drive the best in class integration in Ubuntu from desktop to cloud in a secure, reliable, performing, efficient and future-proof fashion.
You will be discussing design with other team members , mentor less senior engineers, and participate in code reviews and design reviews. You will also be working with other teams to ensure architecture decisions improve the overall performance and experience of Ubuntu. Your role as part of the Ubuntu Foundations team will have an impact on every aspect of Ubuntu from Desktop, Server, Ubuntu Core and also cloud images.
Location: This role will be based remotely in the EMEA region
The role entails
- Collaborate proactively with a distributed team
- Select, integrate and package best-of-breed tooling with Ubuntu to improve developer and operator experience with GCC and LLVM
- Write high-quality code to create new features
- Debug issues and produce high-quality code to fix them
- Review code produced by other engineers
- Discuss ideas and collaborate on finding good solutions
- Work from home with global travel 2 to 4 weeks a year for internal and external events
What we are looking for in you
- You have relevant GCC or LLVM experience, ideally in the world of cloud-native software and Linux
- You have experience in packaging software for Debian and Ubuntu
- You are a long-time Linux user
- Exceptional academic track record from both high school and university
- Undergraduate degree in a technical subject or a compelling narrative about your alternative chosen path
- You love technology and working with brilliant people
- You are passionate, curious, flexible, articulate, and accountable
- You value soft skills and are passionate, enterprising, thoughtful, and self-motivated
- Ability to travel internationally twice a year for company events up to two weeks long
What we offer colleagues
We consider geographical location, experience, and performance in shaping compensation worldwide. We revisit compensation annually (and more often for graduates and associates) to ensure we recognize outstanding performance. In addition to base pay, we offer a performance-driven annual bonus or commission. We provide all team members with additional benefits which reflect our values and ideals. We balance our programs to meet local needs and ensure fairness globally.
- Distributed work environment with twice-yearly team sprints in person
- Personal learning and development budget of USD 2,000 per year
- Annual compensation review
- Recognition rewards
- Annual holiday leave
- Maternity and paternity leave
- Team Member Assistance Program & Wellness Platform
- Opportunity to travel to new locations to meet colleagues
- Priority Pass and travel upgrades for long-haul company events
About Canonical
Canonical is a pioneering tech firm at the forefront of the global move to open source. As the company that publishes Ubuntu, one of the most important open-source projects and the platform for AI, IoT, and the cloud, we are changing the world of software. We recruit on a global basis and set a very high standard for people joining the company. We expect excellence; in order to succeed, we need to be the best at what we do. Most colleagues at Canonical have worked from home since our inception in 2004. Working here is a step into the future and will challenge you to think differently, work smarter, learn new skills, and raise your game.
Canonical is an equal opportunity employer
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
Canonical
Canonical makes open source secure, reliable and easy to use, providing support for Ubuntu and a portfolio of enterprise-grade technologies. Founded in 2004, Canonical operates globally with team members in over 80 countries.
See more jobsSafe Remote Job Search Tips
Verify Employer Thoroughly
Research the company's identity thoroughly before applying. Check for a professional website with contacts, active social media, and LinkedIn profiles. Verify details across platforms and look for reviews on Glassdoor or Trustpilot to confirm legitimacy.
Never Pay to Get a Job
Legitimate employers never require payment for applications, training, background checks, or equipment. Always reject upfront payment requests or demands for bank details, even if they claim it's for purchasing necessary work gear on your behalf.
Safeguard Your Personal Information
Protect sensitive data like SSN, bank details, or ID copies. Share this only after accepting a formal, written job offer. Ensure it's submitted via a secure company system or portal, never through insecure channels like standard email attachments.
Scrutinize Communication & Interviews
Watch for communication red flags: poor grammar, generic emails (@gmail), vague details, or undue pressure. Be highly suspicious of interviews held only via text or chat apps; legitimate companies typically use video or phone calls.
Beware of Unrealistic Offers
If an offer's salary or benefits seem unrealistically high for the work involved, be cautious. Research standard pay for similar roles. Offers that appear 'too good to be true' are often scams designed to lure you into providing information or payment.
Insist on a Formal Contract
Always secure and review a formal, written job offer or employment contract before starting work or sharing final personal details. Ensure it clearly defines your role, compensation, key terms, and conditions to avoid misunderstandings or scams.