Software Architect, Containers and Virtualization
Canonical
Job Overview
Who's the hiring manager?
Sign up to PitchMeAI to discover the hiring manager's details for this job. We will also write them an intro email for you.

Job Description
About Canonical
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 1200+ colleagues in more than 80 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.
About the Role: Software Architect, Containers and Virtualization
We are hiring a Software Architect, Containers and Virtualization for Canonical LXD and MicroCloud. Our goal is to make clusters of compute, with system containers or virtual machines, "just work". It should be trivial to stand up a small cloud using one, two or twenty servers. This is a challenging exercise in distributed systems, virtualisation, container technology, networking and storage. As with the Ubuntu desktop, our goal is to make it easy and to make it reliable for people to focus on the things that really matter to them rather than the OS and infrastructure.
LXD is a modern Golang system container and virtual machine orchestrator widely used on Ubuntu, ChromeOS and other Linux platforms. LXD engineering spans the entire software stack from low-level kernel work on namespaces, confinement, security, filesystems, VMMs and networking, to the high level management REST API and CLI. As a Software Architect, Containers and Virtualization, you will drive the architecture, design and evolution of LXD, and also Canonical MicroCloud which combines LXD with Ceph and OVN to make a lean, easy to use and resilient cluster-scale cloud infrastructure.
We are looking for an outstanding software architect and engineer with experience in Golang and C, with the leadership qualities needed to rally a team to ship outstanding products. Knowledge of modern cloud infrastructure offerings, their APIs and their underlying technologies is a must. 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.
The Role Entails
- Leadership of the LXD and MicroCloud architecture
- Mentor, develop and advise colleagues in their career progression
- Develop in Golang and C
- Review code produced by other engineers
- Ensure the product is secure and performant
- Display technical leadership in Canonical and our communities
- Work from home with global travel twice annually for company events
What We Are Looking For In You
- An exceptional academic track record from both high school and university
- Undergraduate degree in Computer Science or STEM
- Drive, and a track record of going above-and-beyond expectations
- Technical leadership as well as team motivation, direction and pace
- Well-organized, self-starting and able to deliver to schedule
- Professional manner in interacting with colleagues, partners, and community
- Experience with Go and C
- Experience with storage, networking and virtualization
- Experience with container technologies
- Experience with concurrent, distributed systems
- Conscientiousness and detail orientation, with a focus on performance
- Professional written and spoken English
- Experience with Linux (Debian or Ubuntu preferred)
- Excellent interpersonal skills, curiosity, flexibility, and accountability
What We Offer Colleagues
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 or commission. 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
Key skills/competency
- Containerization
- Virtualization
- Distributed Systems
- Golang
- C Programming
- Linux Kernel
- Cloud Infrastructure
- Networking
- Storage
- Architectural Design
How to Get Hired at Canonical
- Research Canonical's culture: Study their mission, values, recent news, and employee testimonials on LinkedIn and Glassdoor.
- Highlight relevant expertise: Emphasize your deep experience with Golang, C, containers, virtualization, and distributed systems in your application.
- Demonstrate technical leadership: Showcase examples where you've driven architecture, mentored teams, and ensured product quality.
- Tailor your resume: Align your skills and experience specifically with LXD, MicroCloud, Linux (Ubuntu), and open-source contributions.
- Prepare for deep technical interviews: Expect rigorous discussions on kernel-level work, networking, storage, and cloud infrastructure.
Frequently Asked Questions
Find answers to common questions about this job opportunity
Explore similar opportunities that match your background