At a Glance
- Tasks: Create automated testing for resilient cloud systems and enhance CI pipelines.
- Company: Join Canonical, a leader in open source software and innovation.
- Benefits: Enjoy a competitive salary, personal development budget, and travel opportunities.
- Why this job: Make an impact on cutting-edge cloud technologies while working remotely with a global team.
- Qualifications: Experience in Python or Go, modern test processes, and CI tools.
- Other info: Opportunity for international travel and a dynamic work environment.
The predicted salary is between 36000 - 60000 ÂŁ per year.
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.
We are hiring a Software Engineer for Distributed Systems Testing with a passion for building and validating resilient distributed systems. You drive the success of those leveraging Canonical’s Ubuntu and Juju to build multi‑cloud deployable applications. We see quality engineering as a first class engineering practice and are looking for people who can bring deep engineering insights and a data‑driven approach to testing, test automation, reporting and data analytics.
The Distributed Systems testing team at Canonical is responsible for the high quality of Canonical’s Cloud solutions based on for example Juju, Terraform, OpenStack, or Kubernetes. Systems are tested and deployed under highly diverse conditions, from bare metal in customer data centers to public clouds such as AWS, GCE, Azure. As a software engineer you will have the opportunity to develop CI pipelines which power Canonical’s cloud integration testing and reporting. You will help test our products on new clouds and advance our AI/ML pipelines for automatic analysis of test results.
A successful candidate is interested in tackling these problems, as well as imagining and leading new initiatives within the team and across Canonical. The role entails:
- Creating automated testing approaches and infrastructure for validating reliability, performance, and resilience of cloud orchestration tools and applications
- Enabling engineering teams across Canonical to develop software with confidence by making distributed system testing tooling available across the company
- Enhancing continuous integration pipelines for deploying and testing Canonical’s cloud native products such as Kubeflow
- Deploying, managing, and debugging highly distributed systems on clouds and bare metal
- Monitoring and reporting on automated testing efforts
- Collaborating daily with a globally distributed team
What we are looking for in you:
- Solid background in modern test processes and strategies
- Experience with Python or Go development
- Strong object oriented development skills
- Working knowledge of continuous integration tools such as Jenkins, CircleCI, GitHub Actions
- Knowledge of networking technologies and fundamentals
- Solid understanding of the Linux system architecture
- Complex abstract thinking
- 2-4 weeks of international travel per year
Nice-to-have skills:
- Ability to develop and ship modern production‑grade web applications
- Ability to operate data platforms: key‑value stores, relational or document databases, event buses
- Data collection and analytics skills for large multidimensional datasets
- Experience with AI/ML pipelines
- Experience with cloud technologies such as OpenStack, Kubernetes, Terraform and AWS
What we offer colleagues:
- 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.
Distributed Systems Testing Software Engineer, Python / Go in Glasgow employer: Canonical
Contact Detail:
Canonical Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land Distributed Systems Testing Software Engineer, Python / Go in Glasgow
✨Tip Number 1
Network like a pro! Reach out to current or former Canonical employees on LinkedIn. Ask them about their experiences and any tips they might have for the interview process. Personal connections can give you insights that you won't find anywhere else.
✨Tip Number 2
Prepare for technical interviews by brushing up on your Python or Go skills. Work on some coding challenges related to distributed systems testing. We recommend using platforms like LeetCode or HackerRank to get those problem-solving muscles flexed!
✨Tip Number 3
Showcase your passion for open source! If you've contributed to any projects, make sure to highlight that in your conversations. It’s a great way to demonstrate your commitment to the community and your technical skills.
✨Tip Number 4
Don’t forget to apply through our website! It’s the best way to ensure your application gets seen by the right people. Plus, it shows you’re genuinely interested in joining the Canonical team.
We think you need these skills to ace Distributed Systems Testing Software Engineer, Python / Go in Glasgow
Some tips for your application 🫡
Tailor Your Application: Make sure to customise your CV and cover letter for the role. Highlight your experience with Python or Go, and any relevant projects that showcase your skills in distributed systems testing. We want to see how you fit into our world!
Showcase Your Passion: Let us know why you're excited about working with Canonical and our cloud solutions. Share any personal projects or experiences that demonstrate your enthusiasm for open source software and distributed systems. We love seeing genuine interest!
Be Clear and Concise: When writing your application, keep it straightforward. Use clear language and avoid jargon unless it's relevant. We appreciate a well-structured application that gets straight to the point—just like our CI pipelines!
Apply Through Our Website: Don’t forget to submit your application through our official website. It’s the best way for us to receive your details and ensures you’re considered for the role. Plus, it’s super easy to do!
How to prepare for a job interview at Canonical
✨Know Your Tech Stack
Make sure you’re well-versed in Python or Go, as these are crucial for the role. Brush up on your knowledge of continuous integration tools like Jenkins or GitHub Actions, and be ready to discuss how you've used them in past projects.
✨Showcase Your Testing Strategies
Prepare to talk about modern test processes and strategies you've implemented. Think of specific examples where you’ve created automated testing approaches or improved CI pipelines, as this will demonstrate your hands-on experience and problem-solving skills.
✨Understand Distributed Systems
Familiarise yourself with the principles of distributed systems and cloud technologies such as Kubernetes and OpenStack. Be ready to discuss how you would approach testing in diverse environments, from bare metal to public clouds.
✨Emphasise Collaboration Skills
Since Canonical values global collaboration, highlight your experience working with distributed teams. Share examples of how you’ve successfully communicated and collaborated across different time zones and cultures, as this will show you can thrive in their work environment.