
Software Engineer, Ceph & Distributed Storage
Canonical · NAMER
- Hybrid
- Full-time
- $120,000 / year
- NAMER
Job highlights
- Build distributed storage software for Ceph, Kubernetes, OpenStack.
- Write high-quality Python and Golang code.
- Work remotely with a global, distributed team.
- Collaborate on innovative open-source projects.
- Develop solutions for scalable production systems.
About the role
Software Engineer, Ceph & Distributed Storage
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 1200+ colleagues in 75+ 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.
We are hiring a Software Engineer for Ceph & Distributed Storage. As part of Cloud Engineering, you’ll be building modelling software to drive systems such as OpenStack, Ceph, and Kubernetes with a focus on distributed storage and Ceph. You’ll be engineering solutions to scale in production, working with our field teams to ensure we’re meeting the needs of customers looking to adopt cutting-edge technology.
Applicants should be passionate about the future of the software defined datacenter, distributed systems, and open source. Canonical is a globally distributed team of engineers who share that passion, and you will need to work well in that context. Engineers who thrive at Canonical are mindful of the dynamics of the open source ecosystem, and equally aware of the needs of large, innovative organizations.
This job involves international travel several times a year, usually for one week at a time.
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 and Golang 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
- Develop and maintain software for delivery, operations and life-cycle management of Ceph storage
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 have experience with Ceph storage
- 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 Ceph clusters in production
- Experience with open source distributed storage such as Gluster, Minio, Mayastor or similar
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 - we’ve been working remotely since 2004!
- 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
About Canonical
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 of software. 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 better at what we do. Most colleagues at Canonical have worked from home since our 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.
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. Whatever your identity, we will give your application fair consideration.
Key skills/competency
- Software Engineer
- Ceph
- Distributed Storage
- Python
- Golang
- Kubernetes
- OpenStack
- Linux
- Cloud Engineering
- Open Source
Skills & topics
- Software Engineer
- Ceph
- Distributed Storage
- Python
- Golang
- Kubernetes
- OpenStack
- Linux
- Cloud Engineering
- Open Source
- Remote
- EMEA
- Americas
How to get hired
- Tailor your resume: Highlight Python, Golang, Ceph, Kubernetes, and OpenStack experience. Quantify achievements in distributed systems.
- Showcase open-source contributions: Include links to GitHub or relevant projects demonstrating your passion and skills.
- Prepare for technical interviews: Be ready to discuss distributed systems concepts, Ceph architecture, and coding challenges in Python or Go.
- Emphasize collaboration: Demonstrate your ability to work effectively in a globally distributed, remote team environment.
Technical preparation
Behavioral questions
Frequently asked questions
- What are the key responsibilities of a Software Engineer for Ceph & Distributed Storage at Canonical?
- As a Software Engineer for Ceph & Distributed Storage at Canonical, you will be responsible for writing high-quality Python and Golang software, developing and maintaining software for Ceph storage, collaborating with a globally distributed team, debugging issues, and contributing to technical documentation. Your focus will be on building modeling software for systems like OpenStack, Ceph, and Kubernetes, with an emphasis on distributed storage.
- What technical skills are essential for this Software Engineer role at Canonical?
- Essential technical skills for this role include a strong background in Python and Golang, experience with Ceph storage, and familiarity with Linux. Experience with Kubernetes, Public Cloud, OpenStack, LXC/LXD, or Debian packaging is also highly valued. A Bachelor's degree in Computer Science, STEM, or a similar field is typically required.
- Can I work remotely for this Software Engineer position at Canonical?
- Yes, this role is based remotely and is open to candidates in the EMEA or Americas regions. Canonical is a pioneer in global distributed collaboration and has operated with a remote workforce since 2004.
- What is the travel expectation for this Software Engineer role?
- This job involves international travel several times a year, usually for one week at a time, for internal team sprints and events. The company organizes team sprints two to four times a year in interesting global locations.
- What kind of career growth and benefits does Canonical offer Software Engineers?
- Canonical offers a performance-driven compensation structure with annual reviews, a performance bonus, and a personal learning and development budget of USD 2,000 per year. They also provide recognition rewards, holiday leave, parental leave, and an Employee Assistance Programme, fostering a supportive environment for career growth.
- What does Canonical look for in candidates for their Software Engineer roles?
- Canonical looks for candidates who are passionate about open source and distributed systems, curious, flexible, articulate, and accountable. They value soft skills, self-motivation, and a proactive approach to collaboration. An exceptional academic track record is also considered.
- How does Canonical approach compensation for its remote Software Engineers?
- Canonical considers geographical location, experience, and performance when shaping compensation worldwide. They conduct annual compensation reviews to ensure outstanding performance is recognized and offer a performance-driven annual bonus in addition to base pay.