At a Glance
- Tasks: Write high-quality Python software and collaborate with a global team on HPC projects.
- Company: Join Canonical, a leader in open source software and innovation.
- Benefits: Enjoy remote work, competitive salary, personal development budget, and travel opportunities.
- Why this job: Make an impact in high-performance computing and work with cutting-edge technology.
- Qualifications: Bachelor's in Computer Science or STEM, experience in Python, and passion for technology.
- Other info: Remote-first culture with annual team events and a focus on diversity and inclusion.
The predicted salary is between 36000 - 60000 Β£ per year.
Canonical is a leading provider of open source software and operating systems to the global enterprise and technology markets. Our platform, Ubuntu, is widely used in breakthrough enterprise initiatives such as public cloud, data science, AI, engineering innovation, and IoT.
The HPC Engineer 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, focusing on Python software development for automation of key software in the HPC sphere.
To succeed in this application you must be outstanding at maths and sciences, have built high-quality software, and have learned about open source ideally by working on it directly. You should also be familiar with the open source environment and want to build products in partnership with a community. Experience in HPC environments is a strong advantage.
For this role, you must have experience with Python. 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: This role will be based remotely in EMEA or the Americas regions.
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 defines 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
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:
- 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
Canonical is an equal opportunity employer. We are proud to foster a workplace free from discrimination. Diversity of experience, perspectives, and background create a better work environment and better products.
HPC Software Engineer employer: Canonical
Contact Detail:
Canonical Recruiting Team
StudySmarter Expert Advice π€«
We think this is how you could land HPC Software Engineer
β¨Tip Number 1
Network like a pro! Reach out to current or former employees at Canonical on LinkedIn. Ask them about their experiences and any tips they might have for landing the HPC Software Engineer role. Personal connections can make a huge difference!
β¨Tip Number 2
Show off your skills! Prepare a portfolio of your Python projects, especially those related to HPC or open source. When you get the chance to chat with recruiters or during interviews, share your work and how it aligns with Canonical's mission.
β¨Tip Number 3
Be ready to discuss your problem-solving approach! During interviews, expect technical questions that test your understanding of HPC environments. Brush up on key concepts like Infiniband, CUDA, and Slurm, and be prepared to explain how you've tackled similar challenges in the past.
β¨Tip Number 4
Donβt forget to apply through our website! Itβs the best way to ensure your application gets seen by the right people. Plus, it shows you're genuinely interested in joining the Canonical team. Good luck!
We think you need these skills to ace HPC Software Engineer
Some tips for your application π«‘
Show Off Your Python Skills: Make sure to highlight your experience with Python in your application. We want to see examples of high-quality, maintainable code you've written, so donβt be shy about sharing your projects or contributions!
Demonstrate Your HPC Knowledge: If youβve worked with HPC environments or technologies like Infiniband, CUDA, or MPI, let us know! Sharing specific experiences will help us understand how you can contribute to our team.
Be Yourself: We value soft skills just as much as technical ones. Show us your personality and passion for technology in your application. A little bit of curiosity and enthusiasm goes a long way!
Apply Through Our Website: For the best chance of success, make sure to apply through our website. Itβs the easiest way for us to keep track of your application and get back to you quickly!
How to prepare for a job interview at Canonical
β¨Know Your Python Inside Out
Since this role heavily focuses on Python software development, make sure you brush up on your Python skills. Be prepared to discuss your past projects, the challenges you faced, and how you overcame them. Practising coding problems related to automation and HPC can also give you a solid edge.
β¨Familiarise Yourself with HPC Concepts
Understanding high-performance computing is crucial for this position. Dive into topics like Infiniband, CUDA, and MPI. If you have experience operating HPC clusters, be ready to share specific examples of your work and how it contributed to the overall efficiency of the systems.
β¨Show Your Open Source Passion
Canonical values open source contributions, so if you've worked on any open source projects, be sure to highlight them. Discuss what you learned from those experiences and how they shaped your approach to software development. This will show your alignment with the company's mission.
β¨Prepare for Collaborative Scenarios
Given that the team is globally distributed, demonstrate your ability to collaborate effectively across different time zones. Think of examples where you successfully worked in a remote team setting, and be ready to discuss how you handle communication and project management in such environments.