All remote jobs

Software Engineer – Cross-platform C++ – Multipass

AI Summary
Canonical is seeking a senior-leaning cross-platform C++ engineer for its open-source Multipass product, which provides local Ubuntu and appliance virtual machines for developers. The role covers feature architecture, implementation, debugging, code and architecture reviews, and mentorship within a distributed engineering team. Candidates need strong modern C++ skills, macOS and/or Windows development experience, test-driven development practices, and familiarity with virtualization technologies. The position is remote within EMEA, with limited international travel for twice-yearly company events. It also involves collaboration with users and the open-source community while maintaining a high standard for quality and user experience.
Remote from
EMEA
Salary
Undisclosed
Employment
Full Time
Experience
Open level
Published
Apply before
7 Dec 2026
Listing views
24
Application actions
1
Application toolkit

Make your next move.

Prepare your resume, explore your fit, and draft a cover letter for this opportunity.

Opportunity details

About this role.

Use your deep C++ skills on Windows and MacOS to build an amazing open source developer experience with Multipass, the workstation mini-cloud at your fingertips which provides Ubuntu and appliance VMs on demand for build, test and prototyping. The Multipass team is hiring a Software Engineer to join our distributed team. We greatly value quality in our code, and great user experience.

Multipass is published for macOS, Windows, and also Linux. Think of it as a workstation mini-cloud. At its simplest you can simply say multipass launch and you will get a new VM on your workstation. You can feed that VM data, just as you would on a public cloud like AWS, Azure or GCP.

The goal is not to be a full cloud of course. The goal is to give developers a local cloud on their workstation, which they can use to run builds in the background, or to try cloud appliances, or to test their own cloud deployments and cloud-init scripts, free of charge. People sometimes use it as a build farm on a shared server, for example.

As a Software Engineer you are expected to play a leadership role designing, mentoring, reviewing and of course coding.

Location: This is a remote position available in the EMEA region only.

What you will focus on

  • Ensure Multipass is easy and intuitive to use
  • Architect new features and design the user experience
  • Write high-quality code to create new features and fix bugs
  • Review code and architecture as part of Canonical’s engineering process
  • Collaborate proactively with a distributed team
  • Debug, track down and fix issues encountered by our users
  • Foster the open source community and support customers when needed
  • Travel internationally for up to two weeks, twice a year, for company events

What we are looking for in you

  • Cross-platform development experience on macOS and/or Windows
  • Expertise in modern C++ development (C++14 minimum)
  • Experience with software testing and test-driven development
  • Extremely high personal standards for code quality, testing and design
  • Knowledge of hypervisor technologies such as Hyper-V, VirtualBox, KVM, and QEMU
  • Open source experience and involvement
  • Knowledge of CI systems a plus
  • Capacity to learn quickly about new systems and techniques
  • Excellent communication skills in English – both verbal and written
  • 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

Apply now >

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.

Role DNA

A quick view of the complexity, pace, ownership and collaboration implied by the job description.

Job Complexity

5/5
EasyHard

Pace & Pressure

4/5
RelaxedFast-paced

Autonomy Level

5/5
GuidedFull ownership

Communication Load

4/5
IndependentCollaborative
AI insightThe position requires expert-level modern C++, cross-platform systems development, and practical understanding of hypervisors and virtual machines. It includes technical leadership, architecture decisions, code review, mentoring, and independent work in a distributed team.

Salary analysis

Estimated compensation compared with the broader US market for similar roles.

Estimated job median (per year)Highly competitive
$120,000
US market range (per year)$90k–$150k
AI insightThe yearly pay period is inferred from the job context; it was not explicitly stated by the employer. No base salary was disclosed by the employer. The yearly USD estimate is an inferred market-oriented estimate for a senior cross-platform C++ software engineer and excludes bonus and benefits.

Core skills

Skills and capabilities most closely associated with this opportunity.

Sample interview questions
How would you design a C++ abstraction that supports different virtualization backends on Windows, macOS, and Linux?

I would define a stable backend interface around core VM lifecycle operations and keep platform-specific implementations behind that interface. Shared domain logic would remain platform-neutral, while each backend would encapsulate its own API, capability detection, error translation, and resource management. I would also use dependency injection and contract tests to ensure consistent behavior across implementations.

Describe how you would investigate a Multipass VM launch failure reported only on Windows.

I would first gather reproducible steps, Multipass logs, Windows version details, backend selection, and relevant Hyper-V or networking diagnostics. I would isolate whether the failure occurs in command parsing, image retrieval, VM provisioning, networking, or the hypervisor API. After reproducing it in a comparable environment, I would add targeted logging and regression coverage before implementing and validating a fix.

What practices do you use to maintain code quality in a distributed C++ team?

I rely on clear design proposals, focused pull requests, automated formatting and static analysis, unit and integration testing, and thorough code review. I document important architectural decisions and communicate trade-offs asynchronously so contributors in different time zones can participate. I also treat production issues and regressions as opportunities to improve tests and engineering standards.

How would you test a feature that provisions and configures a virtual machine?

I would separate deterministic business logic from the hypervisor integration so that most behavior can be unit-tested with fakes. I would add integration tests against supported backends for provisioning, lifecycle operations, networking, storage, and failure handling. The tests would include cleanup checks, timeouts, retries where appropriate, and regression cases for reported user issues.

Tell us about a time you mentored another engineer through a complex technical problem.

I would begin by helping the engineer frame the problem, identify constraints, and break the work into testable steps rather than immediately supplying a solution. During design and review discussions, I would explain the reasoning behind interface boundaries, failure handling, and testing choices. This approach develops ownership while ensuring the final implementation meets reliability and maintainability standards.

This analysis is generated from the job description. Salary estimates, role characteristics and sample answers are guidance, not employer-provided facts.
Next step

Apply now.

Follow the employer’s application method and review Jobicy’s safety guidance before sharing personal information.

Did you apply?Let us know, and we’ll help you track your application.

Continue on the employer website

Protect your personal information and never pay to secure an interview or job offer. .

Log in to save
One quick step before you apply

Sign in to continue.

Sign in or create a free account to continue to the employer's application.

Add alert
Jobs Talent AI Tools Salaries
Menu