Skip to main content

Distributed Systems Software Engineer

Distributed Systems Software Engineer
Canonical
remote
10 months ago

Job Description

We are seeking a software engineer with a passion for building and validating resilient distributed systems. At Canonical you can build a career and drive the success of those leveraging Canonical's Ubuntu and Juju to build multi-cloud deployable cloud 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 test automation, reporting and data analytics.
The Distributed Systems testing team at Canonical is responsible for ensuring the high quality of Canonical's Cloud solutions based on Juju, Terraform, OpenStack, Kubernetes when deployed under highly diverse conditions, from bare metal in customer data centers to public clouds like 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. Upcoming initiatives you will have the opportunity to contribute to include expanding deployment capabilities to new clouds and developing 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.

Location

this is a Globally remote role

Responsibilities

  • Create automated testing approaches and infrastructure for validating reliability, performance, and resilience of cloud orchestration tools and applications
  • Enable engineering teams across Canonical to develop software with confidence by making distributed system testing tooling available across the company
  • Enhance continuous integration pipelines for deploying and testing Canonical's cloud native products such as Kubeflow
  • Deploy, manage, and debug highly distributed systems
  • Monitor and report on automated testing efforts
  • Collaborate daily with a globally distributed team

Requirements

Solid background in modern test processes and strategies. Experience with Python or Go development. Strong object oriented development skills. Ability to develop and ship production grade modern web applications. Working knowledge of continuous integration tools such as Jenkins, CircleCI, GitHub CI. Knowledge of networking technologies and fundamentals. Solid understanding of Linux system architecture. A capacity for complex abstract thinking. Capability for 2-4 weeks of international travel travel per year.

Additional Skills

  • Collecting and analyzing large multidimensional datasets
  • Operating data platforms: key-value stores, relational or document databases, event buses
  • Work with cloud technologies such as OpenStack, Kubernetes, Terraform and AWS
  • Developing AI/ML pipelines

Benefits

  • Geographically-based compensation
  • Personal learning and development budget
  • Annual compensation review
  • Recognition rewards
  • Annual holiday leave
  • Maternity and paternity leave
  • Employee Assistance Programme
  • Travel opportunities
  • Company event travel benefits

Equal Opportunity

Canonical believes a diverse workforce enhances our ability to deliver world class software and services which meet the world's computing needs. We are committed to ensuring equal employment opportunities to all qualified individuals. All qualified applicants will receive consideration for employment without regard to race, color, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability, age, or veteran status.

Expertise level

Work arrangement

Key skills

Similar Jobs in Germany

Similar Jobs in Bayern

Similar Jobs in Munich