Job: Software Engineer – Micro/Private/Cloud Bare-Metal at Canonical


job description

This is an exciting opportunity for a software engineer with a passion for open source software, Linux, and building technology for data center democratization. Help us build the #1 bare metal cloud system and work with the brightest tech people at Canonical!
The Ubuntu MAAS team is responsible for delivering our hyperscale Metal As A Service provisioning technology. Ubuntu strives to be the most scalable, cloud-ready server distribution and MAAS is our platform to make that happen. MAAS is a rapidly evolving software stack written in Python and Go, and we’re looking for experienced software engineers who understand large-scale performance, networking, storage, and usability.
Candidates must be passionate about the future of Ubuntu and be able to demonstrate technical leadership with a team of engineers distributed around the world who share this passion. This position requires international travel several times a year.

what you will do

Design and implement software using modern Python and Go.
Expand core MAAS components and functionality 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.
Make your improvements to our continuous integration environment, our tests and our practices, to maintain fast feedback and good test coverage.
Help document current and existing functionality, making it a world-class resource for data center operators and users.
Ensure technical communication and collaboration with other teams as required.
Take personal responsibility for problems and direct them to solutions.
Travel overseas a few times a year to meet and collaborate with you and other teams.

Who are you

You have a bachelor’s degree or equivalent in computer science, STEM or similar degree
At least 5 years of proven professional experience in software development in Python, Go or similar.
Ability to quickly learn new systems and techniques
Excellent logic, problem solving and troubleshooting skills
Strong English communication skills – written and spoken
Experience with Linux server technologies including but not limited to virtualization (KVM), containers (LXC), etc.
Knowledge of network technologies including PXE, DHCP, TFTP, DNS, NTP
In addition, some experience with base card management controllers and protocols (Redfish, IPMI, AMT and others)
Additionally, experience with networking, storage technologies and cloud hosting and infrastructure.
Additionally, familiarity with some of the open source development tools and methodologies used in the creation of several Ubuntu projects (MAAS, Juju, Ubuntu Server, LXD, Ubuntu Core), such as Launchpad, Debian packaging tools (APT, dpkg ) and Snapcraft.
Ideally, experience with large-scale physical server provisioning and automation, including rapid deployment, configuration, management, and service orchestration.

Click here to apply


Comments are closed.