Suggested rewrite: Led a cross-functional initiative that improved [business outcome] by [measurable result], demonstrating experience relevant to this role...
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.
- Salary
- Undisclosed
- Department
- Software Engineering
- Employment
- Full Time
- Experience
- Open level
- Published
- Apply before
- 1 Dec 2026
- Listing views
- 47
- Application actions
- 3
Make your next move.
Prepare your resume, explore your fit, and draft a cover letter for this opportunity.
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.
Pace & Pressure
4/5Autonomy Level
5/5Communication Load
4/5Salary analysis
Estimated compensation compared with the broader US market for similar roles.
Core skills
Skills and capabilities most closely associated with this opportunity.
Sample interview questions
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.
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.
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.
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.
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.
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
Annual salary information is not provided for this position. Explore salary ranges for similar roles in our Salary Directory ›
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.
Apply now.
Follow the employer’s application method and review Jobicy’s safety guidance before sharing personal information.
Continue on the employer website
Protect your personal information and never pay to secure an interview or job offer. .
