Go Systems Engineer for Containers at Canonical
Confirmed open
Build low-level Go components for LXD private-cloud infrastructure spanning containers, virtualisation, KVM, Ceph, networking and dqlite storage.
Search jobs by company: Canonical
- Location
- Remote
- Advertised region
- Home Based - Americas; Home based - EMEA
- Work arrangement
- remote
- Technologies
- SQL, Go
Save job — free account Saved jobs
Create a free application profile — Keep your skills and projects in a reusable profile. Private by default; you choose when to share. Apply for this job directly with the employer.
By continuing, you agree to processing needed to manage your account and profile. Privacy policy
Role overview
Canonical's LXD team builds private-cloud infrastructure for enterprise edge and core deployments. Its stack combines KVM, Ceph and software-defined networking, from kernel facilities through management APIs and command-line tools. This remote role is available in EMEA and the Americas and involves two to four weeks of global travel a year.
Responsibilities
- Design, implement and document systems-level Go components for LXD.
- Model data, design database schemas and implement persistence in dqlite, an SQL database.
- Maintain quality with static analysis, unit tests and system tests.
- Work across container, virtualisation, storage and network layers while assessing distributed-system tradeoffs.
- Review designs and collaborate proactively with colleagues across locations.
Qualifications
- Programming experience in both Go and C.
- Knowledge of networking and storage technologies.
- Experience in at least two of cloud computing, virtualisation, containers, distributed systems and open-source communities.
- Computer science or related STEM degree, or equivalent qualification described in the posting.
- Clear communication, initiative, curiosity and accountability in a distributed team.
Technology in this role
- SQL: Model data, design database schemas and implement persistence in dqlite, an SQL .
- Go: Design, implement and document systems-level Go components for .
- C: Programming experience in both Go and .
- Golang: 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 .
- REST API: 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 .
Role-specific candidate guide
Preparation notes based on the employer’s stated responsibilities and qualifications.
Understanding the scope. This Golang System Software Engineer - Containers / Virtualisation position at Canonical is best assessed through the work described in the employer’s posting, rather than the title alone. The available role overview says: “Canonical's LXD team builds private-cloud infrastructure for enterprise edge and core deployments. Its stack combines KVM, Ceph and software-defined networking, from kernel facilities through management APIs and…” Read that statement together with the responsibilities below to understand the likely balance between delivery, coordination and technical decision-making. The role belongs to the software engineering area, but that label is only a guide to the work; the employer’s own requirements remain decisive. Before applying, check the original listing for reporting lines, product or team assignment, employment terms and any details that may have changed since this copy was checked. Where this page says a fact is not specified, treat it as an open question rather than an implied promise.
What the responsibilities signal. The posting specifically names “Design, implement and document systems-level Go components for LXD.”; “Model data, design database schemas and implement persistence in dqlite, an SQL database.”; “Maintain quality with static analysis, unit tests and system tests.”. For each duty, identify a project where you performed comparable work and be ready to describe the context, your own contribution, constraints, decisions, and measurable result. Explain how you moved from the initial need to implementation, review, release or operational follow-through, where those stages apply. If the work involved other teams or users, distinguish your decisions from the group’s contribution. Avoid presenting a technology keyword as proof by itself: connect it to the problem you solved, the scale or complexity involved, and what changed after your work. The source may contain additional duties; review it directly before preparing your application.
How to read the requirements. The listed qualifications include “Programming experience in both Go and C.”; “Knowledge of networking and storage technologies.”; “Experience in at least two of cloud computing, virtualisation, containers, distributed systems and open-source communities.”. Mark each requirement as demonstrated, adjacent experience or a genuine gap, then use a concise example for the first two categories. A strong example explains what you personally owned, how you made trade-offs, how you validated the result and what you learned. If the posting specifies years of experience, language ability, certifications, location or eligibility, address those facts plainly in your CV or application rather than relying on the employer to infer them. Do not claim a qualification from exposure alone. For a requirement you do not meet, describe relevant transferable experience accurately and ask the recruiter whether it is mandatory.
Technology and working evidence. The technology terms associated with this listing are SQL, Go. Treat this.
Benefits
- 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
- Opportunity to travel to new locations to meet colleagues
- Priority Pass, and travel upgrades for long haul company events
About Canonical
Canonical publishes Ubuntu and develops open-source products for cloud, AI, connected devices and enterprise infrastructure. It describes most engineering roles as home based, with periodic in-person team gatherings.
Employer websiteHow to apply
Review the original posting and apply through the employer’s careers page.
View source and applySource checked: 2026-11-08
Browse job categories
Related jobs
- Software Architect - Containers / Virtualisation at Canonical — Canonical
- Go Engineer for Developer Tooling and Containers at Canonical — Canonical
- Senior Golang Engineer at Kake — Kake
- Senior Golang Developer — GTEMAS
- Senior Golang Engineer — ANDPAD Vietnam
- Staff Fullstack Engineer, Data Products at GitLab — GitLab