Graduate Software Engineer, Open Source and Linux
Canonical
Job Overview
Who's the hiring manager?
Sign up to PitchMeAI to discover the hiring manager's details for this job. We will also write them an intro email for you.

Job Description
About Canonical
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.
About the Role: Graduate Software Engineer, Open Source and Linux
We are hiring 2025 and 2026 Graduate Software Engineers into engineering teams around the world. As a global platform company we offer a wide range of software engineering challenges, in both open source products and commercial business systems. We have teams that work in a variety of languages, typically Python, Golang, Rust, C/C++, JavaScript and of course... Bash. We work from the very lowest levels of the Linux system - BIOS and boot loaders, firmware, kernel and drivers, all the way up to desktop applications and containers. We work on tiny devices like the Raspberry Pi and new RISC-V boards, all the way up to supercomputers, clouds and Kubernetes clusters. We work on compilers and toolchains, and we work on security, cryptography, performance and documentation. Some of our teams focus on packaging thousands of pieces of software, others focus on deep contributions to a single body of code.
If you are excited about the potential that open source has for humanity and the enterprise, you have outstanding results in your academic career, and you are excited to contribute to the open source stack, this is the best way to apply to Canonical. We will work with you to identify teams and projects that would be interesting and a good fit for your skills and motivations. The process is highly competitive, it will require effort and excellence to succeed if you apply here.
Most of our engineering teams work from home. We try to align a single team in a single time zone - EMEA (Europe, Middle East and Africa), APAC (Asia Pacific and Indian Ocean), and AMER (North, South and Central Americas). Even though you work from home, we try to ensure you always have colleagues alongside to coach and mentor you, and for the companionship of shared problem solving and pair programming. Larger projects have multiple teams and might span the globe. We work with the open source community and specialize in building teams that work well in the 'fishbowl' of open source engineering. This is full time work, five days a week, often solving hard problems with significant responsibility. We don't generally work weekends and nights and we do enjoy good holidays but we also expect productive and intense engagement Monday to Friday.
We bring all our engineering teams together in person twice a year for a deep 'sprint' with other teams to stimulate discussion and enable a wide range of career development paths. This is a fantastic way to demonstrate and develop your skill in software, learn about a wide range of technologies, make a meaningful impact to open source, and see some very interesting new cities that you might never otherwise get to visit.
If you find the open source stack amazing, and you have been a consistent high-performing student in your school and university, then this will be a challenging and exciting start to your career.
Key Responsibilities
- Shaping the roadmap for your product at global sprints every six months
- Focusing on design and user experience, even for developer tooling and command line apps
- Writing high quality, resilient and performant code, potentially serving millions of demanding daily users
- Working towards mastery of key programming languages and Linux system knowledge
- Engaging with users and the open source community through code reviews and issue trackers
- Responding to customer issues as a priority, develop an understanding of enterprise requirements
- Developing skills and awareness of security in software design and implementation
What We Are Looking For
We seek candidates with an exceptional academic track record from both high school and university, coupled with a solid foundation in STEM disciplines. This role demands a proactive approach to software development, strong problem-solving abilities, and a commitment to continuous learning in an open source environment.
- Exceptional academic track record from both high school and university
- Undergraduate degree in Computer Science, Business Informatics, Mathematics or another STEM discipline with programming courses
- Confidence to get started and deliver high quality code in one of Python, Rust, C/C++, Golang, JavaScript or Java
- Experience with Ubuntu or another Linux distribution
- Track record of going above-and-beyond expectations to achieve outstanding results
- Result-oriented and organized, with the drive to meet commitments
- Personal projects in technology and software engineering beyond the curriculum
- Professional written and spoken English
- Excellent interpersonal skills, curiosity, flexibility, and accountability
- Personal responsibility and accountability
- Thoughtfulness, self-awareness and the ability to reflect and develop
- Ability to travel internationally twice a year for company events up to two weeks long
Nice-to-Have Skills
- Upstream open source contributions
- Packaging and Linux distribution contributions - Debian, Fedora, Arch, Nix or another
- Leadership and organization skills
- Presentation and writing skills
- Business and commercial interests
What We Offer Colleagues
Canonical values its team members and offers a comprehensive benefits package designed to support a global, distributed workforce. We believe in competitive compensation, professional growth, and a positive work-life balance.
- 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
Key skills/competency
- Open Source
- Linux
- Software Engineering
- Python
- Go/Golang
- Rust
- C/C++
- JavaScript
- Ubuntu
- System Knowledge
- Security in Software
- Distributed Systems
How to Get Hired at Canonical
- Research Canonical's culture: Study their mission, values, recent news, and employee testimonials on LinkedIn and Glassdoor.
- Tailor your resume for open source excellence: Highlight academic achievements, personal projects, and any Linux/Ubuntu experience.
- Showcase passion for open source: Emphasize contributions or involvement in open source communities, even personal ones.
- Prepare for technical depth: Expect questions on data structures, algorithms, and practical programming in Python, C/C++, Rust, or Go.
- Demonstrate global collaboration skills: Be ready to discuss how you thrive in a remote, distributed team environment and communicate effectively.
Frequently Asked Questions
Find answers to common questions about this job opportunity
Explore similar opportunities that match your background