Senior Juju Software Engineer

Job Description

As a senior software engineer, you’ll play a vital role within the team, spearheading process enhancements, aiding the manager in team management, mentoring less experienced colleagues, and taking charge of various functional areas from conceptualization to ongoing support and maintenance.

Juju serves as the driving force behind model-driven operations, facilitating the operation of intricate software across various platforms including public cloud, private cloud, Kubernetes, and bare-metal. Coupled with the Ops framework, Juju offers a comprehensive solution for managing applications and infrastructure.

Numerous internal and external teams rely on Juju for their product and service deliveries, ranging from Canonical Managed Solutions and OpenStack/cloud delivery teams to Fortune 500 companies.

Location: This position is fully remote.

Your typical day will involve:

  • Leading the design, implementation, and maintenance of features in a highly concurrent and distributed system pivotal for cloud automation and software operations on a large scale.
  • Actively collaborating with a distributed team.
  • Troubleshooting issues and engaging with upstream communities publicly.
  • Working alongside skilled engineers across various domains.
  • Engaging in discussions and collaborative problem-solving.
  • Mentoring and nurturing less experienced team members, actively contributing to the development of an exceptional engineering team.
  • Working remotely with occasional global travel (2 to 4 weeks per year) for internal and external events.

We’re seeking candidates with:

  • Demonstrated expertise in professional software development using Go.
  • Hands-on experience in developing highly concurrent distributed systems.
  • Strong communication skills in English, both verbal and written, particularly in online settings.
  • Outstanding academic background from high school and preferably university.
  • Familiarity with agile software development methodologies.
  • Willingness to travel up to four times annually for internal events.

Additional skills that could be beneficial include:

  • Proficiency in container technologies (e.g., Docker, LXD, Kubernetes).
  • Experience in low-level programming languages like C, C++, or Rust.
  • Solid networking knowledge and experience.
  • Familiarity with the Linux and open-source software ecosystem.
  • Experience with configuration management tools (e.g., Ansible, Chef, Puppet).
  • Understanding of cloud computing principles.
  • Strong emphasis on software quality and testing.
  • Experience with packaging (e.g., Debian, snaps).
  • Proficiency in SQL and NoSQL databases.
  • Background in contributing to open-source projects.
  • Prior experience in developing Terraform plugins.

What we offer:

  • Competitive compensation based on geography, experience, and performance, with annual reviews.
  • Remote work environment with biannual in-person team gatherings.
  • Personal learning and development budget of USD 2,000 annually.
  • Recognition rewards.
  • Annual holiday leave and parental leave benefits.
  • Employee Assistance Programme.
  • Opportunities for global travel to meet colleagues.
  • Priority Pass for travel and upgrades during company events.

About Canonical:

Canonical is a leading tech company driving the global shift towards open source. As the publisher of Ubuntu, a key open-source project and a prominent platform for AI, IoT, and the cloud, we are reshaping the world daily. We recruit globally and set high standards for our hires, expecting excellence as we strive to be the best in our field.

Canonical has embraced remote work since its establishment in 2004. Working with us is a glimpse into the future, challenging you to innovate, learn, and excel. We value diversity and provide equal opportunities to all applicants, fostering an inclusive workplace where varied experiences and backgrounds contribute to better products and environments.