Senior Software Engineer - MAAS

Canonical Ltd.

Johannesburg

Remote

ZAR 900,000 - 1,300,000

Full time

19 hours ago
Be an early applicant

Get a reply from this employer

Your resume and cover letter, tailored to exactly what they’re hiring for.

Get past ATS filters

Benefits offered by this job

Distributed team with in-person meet‑s
Personal learning budget
Annual compensation review
Maternity and paternity leave
Wellness Platform

Job summary

Canonical is seeking experienced software engineers for the MAAS team, delivering metal-as-a-service provisioning for scalable cloud infrastructure. You will develop core MAAS components, shape architecture for speed and usability, and collaborate across teams to ensure timely releases.

The role requires proficiency in Python/Go (backend) or TS/React (frontend), plus Linux, networking, and open source tooling experience. International travel is a regular expectation.

Qualifications

  • Passionate about open source software, Linux, and DC automation.
  • Solid track record of professional software development in Python/Go or TS/React.
  • Capacity to learn quickly about new systems and techniques.
  • Excellent logic, problem solving, and troubleshooting skills.
  • Strong English communication (written and verbal).
  • Experience with Linux server technologies (KVM, LXC).
  • Bachelor's or equivalent in CS/STEM.
  • Knowledge of networking: PXE, DHCP, DNS, NTP.
  • Familiar with Ubuntu projects tools (MAAS, Juju, Ubuntu Server, LXD, Ubuntu Core).
  • Willingness to travel up to 4 times a year.

Responsibilities

  • Develop MAAS core components and features to make MAAS the #1 bare metal cloud system.
  • Shape the architecture of MAAS to be simpler, faster and easier to use.
  • Collaborate with other teams to ensure compatibility and timely releases.
  • Contribute to CI, tests and practices for fast feedback and good test coverage.
  • Document current and existing features for operators and users.
  • Provide technical communication with other teams where appropriate.
  • Take ownership of problems and drive them to solutions.
  • Travel internationally a few times a year for collaboration.

Skills

Python/Go backend
TypeScript/React frontend
English communication
Linux server tech
Networking, storage

Education

Bachelor's in CS or equivalent

Tools

Launchpad
Debian packaging (APT/dpkg)
snapcraft
KVM virtualization
LXC containers
Redfish/IPMI
Ubuntu MAAS/Juju

Job description

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 75+ 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.

The Canonical MAAS team is responsible for delivering our Metal As A Service hyperscale provisioning technology. Ubuntu strives to be the most scalable, cloud ready server distribution and MAAS is our platform to get it there. MAAS is a rapidly evolving software stack written in Python and Go, and we are looking for experienced software engineers who understand performance at scale, networking, storage and usability.

Applicants should be passionate about the future of Ubuntu and be able to show technical leadership with a globally distributed team of engineers who share that passion. This position requires international travel several times a year.

This role entails
  • Develop MAAS core components and features to make MAAS the #1 bare metal cloud system.
  • Shape the architecture of MAAS to make it simpler, faster and easier to use.
  • Collaborate with other teams to ensure MAAS works well with other tools and is released on time.
  • Contribute your improvements to our continuous integration environment, tests and practices, to maintain fast feedback and good test coverage.
  • Contribute to documentation of current and existing features, making it world‑class resource for Data Centre operators and users.
  • Provide technical communication and collaboration with other teams where appropriate.
  • Take personal ownership of problems and drive them to solutions.
  • Travel internationally a few times a year to meet and collaborate with your and other teams.
What We Are Looking For In You
  • Passionate about open source software, Linux, and Data Centre automation
  • Solid track record of professional software development experience in Python, Go for back‑end roles, or TypeScript, React for front‑end roles.
  • Capacity to learn quickly about new systems and techniques
  • Excellent logic, problem solving, and troubleshooting skills
  • Strong English language communication skills - both written and verbal
  • Experience with Linux server technologies, including but not limited to Virtualization (KVM), Containers (LXC), etc.
  • You have a Bachelor’s or equivalent in Computer Science, STEM or similar degree
  • Knowledge of network technologies, including PXE, DHCP, TFTP, DNS, NTP
  • Some experience with Baseboard Management Controllers and Protocols (Redfish, IPMI, AMT and others)
  • Strong experience with networking, storage technologies and Cloud hosting and infrastructure.
  • Ideally, experience of large‑scale physical server provisioning and automation, including rapid deployment, configuration, management and service orchestration.
  • Familiarity with some of the open source development tools and methodologies used in creation of several Ubuntu projects (MAAS, Juju, Ubuntu Server, LXD, Ubuntu Core), such as Launchpad, Debian packaging tools (APT, dpkg) and snapcraft.
  • An exceptional academic track record from both high school and preferably university.
  • Willingness to travel up to 4 times a year for internal events
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 recognize 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
  • Team Member Assistance Program & Wellness Platform
  • 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 of software. 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. Most colleagues at Canonical have worked from home since our 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.

Get your free, confidential resume review.

or drag and drop your file here.

Similar jobs

Similar jobs worth comparing

Senior Software Engineer - Digital Workplace
Senior Software Engineer - Digital Workplace

Canonical Ltd. • Johannesburg

Remote
ZAR 900,000 - 1,500,000
Learning budget USD 2,000 per year
Annual compensation review
Annual holiday leave
+2
Telecom Account Executive
Telecom Account Executive

Canonical Ltd. • Johannesburg

Hybrid
ZAR 600,000 - 900,000
Distributed work environment
Learning budget USD 2,000 per year
Annual compensation review
+1
Senior Web Engineer
Senior Web Engineer

Canonical Ltd. • Johannesburg

Remote
ZAR 1,493,000 - 2,322,000
Learning budget USD 2,000 per year
Annual compensation review
Employee Assistance Programme
+2
Senior Site Reliability Engineer
Senior Site Reliability Engineer

Canonical Ltd. • Johannesburg

Remote
ZAR 900,000 - 1,300,000
Distributed work environment with team
Learning and development budget (USD 2
Annual compensation review
+6
Senior Site Reliability / Gitops Engineer
Senior Site Reliability / Gitops Engineer

Canonical Ltd. • Johannesburg

Remote
ZAR 1,000,000 - 1,400,000
Distributed team sprints
Learning budget USD 2000 per year
Annual compensation review
+6
Senior Software Engineer (Backend)
Senior Software Engineer (Backend)

Canonical Ltd. • Johannesburg

Remote
ZAR 1,990,000 - 2,986,000
Twice-yearly team sprints in person
USD learning budget of 2,000 per year
Annual compensation review
+3
Product Manager
Product Manager

Canonical Group Ltd • South Africa

Remote
ZAR 1,063,264 - 1,772,107
Personal learning and development budget
Annual compensation review
Recognition rewards
+5
Senior Jira Administrator
Senior Jira Administrator

Canonical Group Ltd • South Africa

Remote
ZAR 1,063,264 - 1,772,107
Personal learning and development budget
Annual compensation review
Recognition rewards
+5
Manager of Enterprise Open Source Sales Team
Manager of Enterprise Open Source Sales Team

Canonical Ltd. • Johannesburg

Remote
ZAR 1,486,000 - 2,476,000
Distributed work environment
Learning budget USD 2,000 per year
Annual compensation review
+3
Senior Juju Software Engineer (Go)
Senior Juju Software Engineer (Go)

Canonical Ltd. • Johannesburg

Remote
ZAR 1,990,000 - 2,986,000
Learning budget USD 2,000 per year
Annual compensation review
Employee Assistance Programme
+2