Junior Software Engineer

Posted 6 months ago

Are you applying to the internship?

Job Description

Junior Software Engineer | Canonical

The Tone:
This is an early career position at Canonical, a pioneering force in open source software, providing operating systems and platforms to global enterprise and technology markets. Its flagship product, Ubuntu, is a widely adopted platform powering breakthrough initiatives in public cloud, data science, AI, engineering innovation, and IoT. This role is crucial for integrating the freshest open source software, providing robust upgrade paths, and engineering the future of Ubuntu, transforming it from a deployed operating system into a dynamic platform that empowers innovation for millions of users globally.

The TL;DR
• Role: Early Career
• Type: Full-time
• Location: Remote

• Team: Ubuntu Engineering organization, comprising Foundations, Server, Desktop, and Debcrafters teams.
• Mission: To contribute to the design, engineering, packaging, integration, testing, and shipping of open source software for Ubuntu.
• Tech Stack: Rust, Go, Python, Flutter, C/C++

What You’ll Actually Do
• Development: Design, build, and ship new foundational systems software and applications using languages such as Rust, Go, Flutter, and Python, contributing to one of the most prolific pieces of open source software.
• Packaging: Utilize a combination of Debian and Snap packaging to effectively ship software within the distribution, integrating, testing, and uploading open source software to the Ubuntu repositories.
• Debugging: Debug complex issues found within the vast catalog of open source software, then design and deliver robust solutions to ensure quality, performance, and resilience.
• Documentation: Author and continuously improve technical and community documentation, fostering a thriving community around Ubuntu’s technologies.
• Contribution: Actively contribute to upstream and neighboring open source projects, engaging with and contributing to the broader open source community with enthusiasm and precision.

The Must-Haves
• Background: An early career professional with an exceptional academic track record from both high school and university. Requires an undergraduate degree in Computer Science or STEM, or a compelling narrative demonstrating an alternative path to equivalent expertise.
• Experience: Demonstrated drive and a track record of exceeding expectations. Possesses experience with at least one of the following languages: Rust, Go, Python, Flutter, or C/C++. This junior career path supports both new graduates and early-career engineers.
• Skills: Professional written and spoken English proficiency; excellent communication and interpersonal skills; ability to travel twice annually for company events, each lasting up to two weeks.
• Bonus: Familiarity with Linux distributions; familiarity with system debugging tools and techniques; familiarity with automation tooling and CI/CD systems; or experience contributing to open source projects.

Related Jobs

AI-enabled Builder Early CareerFull Time
Stripe
Posted 4 days ago In-person San Francisco, CA Software Development $120K - $180K / year