REQUIRED SKILLSET-
Candidate must demonstrate experience building, designing, or operating distributed storage systems or components.
Simply using a distributed database or storage system as an application backend does not satisfy this requirement.
Candidate should be able to explain concepts such as data consistency, replication behavior, and whether data written to one node can be immediately observed from another node, supported by examples from prior projects.
Preferably located in the Bay Area or San Jose, but not required.
KEY RESPONSIBILITIES
1. Design, develop, maintain and provide on-call support for high-performance, scalable, and reliable backend services that interact with various storage systems
2. Troubleshoot production issues, perform debugging, and provide operational support
REQUIRED SKILLS
1. Coding:
2. Design:
3. Scheduling:
REQUIRED TECHNICAL EXPERIENCE:
Candidate must demonstrate hands-on experience across all categories listed below, with at least one relevant technology in each category supported by prior project or assignment experience. A single project or assignment may be used to demonstrate expertise across multiple categories.
Concurrent Programming: Experience with asynchronous programming, multi-threading, concurrency models, and related design patterns.
Remote Procedure Call (RPC): Experience designing or implementing RPC-based services using technologies such as gRPC or Apache Thrift. (RESTful HTTP APIs alone do not satisfy this requirement.)
Cloud Native Environment: Experience with cloud-native service architectures, including:
Distributed Storage Systems: Strong understanding of distributed storage concepts, including: