Are you applying to the internship?
Job Description
Junior Engineer, Ubuntu Engineering | Canonical
The Tone:
This is an early career role at Canonical, located remotely with opportunities across every time zone. Canonical is a leading provider of open source software and operating systems, with Ubuntu widely used in public cloud, data science, AI, and IoT initiatives globally. This role is crucial for integrating, packaging, and shipping the vast catalog of open source software that forms Ubuntu, ensuring its quality, performance, and resilience. Canonical is a founder-led, profitable, and growing company that champions global distributed collaboration, with teams meeting periodically in person around the world.
The TL;DR
• Role: Early Career
• Type: Full-time
• Location: Remote
• Team: Ubuntu Engineering organization, with potential placement in teams like Foundations, Server, Desktop, or Debcrafters.
• Mission: Design, build, package, integrate, test, and ship high-quality, performant, and resilient open source software for the Ubuntu platform.
• Tech Stack: Rust, Go, Flutter, Python, C/C++.
What You’ll Actually Do
• Develop: Design, build, and ship new foundational systems software and applications in languages such as Rust, Go, Python, and C/C++.
• Package & Integrate: Package, integrate, and test open source software into the Ubuntu repositories, engineering its seamless operation from boot firmware to cloud applications deployment.
• Maintain & Troubleshoot: Debug issues, then design and deliver robust solutions, contributing to the ongoing maintenance and evolution of the Linux distribution and its repositories.
• Automate & Document: Build and maintain the automation machinery responsible for building, testing, and shipping Ubuntu, while also authoring and improving technical and community documentation.
• Collaborate: Actively contribute to upstream and neighboring open source projects, fostering community growth and collaborating effectively as part of a globally distributed team.
The Must-Haves
• Background: An early career engineer with an exceptional academic track record from both high school and university, holding an undergraduate degree in Computer Science or STEM, or possessing a compelling alternative professional path.
• Experience: Demonstrated experience with at least one of Rust, Go, Python, Flutter, or C/C++, coupled with a drive and a track record of exceeding expectations.
• Skills: Professional written and spoken English, excellent communication and interpersonal skills, and a strong dedication to open source software.
• Bonus: Familiarity with Linux distributions, system debugging tools and techniques, automation tooling and CI/CD systems, or prior experience contributing to open source projects.