Jump to main content

Engineering Manager - Go - Distributed Systems

Home Based - APAC

This is an exciting opportunity for an engineering leader passionate about open source software, Linux, and distributed systems. Come build a rewarding, meaningful career working with the best and brightest people in technology at Canonical, the growing international software company behind Ubuntu.

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

Juju is a large, complex distributed system that runs on a large number of platforms - there’s no shortage of interesting technical challenges! As an Engineering Manager for the Juju team you will be responsible for managing a high-performing engineering team, guiding and overseeing all the tasks involved in the development process. In this role you’ll be creating and maintaining a healthy team culture while encouraging and facilitating continuous improvement.

Key responsibilities

  • Organize and evolve a growing engineering team to optimise quality and velocity
  • Identify and measure team health indicators
  • Implement disciplined engineering process
  • Encourage product ownership and foster collaborative development across the entire team
  • Represent the Juju team with respect to stakeholders, customers, and external teams
  • Support the Product Manager in engineering matters pertaining to Juju
  • Ensure proper team focus on priorities, milestones, and deliverables
  • Deliver a quality product in a consistent timely manner

Required skills and experience

  • Degree level education, preferably in a technology field 
  • Proven track record of at least 5 years professional software delivery using Go, C, C++, Java, Python or similar
  • Strong communication and cooperation skills
  • Experience working in and managing distributed teams
  • May travel often and for a couple of weeks
  • Technical aptitude for understanding complex distributed systems 
  • Knowledge about common design patterns (interfaces, ...) 

Desirable skills and experience

  • Passion for quality and testing
  • Go programming language experience
  • Excellent distributed systems administration experience
  • Experience with agile software development methodologies
  • Proficient DevOps methodology and process
  • Experience with test automation including system level automation and job runners
  • Experience with continuous integration strategies
  • Experience with packaging (debian, snappy)
  • Release Management
  • Technical understanding of complex distributed systems
  • Delivery of scale-out service solutions
  • Experience with container technologies (Docker, LXD, Kubernetes, DC/OS etc)
  • 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
  • Experience with cloud topologies and technologies

Canonical is proud to foster a workplace free from discrimination. We truly believe that diversity of experience, perspectives, and background will lead to a better environment for our employees and a better platform for our users and customers. This is something we value deeply and we encourage everyone to come be a part of the world of Ubuntu.

Apply for this role

Required

Location unavailable