Software Engineer (Python/Linux/Packaging)

Pioneering tech firm that publishes Ubuntu, one of the most important open source projects and the platform for AI, IoT and the cloud.
Tartu, Estonia
Backend
Mid-Level Software Engineer
Remote
1,000 - 5,000 Employees
3+ years of experience
Enterprise SaaS

Description For Software Engineer (Python/Linux/Packaging)

Canonical, the company behind Ubuntu, is seeking a talented software engineer to join their team focused on developer experience and build tooling. This role involves working on specialist Python tools that support developer build and publication processes, particularly for snaps, charms, and rocks (OCI images).

The position offers an opportunity to impact thousands of snap and charm publishers' workflows directly. You'll be working with Snapcraft, which enables automatic app updates to millions of Linux systems, serving major companies like Spotify, Slack, and Microsoft. Additionally, you'll work with Charmcraft, which facilitates collaboration between charmed operator developers and publication on Charmhub.

As part of a remote-first company since 2004, you'll join a global team pioneering open source solutions. The role combines technical expertise in Python, Linux systems, and build toolchains with the opportunity to work on tools that simplify software delivery for developers worldwide.

Canonical offers a comprehensive benefits package including a personal learning budget of $2,000 annually, regular compensation reviews, and opportunities to travel for team meetings. The company promotes a diverse and inclusive workplace, welcoming applications from all backgrounds.

This position is perfect for someone passionate about developer tools, build systems, and automation, who wants to contribute to open source software that impacts millions of users. You'll be at the forefront of packaging technology, working with modern container solutions and helping shape the future of software delivery.

Last updated 18 hours ago

Responsibilities For Software Engineer (Python/Linux/Packaging)

  • Extend the snap build ecosystem
  • Work with external open source and commercial projects
  • Support developer build and publication process
  • Maintain specialist Python tools
  • Collaborate with charmed operator developers

Requirements For Software Engineer (Python/Linux/Packaging)

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 (Python/Linux/Packaging)

Education Budget
Parental Leave
  • Personal learning and development budget of $2,000 per year
  • Annual compensation review
  • Recognition rewards
  • Annual holiday leave
  • Parental Leave
  • Employee Assistance Programme
  • Travel opportunities for team meetings
  • Priority Pass for travel
  • Travel upgrades for long haul company events

Interested in this job?

Jobs Related To Canonical Software Engineer (Python/Linux/Packaging)

Software Engineer (Python/Linux/Packaging)

Remote Software Engineer position at Canonical focusing on Python/Linux development for developer tools and packaging systems, with competitive benefits and global work environment.

MAAS Systems Engineer - Python (Toronto area)

MAAS Systems Engineer position at Canonical combining Python development and data center operations, based in Toronto with hybrid work arrangement.

Software Support Engineer

Remote Software Support Engineer role at Canonical, working on Ubuntu and open source technologies, focusing on Linux infrastructure and customer support.

Golang Engineer

Golang Engineer position at Canonical, developing critical systems for Ubuntu delivery and enterprise solutions in a remote environment.

Golang Engineer

Golang Engineer position at Canonical, developing critical systems for Ubuntu delivery and enterprise solutions in a remote environment.