Home based - Americas, Europe, Africa
Canonical's Snapcraft (https://snapcraft.io) makes it possible to deliver app updates to all of Linux automatically, eliminating the long tail of supported releases and complex install instructions.
With thousands of applications on the platform from over a thousand developers, including well-recognised names like Spotify, Slack, and Microsoft, the Snapcraft team's mission is to uphold a high bar of quality as well as predictable, intuitive behaviour.
We are looking for an experienced software engineer with a background in developer tools to join our globally-distributed, home-based team.
This job involves international travel several times a year, usually for one week at a time (when it is deemed safe to resume travel).
Our core mission is to make developers' lives easier. You will have a keen sense of how Snapcraft can further reduce friction.
Snapcraft should be a joy to use. You have an eye for good user experience. You enjoy guiding the user through a journey or getting them back on rails with tasteful instruction.
Building snaps should feel familiar, building on the tools developers already know. You'll be conversant in many languages, toolchains, frameworks, integrations, and CI systems. You'll teach these to produce snaps.
You will be working with several external open source and commercial projects to best understand how we can better serve the developer community needs.
We're a data-driven team. You'll apply test-driven development, Sentry, and analytics to focus and refine your efforts.
Sometimes our developers just need a helping hand. You will be available to share your knowledge of the development process and snapcraft to ensure our community has everything they need to be successful. Sometimes this is online, other times it may be in person speaking at conferences or meet-ups.
Collaborate proactively within a distributed team.
Hold yourself and others to a high standard when working with production deployments.
Required skills and experience
Expertise in Python or similar.
Experience working with containers, such as Docker and LXD.
Excellent communications skills in the English language, both verbal and written, especially in online environments such as Slack and Google Meet.
A strong understanding of the makeup of a modern GNU/Linux distribution.
A solid understanding of build systems and toolchains.
Bachelor's degree in Computer Science or equivalent.
Desirable skills and experience
Portfolio of regular Open Source contributions and other public demonstrations of leadership.
Command line developer-oriented product experience.
Experience working on a distributed team.
Demonstrable public speaking skills.
Canonical believes a diverse workforce enhances our ability to deliver world class software and services which meet the world's computing needs. We are committed to ensuring equal employment opportunities to all qualified individuals. All qualified applicants will receive consideration for employment without regard to race, color, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability, age, or veteran status.