HPC Software Engineer

Canonical is a pioneering tech firm that is 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 on a daily basis.
Backend
Mid-Level Software Engineer
Remote
1,000 - 5,000 Employees
3+ years of experience
This job posting may no longer be active. You may be interested in these related jobs instead:
Software Engineer - Developer Tools

Python Software Engineer role at Canonical, focusing on developer tools and build systems for Ubuntu ecosystem.

Ubuntu Pro Client Software Engineer

Software Engineering role at Canonical developing and maintaining the Ubuntu Pro Client, requiring Python expertise and Linux systems knowledge

Ubuntu Quality Engineer

Ubuntu Quality Engineer position at Canonical, focusing on software quality, automation, and continuous integration for the Ubuntu ecosystem.

HPC Software Engineer

HPC Software Engineer position at Canonical, focusing on Python development and automation for high-performance computing infrastructure.

Python Software Engineer

Python Software Engineer position at Canonical, focusing on developing test automation tools for hardware certification with Ubuntu.

Description For HPC Software Engineer

HPC is an important and technically challenging compute domain, with specialised tooling and a very high expectation of precision, efficiency and automation. This role is for a software engineer to join our HPC team to deliver an outstanding HPC experience - from bare metal to public cloud - as part of the broader Ubuntu platform. We are looking for a range of skills and experience, and will work on everything from the kernel to Debian packaging, but the heart of our effort will be Python software development for automation of key software in the HPC sphere. Our focus is on delivering a world class experience for the operation of the HPC cluster itself.

You will be part of the team that delivers charms that deploy and manage the HPC cluster and provide HPC software packages. To succeed in this application you must be outstanding at maths and sciences, have built high quality software, have learned about open source ideally by working on it directly, and be looking for an engineering role with a company that makes mission-critical products for the global market. You should also be familiar with the open source environment, and want to build products in partnership with a community. Ideally, you should have some experience of high performance computing environments and a desire to unlock HPC for the world.

For this role you must have experience with Python. Experience in HPC environments is a strong advantage. Familiarity with HPC hardware and software is also a strong advantage - delivering great experiences with Infiniband, RDMA, CUDA, MPI, Slurm, Lustre, Singularity and related technologies will be central to this team's work. It will also be advantageous to have experience with Docker image design and operations, and public cloud image design and operations.

What your day will look like:

  • 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

What we are looking for in you:

  • You have a Bachelor's or equivalent in Computer Science, STEM or similar degree
  • You have experience with writing modern, maintainable Python
  • You love technology and working with brilliant people
  • You are curious, flexible, articulate, and accountable
  • You value soft skills and are passionate, enterprising, thoughtful, and self-motivated
  • You have interest and experience with two or more of the following: Linux, Kubernetes, Public cloud, OpenStack, LXC/LXD, Python, Go, Debian packaging
  • An exceptional academic track record from both high school and preferably university
  • Willingness to travel up to 4 times a year for internal events

Canonical is a distributed work environment with twice-yearly team sprints in person. We offer a personal learning and development budget, annual compensation review, recognition rewards, annual holiday leave, maternity and paternity leave, Employee Assistance Programme, and opportunities to travel to new locations to meet colleagues.

Last updated 4 months ago

Responsibilities For HPC Software Engineer

  • 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 HPC Software Engineer

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

Benefits For HPC Software Engineer

Education Budget
  • 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?