Canonical is a pioneering tech firm 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. Working here is a step into the future, and will challenge you to think differently, work smarter, learn new skills, and raise your game.
We are recruiting to fill the position below:
Job Title: HPC Software Engineer
Location: Lagos (Remote)
Description
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.This role will be based remotely in EMEA or the Americas regions
Responsibilities
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
Requirements
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
Additional skills that you might also bring:
Experience operating HPC clusters in production
Experiences with Infiniband, RDMA, CUDA, MPI, Slurm, Lustre, and/or Singularity
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
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