All remote jobs

Golang System Software Engineer – Containers / Virtualisation

Review the role, location requirements, compensation details, and application process before deciding whether this opportunity fits your next career move.

Remote from
USA, Canada, EMEA+1 more, LATAM
Salary
Undisclosed
Employment
Full Time
Experience
Open level
Published
Apply before
1 Dec 2026
Listing views
47
Application actions
3
Application toolkit

Make your next move.

Prepare your resume, explore your fit, and draft a cover letter for this opportunity.

AI Summary

The role, at a glance.

Canonical is hiring a system-level Go engineer for the LXD team, building container and virtual-machine infrastructure for private cloud deployments. The role involves designing Go services between REST APIs and low-level C libraries, modelling data, and implementing dqlite SQL storage. The engineer will work across kernel-adjacent infrastructure, networking, storage, virtualisation, distributed systems, and management APIs. It is a remote role across EMEA and the Americas, with collaboration in a globally distributed team and 2–4 weeks of annual travel for events. Strong Go and C capability, sound systems-design judgment, and proactive written communication are central to success.

Role DNA

A quick view of the complexity, pace, ownership and collaboration implied by the job description.

Job Complexity

5/5
EasyHard

Pace & Pressure

4/5
RelaxedFast-paced

Autonomy Level

5/5
GuidedFull ownership

Communication Load

4/5
IndependentCollaborative
AI insightThis is a senior-leaning systems engineering role spanning low-level libraries, containers, virtual machines, databases, networking, and distributed cloud infrastructure. It requires engineers to reason about cross-layer design consequences while working independently in a distributed team.

Salary analysis

Estimated compensation compared with the broader US market for similar roles.

Estimated job median (per year)Market rate
$150,000
US market range (per year)$115k–$190k
AI insightThe yearly pay period is inferred from the job context; it was not explicitly stated by the employer. No employer salary was disclosed. The annual USD figures are AI-estimated market compensation for a system-level Go/cloud infrastructure engineer in the US market; the yearly cadence is inferred from the full-time professional role.

Core skills

Skills and capabilities most closely associated with this opportunity.

Sample interview questions
Describe a Go service you built that interacted with low-level system components or native libraries.

I would explain the system boundary, the Go-to-native interface design, error handling, concurrency model, observability, and how I tested failure cases. I would also describe how I kept the interface safe, maintainable, and compatible as the underlying component evolved.

How would you model and persist state for a distributed container-management service using SQL?

I would begin by defining clear domain entities and invariants, then design normalized tables, indexes, migrations, and transaction boundaries around the most important consistency requirements. For distributed operation, I would explicitly address leader-aware writes, conflict handling, retries, idempotency, and recovery after partial failures.

What design considerations matter when managing both containers and virtual machines?

I would distinguish their isolation, lifecycle, networking, storage, image, and resource-management needs while seeking a consistent management API. I would ensure that abstractions do not hide meaningful operational differences, especially around kernel dependencies, device passthrough, snapshots, and live migration.

How do you maintain quality in infrastructure software where failures can be difficult to reproduce?

I use static analysis, focused unit tests, integration and system tests, reproducible environments, structured logging, metrics, and fault-injection where practical. I also prioritize clear bug reports and regression tests so that production issues become permanently covered behavior.

How do you collaborate effectively when working remotely across time zones?

I make design decisions visible through concise written proposals, document assumptions and trade-offs, and communicate progress and risks early. I use asynchronous reviews effectively, reserve meetings for decisions that need real-time discussion, and maintain dependable ownership of agreed deliverables.

This analysis is generated from the job description. Salary estimates, role characteristics and sample answers are guidance, not employer-provided facts.
Opportunity details

About this role.

Canonical is a leading provider of open source software and operating systems to the global enterprise and technology markets. Our platform, Ubuntu, is very widely used in breakthrough enterprise initiatives such as public cloud, data science, AI, engineering innovation and IoT. Our customers include the world’s leading public cloud and silicon providers, and industry leaders in many sectors. The company is a pioneer of global distributed collaboration, with 1000+ colleagues in 70+ countries and very few office based roles. Teams meet two to four times yearly in person, in interesting locations around the world, to align on strategy and execution.

The company is founder led, profitable and growing.

The mission of the LXD team is to build a next-generation private cloud infrastructure, combining KVM, Ceph, and SDN technologies to create a data center scale cloud that ‘just works’ and provides a mission-critical cloud for edge and core enterprise deployments. We are hiring a Golang software engineer to work on the low level Go codebase sitting between our REST API and the low level C libraries used to manage containers and virtual machines. We are looking for system-level developers with experience in design and data management/modeling.

LXD components span the entire software stack from low-level kernel features to the upper level management API/CLI. Our most effective engineers are fluent in all these layers, and able to anticipate the consequences of design and engineering choices elsewhere in a complex distributed system.

This is an opportunity for someone who wants to have a meaningful impact on modern cloud computing technologies. Canonical offers a fun, fast-paced team environment and a career full of learning and development.

Location: This is a remote position available in EMEA and the Americas.

What you will focus on

  • Design, implement and document system level Go code
  • Model data, design database schema and implement data storage in a dqlite (SQL) database
  • Maintain code quality through static analysis, unit and system tests
  • Collaborate proactively with a distributed team
  • Discuss ideas and collaborate on finding good solutions
  • Work from home with global travel 2 to 4 weeks/year for internal and external events

What we are looking for in you

  • You have experience programming in Go and C
  • You are knowledgeable in networking and storage technologies
  • You have experience with two or more of: cloud computing, virtualisation, containers, distributed systems, open source community
  • You are curious, flexible, articulate and accountable
  • You value soft skills and are enterprising, thoughtful and self-motivated
  • You have a bachelor’s or equivalent in Computer Science, STEM or similar degree

What we offer you

We consider geographical location, experience, and performance in shaping compensation worldwide. We revisit compensation annually (and more often for graduates and associates) to ensure we recognise outstanding performance. In addition to base pay, we offer a performance-driven annual bonus. We provide all team members with additional benefits, which reflect our values and ideals. We balance our programs to meet local needs and ensure fairness globally.

  • Distributed work environment with twice-yearly team sprints in person
  • Personal learning and development budget of USD 2,000 per year
  • Annual compensation review
  • Recognition rewards
  • Annual holiday leave
  • Maternity and paternity leave
  • Employee Assistance Programme
  • Opportunity to travel to new locations to meet colleagues
  • Priority Pass, and travel upgrades for long haul company events

About Canonical

Canonical is a pioneering tech firm at the forefront of the global move to open source. As the company that publishes Ubuntu, one of the most important open source projects and the platform for AI, IoT and the cloud, we are changing the world on a daily basis. We recruit on a global basis and set a very high standard for people joining the company. We expect excellence – in order to succeed, we need to be the best at what we do. Canonical has been a remote-first company since its inception in 2004.​ Working here is a step into the future, and will challenge you to think differently, work smarter, learn new skills, and raise your game.

Canonical is an equal opportunity employer

We are proud to foster a workplace free from discrimination. Diversity of experience, perspectives, and background create a better work environment and better products. Whatever your identity, we will give your application fair consideration.

#LI-remote

Apply now >

This job listing has been manually reviewed by the Jobicy Trust & Safety Team for compliance with our posting guidelines, including verification of the company's legitimacy, accuracy of job details, clarity of remote work policy, and absence of misleading or fraudulent content.

Next step

Apply now.

Follow the employer’s application method and review Jobicy’s safety guidance before sharing personal information.

Did you apply?Let us know, and we’ll help you track your application.

Continue on the employer website

Protect your personal information and never pay to secure an interview or job offer. .

Log in to save
One quick step before you apply

Sign in to continue.

Sign in or create a free account to continue to the employer's application.

Add alert
Jobs Talent AI Tools Salaries
Menu