Distributed Systems Software Engineer, Python / Go

Canonical - Jobs
Toronto, ON, Canada
Full-time
We are sorry. The job offer you are looking for is no longer available.

Job Description

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

What your day will look like

  • 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

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
  • 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 that you might also bring

  • 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

What we offer you

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 - we've been working remotely since 2004!
  • 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 from your team and others
  • Priority Pass for travel and travel upgrades for long haul company events

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.

6 hours ago
Related jobs
Diagnostic Solutions International
Ontario, CA

Software projects include in-flight real-time systems, hardware integration, user applications and ground database systems. Software definition, design, implementation and maintenance on a variety of software projects. Systems engineering, development, integration, verification and validation to mil...

S.i. Systems
Toronto, Ontario

Senior Software Engineer (C/C++) to guide a Firmware Team (RTOS) in planning, developing and conducting code reviews for low level drivers in Hardware products. Degree in Computer Science or Electrical/Computer Engineering. ...

QNX Software Systems
Toronto, Ontario

BlackBerry is seeking a Senior Technical Marketing Engineer to support the Technical Marketing team and wider Product Marketing Group. Manage the lab environment and demo systems to replicate real world scenarios, primarily for Endpoint Protection. A good Batchelor’s degree as a minimum in Computer ...

hireVouch
Remote, Canada or US, USA
Remote

You will design, develop and verify software that interacts with our chip; collaborating with hardware engineers and fellow software engineers in the process. We are looking for a highly motivated and creative Senior Systems Software engineer to join our Runtime team. Minimum 5 years of software eng...

Thinkific
Canada

Staff Software Engineer (Distributed - Canada). As a Staff Software Engineer, you are one of our “power implementers. You’ll work closely with Principal Engineers, and Architects to lead with technical excellence shaping the technical direction of large projects while also investing time to coach an...

Huawei Technologies Canada Co., Ltd.
Markham, Ontario

Collaborate with cross-functional teams of researchers, engineers, and product experts to integrate AI-driven solutions into real-world software systems engineering challenges. Conduct advanced research to explore and apply state-of-the-art LLM and AI techniques to improve software engineering proce...

Blackline Aluminum Systems
Markham, Ontario

Lead and co-ordinate teams of information systems professionals in the development of software and integrated information systems, process control software and other embedded software control systems. Execute and document results of software application tests and information and telecommunication sy...

Huawei Technologies Canada Co., Ltd.
Markham, Ontario

Collaborate with cross-functional teams of researchers, engineers, and product experts to integrate AI-driven solutions into real-world software systems engineering challenges. Conduct advanced research to explore and apply state-of-the-art LLM and AI techniques to improve software engineering proce...

Stripe
Canada
Remote

As part of the Marketing Systems team, you will own systems that power go-to-market motions productizing gathered insights and intelligence. We are a cross functional team of engineers, analysts, marketers, and product managers that deliver the insights, internal systems and tools that fuel Stripe’s...

Scotiabank
Toronto, Ontario

GBME is searching for Java Software Engineers who are continuous learners and are eager to boost capabilities of capital markets products and analytics platforms. Global Banking and Markets Engineering (GBME) is the fast-moving, award-winning technology engine that powers Scotiabank’s Corporate, Inv...