Member of Technical Staff 3 - Dev
Hungry, Humble, Honest, with Heart.
- Transforming eventually consistent systems into strongly consistent (CP) architectures using consensus protocols such as Paxos
- Designing mechanisms for safe membership changes in distributed rings
- Handling replication, quorum management, and partition tolerance
- Ensuring data integrity during node additions, removals, failures, and network partitions
- Optimizing performance across storage engines and metadata paths
- Deep ownership of correctness and reliability
- Strong emphasis on debugging real-world distributed failures
- Frequent discussions on consensus algorithms, failure modes, and system trade-offs
- Pragmatic decision-making grounded in distributed systems theory
- Design & Development
- Architect and implement enhancements to distributed database components that improve scalability, resilience, and operational safety.
- Design safe workflows for cluster membership changes while preserving consistency guarantees.
- Consistency & Consensus
- Work on consensus-driven systems ensuring linearizability and strict correctness.
- Improve mechanisms around quorum coordination, replication flows, and failure recovery.
- Fault Tolerance & Recovery
- Strengthen system behavior under hardware failures, network partitions, disk issues, and partial outages.
- Improve safeguards against metadata corruption and split-brain scenarios.
- Performance & Optimization
- Identify and eliminate bottlenecks in multi-threaded and asynchronous code paths.
- Optimize latency and throughput in metadata-heavy workloads.
- Debugging & Root Cause Analysis
- Investigate complex distributed failures in production environments.
- Analyze logs, metrics, and traces to isolate race conditions, state machine inconsistencies, and performance regressions.
- Technical Leadership
- Lead medium-sized features end-to-end.
- Mentor junior engineers and raise the bar in code quality and design rigor.
- Participate actively in design reviews and architectural discussions.
- 4–8+ years of experience in backend or systems engineering.
- Strong exposure to distributed systems, storage engines, or database internals.
- Strong programming skills in C++. Familiarity with Java is a plus.
- Deep understanding of:
- Consensus protocols (Paxos/Raft)
- CAP theorem trade-offs
- Replication strategies and quorum-based systems
- Sharding and partitioning
- Failure detection and recovery mechanisms
- Multi-threaded and asynchronous system design
- Experience working with distributed databases or key-value stores.
- Understanding of LSM-tree-based storage engines and compaction strategies is desirable.
- Ability to debug large, complex codebases.
- Comfort with production troubleshooting under ambiguous failure conditions.
- Strong analytical mindset when reasoning about state machines and distributed correctness.
- Bachelor’s or Master’s degree in Computer Science or a related field.
--
Nutanix is an equal opportunity employer.
Nutanix is an Equal Employment Opportunity and (in the U.S.) an Affirmative Action employer. Qualified applicants are considered for employment opportunities without regard to race, color, religion, sex, sexual orientation, gender identity or expression, national origin, age, marital status, protected veteran status, disability status or any other category protected by applicable law. We hire and promote individuals solely on the basis of qualifications for the job to be filled. We strive to foster an inclusive working environment that enables all our Nutants to be themselves and to do great work in a safe and welcoming environment, free of unlawful discrimination, intimidation or harassment. As part of this commitment, we will ensure that persons with disabilities are provided reasonable accommodations. If you need a reasonable accommodation, please let us know by contacting [email protected].