
Opportunity at
CanonicalSoftware Architect - Containers / Virtualisation
Canonical, the publisher of the Ubuntu operating system, seeks a Software Architect to lead the design and evolution of Canonical LXD and MicroCloud. The organization builds…
Career Tools
About This Role
Canonical, the publisher of the Ubuntu operating system, seeks a Software Architect to lead the design and evolution of Canonical LXD and MicroCloud. The organization builds open-source software utilized globally across public clouds, data science, artificial intelligence, internet of things, and engineering initiatives. In this position, the practitioner will guide technical strategy to make compute clusters, virtual machines, and system containers function seamlessly across small infrastructure deployments. This role focuses…
Job Description
Canonical, the publisher of the Ubuntu operating system, seeks a Software Architect to lead the design and evolution of Canonical LXD and MicroCloud. The organization builds open-source software utilized globally across public clouds, data science, artificial intelligence, internet of things, and engineering initiatives. In this position, the practitioner will guide technical strategy to make compute clusters, virtual machines, and system containers function seamlessly across small infrastructure deployments.
This role focuses on distributed systems, storage, networking, and virtualization, spanning tasks from low-level kernel components to high-level management interfaces. The ideal candidate possesses a strong background in C and Golang, technical leadership capabilities, and familiarity with modern cloud infrastructure offerings. The position is structured as a home-based assignment across the Americas and EMEA regions, featuring a distributed work model with global travel twice yearly for in-person company events.
Responsibilities
- Lead the architecture and ongoing evolution of Canonical LXD and MicroCloud
- Mentor, advise, and support the career progression of colleagues
- Develop software using Golang and C
- Review code written by other engineering team members
- Maintain product performance and security standards
- Demonstrate technical leadership within the company and related communities
- Participate in twice-yearly in-person global company events
Requirements
- Experience developing in Go and C
- Familiarity with storage, networking, and virtualization
- Background in container technologies
- Experience working with concurrent, distributed systems
- Knowledge of Linux, with a preference for Ubuntu or Debian
- Professional written and spoken English proficiency
- Demonstrated drive and ability to exceed expectations
Qualifications
- Exceptional academic history from both high school and university levels
- Undergraduate degree in a STEM field or Computer Science
Core Skills
Benefits
- Annual compensation reviews
- Performance-driven annual bonus or commission
- Personal learning and development budget of USD 2,000 annually
- Recognition rewards
- Annual holiday leave
- Maternity and paternity leave
- Employee Assistance Programme
- Priority Pass and travel upgrades for long-haul company events
- Opportunities for global travel to meet colleagues
Frequently Asked Questions
Is this a remote position?
Yes, this is a home-based position available in the Americas and EMEA regions, though it does require traveling twice annually for in-person company events.
What programming languages are required for the role?
Candidates must have experience with both C and Golang.
What education is required to apply?
Applicants need an undergraduate degree in Computer Science or another STEM field, along with an exceptional academic track record.
What is the salary for this position?
The specific salary is not stated in the job posting, though compensation considers geographical location, experience, and performance, and is reviewed annually.
Sample Interview Questions
AI-generated questions tailored to this specific role — a preview of the full practice set.