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.
Engineering Manager - Go - Distributed Systems
Home Based - APAC