About the Role
About Cloudera
At Cloudera, we empower people to transform complex data into clear and actionable insights. With as much data under management as the hyperscalers, we're the preferred data partner for the top companies in almost every industry. Powered by the relentless innovation of the open source community, Cloudera advances digital transformation for the world’s largest enterprises.
What You'll Build
Cloudera is reimagining object storage for the Kubernetes era. Our customers will deploy and operate it entirely through AWC (Anywhere Cloud), our control plane for running data infrastructure on any Kubernetes cluster.
The Technical Surface
You won't touch all of this every day, but you should be comfortable picking up any of it when the system needs you to. You'll work across:
- Rust: Async I/O with tokio, io_uring buffer rings, zero-copy.
- Java: Existing Apache Ozone codebase contribute upstream fixes, and maintain the stable contract between Java metadata services and the Rust data plane.
- Go: Kubernetes operator built on controller-runtime, CRDs, reconcilers for StatefulSets/Deployments/PVs, init container orchestration, status conditions, and event reporting.
- Kubernetes: Persistent volumes and storage classes, pod topology and anti-affinity, Istio ambient mesh for mTLS, NetworkPolicies, node maintenance flows, rolling upgrades, ResourceQuotas.
- Distributed Systems: Erasure coding (RS-3-2, RS-6-3, RS-10-4), Ratis consensus, container replication, block deletion at scale, scrubber and reconciliation, online/offline EC reconstruction.
What You'll Actually Do
As a Builder
- Own end-to-end implementation of major features—from design spec through merged code to production validation.
- Contribute upstream to Apache Ozone for shared components.
- Build the Kubernetes-native test suite, S3 conformance, EC fault injection via pod eviction, decommission and maintenance mode flows, and bit rot detection.
As a Force Multiplier
- Mentor engineers across the Rust, Go, and Java parts of the stack. The team has deep individual expertise but needs someone who can connect the dots between layers.
- Run rigorous technical reviews. We don't approve PRs that pass tests but skip invariant verification. We don't ship features without articulated failure modes. You will set this bar.
- Make and document architectural decisions. Not every choice has a "right" answer—what matters is that the rationale survives the engineer who made it.
- Push back on scope creep, hidden complexity, and "let's add it just in case" thinking. Three similar lines of code beats a premature abstraction.
What You Bring
Required
- 8+ years building production distributed systems, with at least 3 years at the Staff level (or equivalent). You've owned systems through architecture, implementation, on-call, and customer escalations.
- Deep expertise in at least two of: Rust, Go, Java. You don't need to be world-class in all three on day one, but you've shipped non-trivial code in multiple languages and aren't religious about which language solves a given problem.
- Strong storage or distributed systems background. You understand consensus protocols (Raft, Paxos), erasure coding tradeoffs (latency vs. durability vs. storage overhead), the cost of fsync, and why "exactly once" is a lie.
- Production Kubernetes experience. You've written operators, debugged controller reconciliation loops, traced networking issues across CNI/Istio, and understand the gap between kubectl apply succeeded and "the system actually works."
- Track record of technical leadership. Design specs you've authored that others built from, architectural decisions that survived contact with reality, and PR feedback that measurably improved code.
- Comfort with ambiguity. You make progress when the spec isn't clear, upstream behavior is undocumented, and the team disagrees on the approach.
Strongly Preferred
- Apache Ozone or HDFS experience.
Requirements
Distributed Systems Experience
You should have over 8 years of experience building production distributed systems.
Technical Leadership
A proven track record of leading technical projects and mentoring engineers is essential.
Kubernetes Proficiency
Experience with Kubernetes, including writing operators and debugging reconciliation loops, is required.
Multi-language Expertise
Deep expertise in at least two programming languages, including Rust, Go, or Java, is necessary.
Nice to Have
Familiarity with Apache Ozone or HDFS is a strong plus.
Understanding of consensus protocols like Raft and Paxos is beneficial.
Benefits
Remote Work
The position allows for remote work flexibility.
Professional Development
Opportunities for professional growth and learning are provided.