Canonical logo
Canonical·Verified

Golang System Software Engineer - Containers / Virtualisation

About the Role

Canonical is seeking a Golang System Software Engineer to join the LXD team. You will work on the low-level Go codebase that bridges our REST API and the C libraries used to manage containers and virtual machines. This role is ideal for a system-level developer with a passion for data modeling and distributed systems.

What you will focus on

  • Design, implement, and document system-level Go code.
  • Model data, design database schemas, and implement storage using dqlite (SQL).
  • Maintain high code quality through static analysis, unit testing, and system testing.
  • Collaborate proactively within a distributed, global team.
  • Participate in team strategy and execution through twice-yearly in-person sprints.

What we are looking for in you

  • Proficiency in programming with Go and C.
  • Strong knowledge of networking and storage technologies.
  • Experience in at least two of the following: cloud computing, virtualization, containers, or distributed systems.
  • Excellent communication skills, accountability, and a self-motivated mindset.
  • A bachelor’s or equivalent degree in Computer Science, STEM, or a related field.

What we offer

  • A distributed work environment with global travel 2–4 weeks per year.
  • Personal learning and development budget of $2,000 USD per year.
  • Annual compensation reviews and performance-driven bonuses.
  • Comprehensive benefits including holiday leave, parental leave, and an Employee Assistance Programme.
  • Travel perks including Priority Pass and long-haul upgrades for company events.

Open to

NA · Europe

Sign in to track applications and earn points.

More roles at Canonical

Similar remote roles