HPC Software Engineer

HPC Software Engineer

London Full-Time 36000 - 60000 ÂŁ / year (est.) No home office possible
C

At a Glance

  • Tasks: Join our HPC team to develop high-quality Python software for automation in high-performance computing.
  • Company: Canonical is a leading open-source software provider, known for its Ubuntu platform and global collaboration.
  • Benefits: Enjoy remote work, annual bonuses, personal development budgets, and opportunities for travel.
  • Why this job: Be part of a mission-critical team delivering cutting-edge technology with a focus on community collaboration.
  • Qualifications: Bachelor’s in Computer Science or STEM, experience in Python, and a passion for technology are essential.
  • Other info: Willingness to travel up to four times a year for team events is required.

The predicted salary is between 36000 - 60000 ÂŁ per year.

Company Overview Canonical is a leading provider of open source software and operating systems to the global enterprise and technology markets. Our platform, Ubuntu, is very widely used in breakthrough enterprise initiatives such as public cloud, data science, AI, engineering innovation and IoT. Our customers include the world\’s leading public cloud and silicon providers, and industry leaders in many sectors. The company is a pioneer of global distributed collaboration, with 1000+ colleagues in 70+ countries and very few office based roles. Teams meet two to four times yearly in person, in interesting locations around the world, to align on strategy and execution. The company is founder led, profitable and growing.HPC Engineer Role 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.Location Location: This role will be based remotely in EMEA or the Americas regionsWhat your day will look like Write high quality, rigorously designed Python softwareCollaborate proactively with a globally distributed teamDebug issues and produce high quality code to fix themContribute to technical documentation that define best practices for authoring high quality operatorsDiscuss ideas and collaborate on finding good solutionsWhat we are looking for in you You have a Bachelor\’s or equivalent in Computer Science, STEM or similar degreeYou have experience with writing modern, maintainable PythonYou love technology and working with brilliant peopleYou are curious, flexible, articulate, and accountableYou value soft skills and are passionate, enterprising, thoughtful, and self‐motivatedYou have interest and experience with two or more of the following: Linux, Kubernetes, Public cloud, OpenStack, LXC/LXD, Python, Go, Debian packagingAn exceptional academic track record from both high school and preferably universityWillingness to travel up to 4 times a year for internal eventsAdditional Skills That You Might Also Bring Experience operating HPC clusters in productionExperiences with Infiniband, RDMA, CUDA, MPI, Slurm, Lustre, and/or SingularityWhat we offer you Distributed work environment with twice‐yearly team sprints in personPersonal learning and development budget of USD 2,000 per yearAnnual compensation reviewRecognition rewardsAnnual holiday leaveMaternity and paternity leaveEmployee Assistance ProgrammeOpportunity to travel to new locations to meet colleagues from your team and othersPriority Pass for travel and travel upgrades for long haul company eventsAbout Canonical 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. We recruit on a global basis and set a very high standard for people joining the company. We expect excellence – in order to succeed, we need to be the best at what we do.Canonical has been a remote‐first company since its inception in 2004. Work at Canonical is a step into the future, and will challenge you to think differently, work smarter, learn new skills, and raise your game. Canonical provides a unique window into the world of 21st‐century digital business.Canonical is an equal opportunity employerWe are proud to foster a workplace free from discrimination. Diversity of experience, perspectives, and background create a better work environment and better products. Whatever your identity, we will give your application fair consideration.

#J-18808-Ljbffr

HPC Software Engineer employer: Canonical

Canonical is an exceptional employer that champions a distributed work culture, allowing you to collaborate with talented individuals from around the globe while enjoying the flexibility of remote work. With a strong focus on employee growth, we offer a personal learning and development budget, annual compensation reviews, and unique opportunities to travel for team sprints in exciting locations. Join us to be part of a pioneering company that values innovation and community in the open source software space.
C

Contact Detail:

Canonical Recruiting Team

StudySmarter Expert Advice 🤫

We think this is how you could land HPC Software Engineer

✨Tip Number 1

Familiarise yourself with the latest trends and technologies in high performance computing (HPC). Understanding tools like Infiniband, CUDA, and MPI will not only enhance your knowledge but also demonstrate your commitment to the field during discussions.

✨Tip Number 2

Engage with the open source community by contributing to relevant projects. This experience will not only improve your coding skills in Python but also show potential employers that you are proactive and passionate about collaborative software development.

✨Tip Number 3

Network with professionals in the HPC domain through online forums or local meetups. Building connections can provide insights into the industry and may lead to referrals or recommendations for job openings at companies like us.

✨Tip Number 4

Prepare to discuss your problem-solving approach and past projects in detail during interviews. Highlighting your experience with debugging and producing high-quality code will showcase your technical abilities and fit for our team.

We think you need these skills to ace HPC Software Engineer

Proficiency in Python programming
Experience with high performance computing (HPC) environments
Familiarity with HPC hardware and software technologies (Infiniband, RDMA, CUDA, MPI, Slurm, Lustre, Singularity)
Knowledge of Linux operating systems
Experience with Docker image design and operations
Understanding of public cloud platforms and image design
Ability to write high quality, maintainable code
Strong debugging skills
Technical documentation skills
Collaboration in a distributed team environment
Problem-solving skills
Adaptability and willingness to learn new technologies
Experience with Debian packaging
Familiarity with Kubernetes and OpenStack
Strong mathematical and scientific background
Excellent communication skills

Some tips for your application 🫡

Tailor Your CV: Make sure your CV highlights your experience with Python and any relevant HPC environments. Include specific projects or contributions to open source that demonstrate your skills in software development and collaboration.

Craft a Compelling Cover Letter: In your cover letter, express your passion for technology and working in open source. Mention your understanding of HPC and how your background aligns with the role's requirements. Be sure to convey your enthusiasm for contributing to the Ubuntu platform.

Showcase Relevant Skills: When detailing your skills, focus on those mentioned in the job description such as experience with Infiniband, RDMA, CUDA, and Docker. Provide examples of how you've used these technologies in past projects to solve problems or improve efficiency.

Highlight Soft Skills: Since the role involves collaboration with a globally distributed team, emphasise your soft skills. Discuss your ability to communicate effectively, work flexibly, and contribute to a positive team environment, as these are highly valued by Canonical.

How to prepare for a job interview at Canonical

✨Showcase Your Python Skills

Since the role heavily focuses on Python software development, be prepared to discuss your experience with Python in detail. Bring examples of projects you've worked on, especially those that demonstrate your ability to write high-quality, maintainable code.

✨Demonstrate Your HPC Knowledge

Familiarity with high-performance computing environments is a strong advantage. Brush up on key technologies like Infiniband, CUDA, and MPI, and be ready to discuss how you've interacted with these tools in past roles or projects.

✨Emphasise Collaboration Skills

Given the globally distributed nature of the team, highlight your experience working in remote teams. Share examples of how you've successfully collaborated with colleagues across different time zones and cultures.

✨Prepare for Technical Questions

Expect technical questions related to both software engineering principles and specific HPC technologies. Review common algorithms, data structures, and best practices in software design to ensure you're ready to tackle any technical challenges during the interview.

HPC Software Engineer
Canonical
Location: London

Land your dream job quicker with Premium

You’re marked as a top applicant with our partner companies
Individual CV and cover letter feedback including tailoring to specific job roles
Be among the first applications for new jobs with our AI application
1:1 support and career advice from our career coaches
Go Premium

Money-back if you don't land a job in 6-months

C
Similar positions in other companies
UK’s top job board for Gen Z
discover-jobs-cta
Discover now
>