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, EstoniaEuropa, MO 63876, USA
Backend
Mid-Level Software Engineer
Remote
1,000 - 5,000 Employees
Enterprise SaaS · AI

Description For Software Engineer (Python/Linux/Packaging)

Canonical, the company behind Ubuntu, is seeking a Software Engineer with expertise in Python and Linux to join their remote-first team. This role focuses on developing and maintaining tools that support the developer build and publication process, particularly for snaps, charms, and OCI images. The position offers an opportunity to impact thousands of developers' workflows while working with cutting-edge open source technologies.

The ideal candidate will bring strong Python programming skills and deep understanding of Linux systems, build tools, and container technologies. You'll be working on tools like Snapcraft, which enables automatic app updates to millions of Linux systems, and Charmcraft, which facilitates collaboration between charmed operator developers.

Canonical offers a truly global, remote-first work environment with a strong focus on open source innovation. The company has been remote-first since 2004 and provides excellent benefits including a $2,000 annual learning budget, comprehensive leave policies, and opportunities to travel and meet colleagues at company events.

The role involves collaboration with both open source communities and commercial projects, requiring strong technical skills and the ability to understand and serve community needs. You'll be part of a team that's expanding its scope to help developers efficiently ship software to clouds and IoT devices.

Working at Canonical means joining a pioneering company at the forefront of open source technology, with the opportunity to impact millions of users worldwide. The company values diversity and maintains an inclusive workplace culture, making it an excellent choice for talented engineers looking to make a significant impact in the open source world.

Last updated 18 hours ago

Responsibilities For Software Engineer (Python/Linux/Packaging)

  • Design and maintain specialist Python tools to support developer build and publication process
  • Work with external open source and commercial projects
  • Extend the snap build ecosystem
  • Support tooling that builds snaps, charms and rocks (OCI images)

Requirements For Software Engineer (Python/Linux/Packaging)

Python
Linux
  • 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,000USD per annum
  • Annual compensation review
  • Recognition rewards
  • Annual holiday leave
  • Parental Leave
  • Employee Assistance Programme
  • Opportunity to travel to meet colleagues
  • Priority Pass for travel
  • Travel upgrades for long haul company events
  • Fully remote working environment

Interested in this job?

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

Software Engineer (Python/Linux/Packaging)

Software Engineer position at Canonical focusing on Python development for build tooling and packaging systems, working remotely with a global team.

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.