Software Engineer - Developer Tools

Pioneering tech firm that publishes Ubuntu, leading open source platform for AI, IoT and cloud computing.
Backend
Mid-Level Software Engineer
Remote
Enterprise SaaS · AI · IoT

Description For Software Engineer - Developer Tools

Canonical, the company behind Ubuntu, is seeking a talented Software Engineer to join their Developer Tools team. This role focuses on creating and maintaining Python-based tools that support the developer build and publication process for snaps, charms, and OCI images. The position is crucial in improving the developer experience for thousands of software publishers.

The ideal candidate will work on Snapcraft, which enables automatic app updates to millions of Linux systems, serving major companies like Spotify, Slack, and Microsoft. They'll also work on Charmcraft, which facilitates collaboration between charmed operator developers and enables the packaging and operation of various software solutions at scale.

As a remote-first company since 2004, Canonical offers a modern work environment with a strong focus on open source technology. The role provides an opportunity to impact the global developer community while working with cutting-edge build systems and automation tools. The company offers competitive compensation, including a personal development budget, parental leave, and travel opportunities for team collaboration.

The position requires expertise in Python, deep understanding of Linux distributions, and experience with container technologies. You'll be part of a team that's expanding its scope to help developers efficiently ship software to clouds and IoT devices, making a significant impact on the open-source ecosystem.

Last updated 5 days ago

Responsibilities For Software Engineer - Developer Tools

  • Design and maintain specialist Python tools for developer build and publication process
  • Support tooling that builds snaps, charms, and OCI images
  • Work with external open source and commercial projects
  • Extend the snap build ecosystem
  • Improve developer experience and build tooling

Requirements For Software Engineer - Developer Tools

Python
Linux
Kubernetes
  • Expertise in Python
  • Strong understanding of modern GNU/Linux distribution
  • Good understanding of build systems and toolchains, including cross-compilation
  • Experience with container technology (Docker, Kubernetes, LXD)
  • Familiarity with languages, toolchains, frameworks, integrations, and CI systems

Benefits For Software Engineer - Developer Tools

Education Budget
Parental Leave
  • Fully remote working environment
  • Personal learning and development budget of 2,000USD per annum
  • Annual compensation review
  • Recognition rewards
  • Annual holiday leave
  • Parental Leave
  • Employee Assistance Programme
  • Opportunity to travel to meet colleagues at 'sprints'
  • Priority Pass for travel and travel upgrades

Interested in this job?

Jobs Related To Canonical Software Engineer - Developer Tools

Backend Software Engineer

Backend Software Engineer position at Canonical, developing large-scale services for Snap Store and Charmhub.io using Python and Go in a remote environment.

Ubuntu Pro Client Software Engineer

Software Engineering role at Canonical developing and maintaining the Ubuntu Pro Client, requiring Python expertise and Linux systems knowledge

Software Engineer - Developer Tools

Python Software Engineer role at Canonical, focusing on developer tools and build systems for Ubuntu ecosystem.

Backend Software Engineer

Backend Software Engineer position at Canonical, developing large-scale services for Snap Store and Charmhub.io using Python and Go in a remote environment.

Python Software Engineer - Launchpad

Python Software Engineer position at Canonical working on Launchpad, the open-source development platform powering Ubuntu's infrastructure.