Canonical - We deliver open source to the world faster, more securely, and more cost-effectively than any other company. We develop Ubuntu, the world’s most popular enterprise Linux from cloud to edge, together with a passionate global community of 200,000 contributors. Ubuntu means 'humanity to others. We chose it because it embodies the generosity at the heart of open source, the new normal for platforms and innovation. Together with a community of 200,000, we publish an operating system that runs from the tiny connected devices up to the world's biggest mainframes, the platform that everybody uses on the public cloud, and the workstation experience of the world's most productive developers. Secure and reliable, elegant and intuitive, and open for innovation - Ubuntu is the future of open source, which is why it's the fastest-growing Linux in the world despite already being the most widely deployed.
As a software engineer on the team, you'll be contributing to the development of Juju, a large open-source Go project that powers complex distributed software systems across the world.
Juju is the engine behind model-driven operations, providing a means to operate complex software on public cloud, private cloud, Kubernetes, and bare-metal. Combined with the Ops framework, Juju provides a complete solution for applications and infrastructure management.
Many internal and external teams depend on Juju to deliver their products and services - from Canonical Managed Solutions, our OpenStack and cloud delivery teams, to Fortune 500 companies.
Responsibilities
What your day will look like:
Contribute to the design, delivery, and support of features in a highly concurrent, highly distributed system that drives cloud automation and software operations at scale.
Collaborate proactively with a distributed team
Debug issues and interact with upstream communities publicly
Work with helpful and talented engineers including experts in many fields
Discuss ideas and collaborate on finding good solutions
Work from home with global travel for 2 to 4 weeks per year for internal and external events
What we are Looking for in you
Experience developing software using Go.
Excellent communication skills in the English language, both verbal and written, especially in online environments
An exceptional academic track record from both high school and preferably university
Willingness to travel up to 4 times a year for internal events
Additional Skills that you Might also Bring:
The following skills may be helpful to you in the role, but we don't expect everyone to bring all of them:
Hands-on experience developing highly concurrent distributed systems
Experience with container technologies (Docker, LXD, Kubernetes, etc.)
Solid networking background and experience
Experience with agile software development methodologies
Experience in the Linux and open-source software world
Experience with configuration management software (Ansible, Chef, Puppet, et al.)
Working knowledge of cloud computing
Experience with software packaging (Debian, snaps)
Programming with, and operating, SQL and NoSQL databases
Experience working on a distributed team on an open source project -- even if that is community open source contributions.
Demonstrated track record of Open Source contributions
Prior experience developing plugins for Terraform
Benefits
We consider geographical location, experience, and performance in shaping compensation worldwide. We revisit compensation annually (and more often for graduates and associates) to ensure we recognise outstanding performance. In addition to base pay, we offer a performance-driven annual bonus. We provide all team members with additional benefits, which reflect our values and ideals. We balance our programs to meet local needs and ensure fairness globally.
Distributed work environment with twice-yearly team sprints in person - we’ve been working remotely since 2004!
Personal learning and development budget of USD 2,000 per year
Annual compensation review
Recognition rewards
Annual holiday leave
Maternity and paternity leave
Employee Assistance Programme
Opportunity to travel to new locations to meet colleagues from your team and others
Priority Pass for travel and travel upgrades for long haul company events