Job Description
Job 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 Senior Software Engineer to join our distributed team. We greatly value quality in our code, and great user experience.
- Multipass is published for macOS and 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. There is also a collection of pre-defined VM images, which we call appliances, just as you would find in the marketplace of any public cloud.
- 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 Senior Software Engineer you are expected to play a leadership role designing, mentoring, reviewing and of course coding.
Responsibilities
What you will do:
- 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
A successful candidate will have:
- 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.