At a Glance
- Tasks: Join us as a Software Engineer to enhance Juju, our open-source project in Go.
- Company: Canonical leads in open source software, powering global enterprises with Ubuntu.
- Benefits: Enjoy remote work, a $2,000 learning budget, and comprehensive benefits.
- Why this job: Be part of a pioneering team driving cloud automation and innovation worldwide.
- Qualifications: Experience in Go programming and strong communication skills are essential.
- Other info: Work remotely with occasional global travel for team events.
The predicted salary is between 36000 - 60000 £ per year.
Join to apply for the Juju Software Engineer (Go) role at Canonical. Canonical is a leading provider of open source software and operating systems to the global enterprise and technology markets. Our platform, Ubuntu, is widely used in enterprise initiatives such as public cloud, data science, AI, engineering innovation, and IoT. Our customers include top public cloud and silicon providers, as well as industry leaders across sectors. We are a pioneer in global distributed collaboration, with 1200+ colleagues in 75+ countries and few office-based roles. Teams meet 2-4 times annually in interesting locations worldwide to align on strategy and execution. We are founder-led, profitable, and growing.
Role Overview
We are hiring a Software Engineer to contribute to Juju, a large open-source project written in Go that powers complex distributed systems globally. Juju enables model-driven operations for managing applications and infrastructure across public cloud, private cloud, Kubernetes, and bare-metal environments. Many internal and external teams depend on Juju, including Canonical Managed Solutions, OpenStack, cloud delivery teams, and Fortune 500 companies.
Location
This is a globally remote role.
Responsibilities
- Contribute to designing, delivering, and supporting features in a highly concurrent, distributed system that drives cloud automation and software operations at scale.
- Collaborate proactively with a distributed team.
- Debug issues and engage with upstream communities publicly.
- Work with talented engineers, including experts in various fields.
- Discuss ideas and collaborate on solutions.
- Work from home with global travel for 2-4 weeks per year for internal and external events.
Qualifications
- Experience developing software using Go.
- Excellent communication skills in English, both verbal and written, especially online.
- Strong academic record from high school and preferably university.
- Willingness to travel up to 4 times a year for internal events.
Additional Skills (Optional)
- Experience with concurrent distributed systems.
- Knowledge of container technologies (Docker, LXD, Kubernetes, etc.).
- Networking expertise.
- Experience with agile methodologies.
- Linux and open-source software experience.
- Configuration management tools (Ansible, Chef, Puppet, etc.).
- Cloud computing familiarity.
- Software packaging (Debian, snaps).
- Database knowledge (SQL, NoSQL).
- Experience contributing to open source projects.
- Prior experience developing Terraform plugins.
What We Offer
- Remote work environment with biannual in-person team sprints.
- USD 2,000 annual learning and development budget.
- Annual compensation review and performance bonuses.
- Comprehensive benefits including leave, parental leave, assistance programs, and travel opportunities.
About Canonical
Canonical is at the forefront of the open source movement, publishing Ubuntu, a key platform for AI, IoT, and cloud. We hire globally, uphold high standards, and value excellence. Since 2004, we have been a remote-first company, encouraging innovative thinking and continuous learning.
Equal Opportunity Statement
We are committed to fostering a diverse and inclusive workplace, providing equal opportunities regardless of background or identity.
Juju Software Engineer (Go) employer: Canonical
Contact Detail:
Canonical Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land Juju Software Engineer (Go)
✨Tip Number 1
Familiarise yourself with Go and its ecosystem. Since the role specifically requires experience in developing software using Go, brushing up on your Go skills and understanding its libraries will give you a solid foundation to discuss during interviews.
✨Tip Number 2
Engage with the Juju community. Contributing to open-source projects like Juju can showcase your skills and commitment. Join forums, attend meetups, or contribute code to demonstrate your passion for the project and your ability to collaborate with others.
✨Tip Number 3
Highlight your experience with distributed systems. Since the role involves working on complex distributed systems, be prepared to discuss any relevant projects or experiences that demonstrate your understanding of concurrency and cloud automation.
✨Tip Number 4
Prepare for remote collaboration. As this is a globally remote role, practice articulating your thoughts clearly in online discussions. Familiarise yourself with tools commonly used for remote teamwork to show you're ready to thrive in a distributed environment.
We think you need these skills to ace Juju Software Engineer (Go)
Some tips for your application 🫡
Understand the Role: Before applying, make sure you fully understand the responsibilities and qualifications for the Juju Software Engineer role. Familiarise yourself with Juju and its applications in distributed systems.
Tailor Your CV: Highlight your experience with Go and any relevant projects you've worked on, especially those involving distributed systems or open-source contributions. Make sure to showcase your communication skills and any experience with cloud technologies.
Craft a Compelling Cover Letter: Write a cover letter that reflects your passion for open source software and your understanding of Canonical's mission. Mention specific experiences that align with the job description and demonstrate your ability to collaborate in a remote environment.
Proofread Your Application: Before submitting, carefully proofread your CV and cover letter for any spelling or grammatical errors. A polished application reflects your attention to detail and professionalism.
How to prepare for a job interview at Canonical
✨Showcase Your Go Expertise
Make sure to highlight your experience with Go during the interview. Be prepared to discuss specific projects you've worked on, challenges you've faced, and how you overcame them. This will demonstrate your technical skills and problem-solving abilities.
✨Understand Juju and Its Ecosystem
Familiarise yourself with Juju and its role in managing distributed systems. Research how it integrates with cloud technologies and Kubernetes. Showing that you understand the product and its impact will impress the interviewers.
✨Emphasise Communication Skills
Since Canonical values excellent communication, be ready to showcase your verbal and written skills. Practice explaining complex technical concepts in simple terms, as you may need to collaborate with diverse teams across the globe.
✨Prepare for Collaborative Scenarios
Expect questions about teamwork and collaboration, especially in a remote setting. Think of examples where you've successfully worked with others to solve problems or deliver projects, as this aligns with Canonical's emphasis on proactive collaboration.