Senior Software Engineer, Replicated Storage Services
147k – 210kUnited StatesBackend EngineeringRemote5+ YOE
Summary
Senior engineer building next-gen cloud storage and replication platform using Raft consensus. Requires 5+ years distributed C/C++ systems experience, strong fundamentals in concurrency, replication, and fault tolerance.
About the role
Responsibilities
- Develop novel data replication solutions based on the Raft consensus protocol for ensuring automatic failover and zero-downtime of user applications
- Handle distributed systems related customer escalations from Technical Support team
- Write production-ready database code in C++
- Write unit tests and integration tests in C++, Javascript, and Python to demonstrate application correctness
- Diagnose test failures, identify bugs in existing code, and fix them
- Investigate the performance impact of code changes that may cause software performance regressions
- Interview candidates for software engineering positions
- Develop and maintain expertise on cutting edge database and distributed systems research from industry and academia
- Handle (or lead the effort to handle) time-sensitive customer escalations
- Lead development and project management of large, cross-team projects
- Collaborate with stakeholders and engineering teams across the company to jointly work on large initiatives
- Advise Product Management on engineering complexity and inter-project dependencies
- Collaborate with Product Management and Engineering leadership to define product roadmaps
Requirements
- Minimum 5 years of experience in programming, debugging, and performance tuning distributed and/or highly concurrent C/C++ software systems
- Strong systems fundamentals, including multi-threaded programming and performance profiling
- Familiarity with distributed systems such as consensus protocols, data replication, distributed transactions, and fault tolerance
- Familiarity with database internals or building core components for data processing systems
- Excellent verbal and written technical communication skills and a desire to collaborate with colleagues and mentor junior engineers and interns
- Excellent time management skills and the ability to make realistic assessments of project complexity
- Passion for learning new things in the domains of computer science and software engineering
Nice-to-Haves
- Experience in C++ is preferable, but not required
Skills
C++CRaft consensus protocolDistributed systemsData replicationMulti-threaded programmingPerformance profilingDatabase internalsUnit testingIntegration testing
Similar roles at this salary range
All Backend Engineering jobs →Senior Software Engineer, Compute (Temporal Cloud)
Build and operate distributed systems and multi-tenant platform services for Temporal Cloud. Own SLOs, incident response, and production reliability for APIs and control/data planes.
176k – 238kUnited StatesBackend EngineeringRemote5+ YOEGoIAM
Senior Software Engineer, Atlas Search Query
Lead complex search query architecture and optimization projects for MongoDB Atlas Search. Requires 5+ years in data management/search systems, distributed systems experience, and proficiency in Java and Rust.
126k – 248kSan Francisco, CABackend EngineeringHybrid5+ YOEJavaRust