Software Engineer – MAAS

The Ubuntu 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.

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.

Required skills and experience

  • BS/MS in Computer Science or a related field, or equivalent experience, with at least 5+ years of proven professional software development experience in Python, Go, C/C++ or similar.
  • Capacity to learn quickly about new systems and techniques
  • Excellent logic, problem solving, and troubleshooting skills
  • Strong English language communication skills

Desired skills and experience

  • Large-scale physical server provisioning and automation, including rapid deployment, configuration, management and service orchestration.
  • Linux server technologies, including but not limited to Virtualization (KVM), Containers (LXC), etc.
  • Network technologies, including PXE, DHCP, TFTP, DNS, NTP.
  • Baseboard Management Controllers and Protocols (Redfish, IPMI, AMT and others).
  • Strong experience with networking, storage technologies and Cloud hosting and infrastructure.
  • 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.

Key responsibilities and accountabilities

  • Development and maintenance of MAAS core components and features.
  • Create and collaborate on technical specifications for new development initiatives.
  • Collaborate with other teams to ensure the timely delivery of new MAAS features and releases.
  • Assist in the development and maintenance of quality and continuous integration tests and practices.
  • Assist in the documentation of current and existing features.
  • Provide technical communication and collaboration with other teams where appropriate.
  • Take personal ownership of problems and drive them to solutions.


  • Must be able to travel internationally typically for 2-6 times a year, for a week at a time. Travel destinations typically include North America (US/Canada), Europe (Germany, France, Spain, Belgium, Romania, Hungary, etc) and South Africa occasionally.

Job Location: your home, preferably Eastern Time Zone, given appropriate facilities including broadband Internet.


It is our mission to make open source software available to people everywhere.

Technology we use