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.
We are recruiting to fill the position below:
Job Title: Software Engineer - Cross-platform C++ - Multipass
Location: Lagos
Description
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.This is a remote position available in EMEA and the Americas.
Responsibilities
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
Requirements
What we are looking for in you:
Bachelor's Degree or equivalent in Computer Science, STEM or similar degree
Cross-platform development experience on macOS and/or Windows
Expertise in modern C++ development
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
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