To view more jobs from this company, please visit their other roles at:
Canonical Roles
MAAS QA Labs Python Engineer (Toronto area)
Canonical (View all Jobs)
Office Based - Toronto, Canada
Interview Process
1. Review your open source contributions at shortlist stage. 2. 4x60m interviews over Hangouts, each of which is carried out blind (none of the interviewers talk to each other until the final review). The company is fully remote, so there is no on-site.
Programming Languages Mentioned
Python
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 1100+ 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.
Location: This is a remote based role. We expect the suitable candidate to be based in Toronto as you will be required to work on-site at our lab 4-6 days per calendar month
We are hiring a MAAS QA Labs Python Engineer to focus on building tooling to increase data center operational efficiency. As a MAAS QA Labs Python Engineer in Canonical, you will be responsible for the day-to-day management and operations of our lab in the Toronto area, which we use for Ubuntu server certification of US based silicon and server designs. You'll write and use software that deploys and configures servers and network switches, and solve difficult design problems related to doing this well and fast at scale. You will work with a mixture of hardware: cutting edge new silicon that Kernel Team and Partner Engineering teams work on to make them run Linux extremely well, as well as established hardware to make sure new versions of Ubuntu are smooth and fast. This role is a combination of software engineering focussing on reliable automated hardware commissioning and deployment, as well as testing, troubleshooting and experimentation focusing on improving reliability and performance of our software. You don't need to be an expert in all of these areas, but you need to be a good software engineer who is curious about complex distributed systems to succeed in this role. If you love hacking in your home lab, have good Python skills, and are curious about data centre hardware, you will love this opportunity.
This role entails
- Use your Python development skills to develop the Metal as a Service (MAAS) software to work with a large variety of server and network hardware.
- Actively expand MAAS functionality by creating integrations with testing and scheduling software such as Testflinger.
- Contribute improvements and fixes to Testflinger.
- Remotely operate a fully automated server lab with the latest server and network silicon from leading vendors, making sure it remains available to other teams.
- Improve and extend hardware and network monitoring through automation.
- Collaborate with other MAAS engineers, as well as data centre hardware specialists, teams responsible for certifying hardware for Ubuntu, kernel engineers and other teams who use the hardware lab.
What we are looking for in you
- STEM Bachelor’s degree, preferably in Computer Science or Software Engineering
- Curiosity to find out why some systems misbehave, and drive to figure out how to make them behave
- Python programming experience
- Linux Administration experience
- Ability to communicate clearly and effectively in English
- Ability to work with a globally distributed team of passionate engineers
- An exceptional academic track record from both high school and preferably university
- Willingness to travel up to 4 times a year for internal events
Nice-to-have skills
- Mix of Rack and Virtual systems experience
- Troubleshooting skills
- Systematic approach to testing
- Love for performance engineering
- Data centre operations experience
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 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
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 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.
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.
#LI-hybrid
Please mention No Whiteboard if you apply!
I'm a one-man team looking to improve tech interviews, and could use any support! 😄