Taro Logo

Software Engineer - HPC

Canonical is a pioneering tech firm at the forefront of the global move to open source, publishing Ubuntu, a platform for AI, IoT and the cloud.
Backend
Mid-Level Software Engineer
Remote
AI · Enterprise SaaS
This job posting may no longer be active. You may be interested in these related jobs instead:

Description For Software Engineer - HPC

Canonical is seeking a Software Engineer to join their HPC team to deliver an outstanding HPC experience, from bare metal to public cloud, as part of the broader Ubuntu platform. This role focuses on Python software development for automation of key software in the HPC sphere, aiming to deliver a world-class experience for HPC cluster operations.

Key responsibilities include:

  • Writing high-quality, rigorously designed Python software
  • Collaborating with a globally distributed team
  • Debugging issues and producing high-quality code fixes
  • Contributing to technical documentation for best practices in authoring high-quality operators
  • Discussing ideas and finding good solutions

The ideal candidate should have:

  • A Bachelor's or equivalent in Computer Science, STEM, or similar degree
  • Experience with modern, maintainable Python
  • Interest and experience with Linux, Kubernetes, Public cloud, OpenStack, LXC/LXD, Python, Go, or Debian packaging
  • An exceptional academic track record
  • Willingness to travel up to 4 times a year for internal events

Additional valuable skills include experience operating HPC clusters in production and familiarity with technologies like Infiniband, RDMA, CUDA, MPI, Slurm, Lustre, and Singularity.

Canonical offers a distributed work environment, personal learning budget, annual compensation review, recognition rewards, holiday leave, maternity/paternity leave, and opportunities for travel. As a remote-first company since 2004, Canonical provides a unique window into 21st-century digital business and challenges employees to think differently and raise their game.

Join Canonical to be part of a team delivering charms that deploy and manage HPC clusters and provide HPC software packages, contributing to the future of open source technology.

Last updated 8 months ago

Responsibilities For Software Engineer - HPC

  • Write high quality, rigorously designed Python software
  • Collaborate proactively with a globally distributed team
  • Debug issues and produce high quality code to fix them
  • Contribute to technical documentation that define best practices for authoring high quality operators
  • Discuss ideas and collaborate on finding good solutions

Requirements For Software Engineer - HPC

Python
Linux
Kubernetes
  • Bachelor's or equivalent in Computer Science, STEM or similar degree
  • Experience with writing modern, maintainable Python
  • Interest and experience with Linux, Kubernetes, Public cloud, OpenStack, LXC/LXD, Python, Go, or Debian packaging
  • Exceptional academic track record
  • Willingness to travel up to 4 times a year for internal events

Benefits For Software Engineer - HPC

Education Budget
  • 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 for travel and travel upgrades for long haul company events

Interested in this job?