Distributed Systems Testing Software Engineer
@ Canonical

Hybrid
$130,000
Hybrid
Full Time
Posted 21 days ago

Your Application Journey

Personalized Resume
Apply
Email Hiring Manager
Interview

Email Hiring Manager

XXXXXXXXXX XXXXXXXXX XXXXXXXX******* @canonical.com
Recommended after applying

Job Details

About Canonical

Canonical is a leading provider of open source software and operating systems to global enterprise and technology markets. Our platform, Ubuntu, is widely used in public cloud, data science, AI, engineering innovation, and IoT. We pioneer distributed collaboration with over 1200 colleagues in 75+ countries and very few office-based roles.

Job Overview

The Distributed Systems Testing Software Engineer role is focused on building and validating resilient distributed systems. You will drive success for teams leveraging Ubuntu and Juju to develop multi-cloud deployable applications. Quality engineering is a top priority with a data-driven approach to testing, automation, reporting, and analytics.

Role Responsibilities

  • Create automated testing approaches and infrastructure for validating reliability, performance, and resilience of cloud orchestration tools.
  • Empower Canonical engineering teams by providing state-of-the-art distributed system testing tooling.
  • Enhance continuous integration pipelines for Canonical’s cloud native products.
  • Deploy, manage and debug highly distributed systems across clouds and bare metal.
  • Monitor and report on automated testing efforts; collaborate with a global team.

Desired Skills and Experience

The ideal candidate has:

  • Solid background in modern test processes and strategies.
  • Experience with Python or Go and strong object oriented development skills.
  • Working knowledge of continuous integration tools (Jenkins, CircleCI, GitHub Actions) and networking fundamentals.
  • Understanding of Linux system architecture and abstract thinking abilities.
  • Ability to travel internationally 2-4 weeks per year.

Nice-to-have skills include developing production-grade web applications, operating data platforms, and experience with AI/ML pipelines and cloud technologies such as OpenStack, Kubernetes, Terraform, and AWS.

Benefits

Canonical offers a competitive, performance-based compensation package, including a performance-driven bonus, annual compensation review, personal development budget, travel opportunities, and wellness programs.

Key skills/competency

  • Distributed Systems
  • Test Automation
  • Python
  • Go
  • CI/CD
  • Cloud Technologies
  • Linux
  • Networking
  • Data Analytics
  • Continuous Integration

How to Get Hired at Canonical

🎯 Tips for Getting Hired

  • Customize your resume: Highlight distributed systems and testing experience.
  • Emphasize technical skills: Showcase Python/Go and CI pipeline expertise.
  • Research Canonical: Understand their open source philosophy and projects.
  • Prepare for interviews: Review questions on cloud and Linux architectures.

📝 Interview Preparation Advice

Technical Preparation

Review distributed systems design principles.
Practice CI/CD tool configuration.
Brush up on Python and Go coding.
Study Linux system and networking fundamentals.

Behavioral Questions

Describe a challenge overcoming distributed system issues.
Explain teamwork in a remote collaborative environment.
Discuss adapting to evolving project requirements.
Share examples of conflict resolution within teams.

Frequently Asked Questions