All remote jobs

Software Engineer, Ceph & Distributed Storage

AI Summary
Canonical is seeking a Software Engineer to build and maintain software supporting Ceph and distributed-storage operations within its Cloud Engineering organization. The role focuses on production-scale systems, including Ceph, OpenStack, Kubernetes, Linux, and public-cloud environments, using primarily Python and Go. The engineer will debug complex issues, contribute to technical documentation, and collaborate asynchronously with a globally distributed open-source team. Candidates need hands-on Ceph experience, strong software-engineering fundamentals, and willingness to travel internationally up to four times per year. The position is remote across EMEA and the Americas and emphasizes ownership, communication, and technical excellence.
Remote from
USA, Canada, EMEA+1 more, LATAM
Salary
Undisclosed
Employment
Full Time
Experience
Open level
Published
Apply before
7 Dec 2026
Listing views
13
Application actions
0
Application toolkit

Make your next move.

Prepare your resume, explore your fit, and draft a cover letter for this opportunity.

Opportunity details

About this role.

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 the best 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.

#LI-remote

Apply now >

This job listing has been manually reviewed by the Jobicy Trust & Safety Team for compliance with our posting guidelines, including verification of the company's legitimacy, accuracy of job details, clarity of remote work policy, and absence of misleading or fraudulent content.

Role DNA

A quick view of the complexity, pace, ownership and collaboration implied by the job description.

Job Complexity

5/5
EasyHard

Pace & Pressure

4/5
RelaxedFast-paced

Autonomy Level

5/5
GuidedFull ownership

Communication Load

4/5
IndependentCollaborative
AI insightThis is a highly technical infrastructure engineering role requiring production knowledge of Ceph, distributed systems, Python or Go, and cloud-native platforms. Engineers must independently solve complex reliability and scale problems while collaborating effectively across a global team.

Salary analysis

Estimated compensation compared with the broader US market for similar roles.

Estimated job median (per year)Highly competitive
$145,000
US market range (per year)$120k–$170k
AI insightThe yearly pay period is inferred from the job context; it was not explicitly stated by the employer. No employer base-pay range is disclosed. The figures shown are estimated annual USD market compensation for a mid-to-senior distributed-storage software engineer in the US market; the yearly cadence is inferred from standard full-time professional software-engineering compensation conventions.

Core skills

Skills and capabilities most closely associated with this opportunity.

Sample interview questions
How would you investigate intermittent latency spikes in a production Ceph cluster?

I would first establish the scope through client latency, OSD latency, network, disk, and monitor metrics, then correlate the timing with recovery, rebalancing, backfill, workload changes, and hardware events. I would inspect Ceph health details and logs, validate CRUSH placement and pool settings, and isolate whether the bottleneck is network, storage media, CPU, or an uneven OSD workload before proposing a low-risk remediation.

Describe how you would design a Python service that manages the lifecycle of distributed-storage resources.

I would separate API, domain, and infrastructure concerns, define idempotent operations, and use explicit state transitions for lifecycle actions. The service would include retries with backoff, timeouts, structured logging, metrics, input validation, and clear error handling. I would also create unit and integration tests around failure scenarios such as unavailable nodes, partial completion, and conflicting requests.

What are important considerations when writing an operator for Kubernetes-managed storage software?

The operator should reconcile desired and observed state safely and idempotently, expose meaningful status conditions, and avoid destructive actions without safeguards. It should manage upgrades, configuration changes, secret handling, health checks, resource limits, and recovery from failed reconciliations. Documentation and observability are also essential so operators can understand and safely operate the system.

How do you approach debugging a difficult distributed-systems issue that cannot be reproduced locally?

I start by improving observability and collecting evidence from the affected environment, including logs, traces, metrics, configuration, versions, and event timelines. I form testable hypotheses, narrow variables through comparison with healthy systems, and build a minimal reproduction or simulation where possible. I communicate findings and uncertainty clearly, then validate the fix with targeted tests and production-safe rollout steps.

How would you collaborate effectively with a globally distributed open-source engineering team?

I would make progress visible through concise written updates, well-scoped issues, design proposals, and reviewable pull requests. I would document decisions and trade-offs asynchronously, seek early feedback on ambiguous work, and remain responsive across time zones without relying on meetings for every decision. For open-source contributions, I would follow project conventions and engage constructively with maintainers and users.

This analysis is generated from the job description. Salary estimates, role characteristics and sample answers are guidance, not employer-provided facts.
Next step

Apply now.

Follow the employer’s application method and review Jobicy’s safety guidance before sharing personal information.

Did you apply?Let us know, and we’ll help you track your application.

Continue on the employer website

Protect your personal information and never pay to secure an interview or job offer. .

Log in to save
One quick step before you apply

Sign in to continue.

Sign in or create a free account to continue to the employer's application.

Add alert
Jobs Talent AI Tools Salaries
Menu