Juju Software Engineer (Go)
Juju Software Engineer (Go)

Juju Software Engineer (Go)

Edinburgh Full-Time 36000 - 60000 £ / year (est.) No home office possible
C

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

Canonical is an exceptional employer that champions a remote-first work culture, allowing you to collaborate with talented engineers from around the globe while enjoying the flexibility of working from home. With a strong commitment to employee growth, we offer a generous annual learning and development budget, performance bonuses, and comprehensive benefits, all while fostering an inclusive environment that values diverse perspectives. Join us in shaping the future of open source software and enjoy unique travel opportunities to connect with your team in inspiring locations worldwide.
C

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)

Proficiency in Go programming language
Experience with concurrent distributed systems
Knowledge of container technologies (Docker, LXD, Kubernetes)
Strong understanding of networking concepts
Familiarity with agile methodologies
Experience with Linux and open-source software
Proficiency in configuration management tools (Ansible, Chef, Puppet)
Understanding of cloud computing principles
Experience with software packaging (Debian, snaps)
Knowledge of databases (SQL, NoSQL)
Experience contributing to open source projects
Prior experience developing Terraform plugins
Excellent communication skills in English, both verbal and written
Ability to collaborate proactively with a distributed team
Problem-solving skills

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.

Juju Software Engineer (Go)
Canonical
Location: Edinburgh

Land your dream job quicker with Premium

You’re marked as a top applicant with our partner companies
Individual CV and cover letter feedback including tailoring to specific job roles
Be among the first applications for new jobs with our AI application
1:1 support and career advice from our career coaches
Go Premium

Money-back if you don't land a job in 6-months

C
Similar positions in other companies
UK’s top job board for Gen Z
discover-jobs-cta
Discover now
>