Posted Aug 13, 2017
Fully remote

Juju is a Canonical sponsored open source project, written in Go, that facilitates the modeling and operation of the complex distributed software. Juju can deploy and manage software running on public clouds, private clouds, bare-metal servers or containers.

As a member of the Juju engineering team, you will design and implement new features for Juju as well as dealing with bugs. Juju is a large, complex distributed system that runs on a large number of platforms - there’s no shortage of interesting technical challenges! You will also be required to liaise with customer support and field engineers to help diagnose and fix field issues.

Applicants should be passionate about the future of the software defined datacenter, and about the ability for Juju and Open Source generally to define that future. Canonical is a globally distributed team of engineers who share that passion, and you will need to work well in that context. Engineers who thrive at Canonical are mindful of the dynamics of the open source ecosystem, and equally aware of the needs of large, innovative organizations.

This job involves international travel several times a year, usually for one week at a time.

Key responsibilities:

  • Work with a variety of languages to develop high-quality, extensible and reusable software.
  • Many internal and external teams depend on Juju to deliver their products and services - from Canonical Infrastructure Services, our Openstack and cloud delivery teams, to Fortune 500 companies. Each Juju team member needs to actively collaborate with these users to resolve problems and define new features.
  • Every member of the Juju team should show strong technical leadership in feature definition, feature delivery, code review, and backlog management.

Required skills and experience:

  • Proven track record of at least 5 years professional software delivery using Go, C, C++, Java, Python or similar.
  • Degree level education in a technology field
  • Experience with agile software development methodologies
  • Experience of the Linux and free software world
  • Working knowledge of cloud computing
  • Excellent communications skills in the English language, both verbal and written, especially in online environments such as mailing lists and IRC
  • Ability to effectively interact with a diverse group of people (both technical and non-technical)
  • Ability to be productive in a globally distributed team through self-discipline and self-motivation, delivering according to a schedule, and to motivate and mentor others to do the same
  • Software development and operational experience with databases

Desirable skills and experience:

  • Go programming language experience
  • Technical understanding of complex distributed systems
  • Delivery of scale-out service solutions
  • Experience with container technologies (Docker, LXD, Kubernetes, DC/OS etc)
  • Programming with and operating MongoDB
  • Exposure to devops/system administration
  • Experience working on a distributed team on an open source project -- even if that is outside work open source contributions.
  • Demonstrated track record of Open Source contributions

How to apply

Please apply via the official Canonical job listing: https://ldd.tbe.taleo.net/ldd03/ats/careers/requisition.jsp?org=CANONICAL&cws=1&rid=1278


Does this job really require Go skills? If not, please let us know so that we can keep the jobs all about Go.