Software Engineer, Virtualisation and Container Technology

Posted 7 months ago

Are you applying to the internship?

Job Description

Job Title: Software Engineer, Virtualisation and Container Technology | Canonical

The Tone:
This is a full-time, remote role at Canonical, a leading provider of open source software and operating systems globally. Canonical publishes Ubuntu, a platform widely used in breakthrough enterprise initiatives such as public cloud, data science, AI, and IoT. This role is crucial for software engineers focused on virtualisation and container technology, from the kernel through userspace, contributing to next-generation open source VMM or container solutions. This work has a meaningful impact on modern cloud computing technologies and is essential for modern software deployments.

The TL;DR
• Role: Full Time
• Location: Remote

• Team: Works within teams focused on virtualisation and container technology, like RustVMM, Rockcraft, LXD, Kubernetes, or OpenStack.
• Mission: Develop and enhance open source solutions related to application isolation, workload orchestration, system or OCI containers, micro service architecture, or cloud infrastructure.
• Tech Stack: Go, Rust, C/C++, Python, Linux (Debian/Ubuntu), VMM, Docker, Kubernetes, OpenStack, OVN, OVS, Ceph, namespaces, filesystems, networking.

What You’ll Actually Do
• Design: Design and specify new features, building consensus on the technical approach within the team.
• Engage: Engage with upstream communities, contributing your expertise to relevant open source projects.
• Analyze: Conduct security analysis and reviews to ensure defence in depth for products and features.
• Optimise: Create and monitor performance benchmarks to continuously optimise product efficiency.
• Develop: Write high quality code to create new features, debug issues, and produce fixes.

The Must-Haves
• Background: An exceptional academic track record from both high school and university, with an undergraduate degree in Computer Science or STEM, or a compelling narrative about your alternative path.
• Experience: Professional experience working on open source virtualisation or container technology. Demonstrated experience working in the kernel or very low level system environments, and proficiency with Linux (Debian or Ubuntu preferred).
• Skills: Exceptional proficiency in Go, Rust, or C/C++ software engineering. Professional written and spoken English, coupled with excellent interpersonal skills, curiosity, flexibility, and accountability.
• Bonus: Experience in performance engineering and security.

Related Jobs