Are you applying to the internship?
Job Description
Junior Engineer | Canonical
The Tone:
This is an early career position at Canonical, available remotely across all time zones, reflecting the company’s pioneering global distributed collaboration model. Canonical is a leading provider of open source software and operating systems, with its Ubuntu platform foundational to enterprise initiatives like public cloud, data science, AI, engineering innovation, and IoT for global industry leaders. This role within the Ubuntu Engineering organization is critical for enhancing the quality, performance, and resilience of the Ubuntu operating system. Junior Engineers will contribute to designing, engineering, packaging, integrating, testing, and shipping the extensive catalog of open source software that constitutes Ubuntu. You will play a part in integrating the freshest open source software, providing robust upgrade paths, and engineering the future of a platform that enables innovation for millions worldwide.
The TL;DR
• Role: Early Career
• Type: Full-time
• Location: Remote
• Team: Ubuntu Engineering organization
• Mission: Contribute to the design, development, packaging, and maintenance of Ubuntu, integrating open source software and ensuring its health and evolution.
• Tech Stack: Rust, Go, Python, Flutter, C/C++
What You’ll Actually Do
• Develop: Design, build, and ship new foundational systems software and applications using languages like Rust, Go, Flutter, or Python.
• Engineer: Engineer the integration of open source components, ranging from boot firmware to cloud application deployments.
• Package: Apply Debian and Snap packaging techniques to ship software effectively within the Ubuntu distribution.
• Automate: Build and maintain automation machinery responsible for the efficient building, testing, and shipping of Ubuntu.
• Maintain: Debug issues, design and deliver robust solutions, and contribute to the ongoing maintenance and evolution of the Ubuntu distribution and its repositories.
The Must-Haves
• Background: Early career engineer or new graduate with an exceptional academic track record from high school and university, holding an undergraduate degree in Computer Science or a STEM field, or presenting a compelling alternative path to this qualification.
• Experience: Demonstrated experience with at least one of Rust, Go, Python, Flutter, or C/C++, exhibiting a track record of initiative and going above and beyond expectations, alongside the ability to travel for company events up to two weeks, twice annually.
• Skills: Professional fluency in written and spoken English, excellent communication and interpersonal skills, and a deep passion for open source software.
• Bonus: Familiarity with Linux distributions, system debugging tools and techniques, automation tooling, CI/CD systems, or prior contributions to open source projects.