Software Engineer – Juju (Go / Distributed Systems)

Summary
This is an exciting opportunity for a software engineer 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.
As a software engineer on the Juju team, you’ll be working on 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 Charmed Operator framework, Juju provides a complete solution for applications and infrastructure management.
If you love solving interesting technical challenges in elegant, high-performance ways, come join our globally-distributed team of software engineers in building the future of the software-defined data center on the Ubuntu platform.
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
What You’ll Do

Work with a variety of languages (primarily Go) to develop high-quality, extensible and reusable software.
Actively collaborate with both internal and external users to resolve problems and define new features.
Show strong technical leadership and rigour in feature definition, feature delivery and code review.
Ensure quality by maintaining the tools, framework and infrastructure to run tests.

Who You Are

Proven track record of at least 5 years professional software delivery using Go, C, C++ or similar.
Solid networking background and experience
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 and experience with highly-concurrent distributed systems
Excellent communications skills in the English language, both verbal and written, especially in online environments
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

Passion for quality and testing
Go programming language experience
Excellent distributed systems administration experience
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, etc.)
Programming with and operating MongoDB
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

Apply via :

boards.greenhouse.io