Tech Stack
CloudDistributed SystemsJava
About the role
- Solve real business needs at large scale by applying software engineering and analytical problem solving skills.
- Build the next-generation transaction system, storage engine and multi-tenant database system.
- Design, develop, and support a highly-parallel and fault-tolerant database system including a decentralized caching system of terabytes of metadata.
- Design and implement critical high-performance systems to handle the ever growing request rate of the database.
- Design and implement core infrastructure features including APIs, DDL transactions and logs as well as advanced features such as cloning, time travel, snapshots and replication.
- Analyze and understand performance and scalability bottlenecks and solve them.
- Work on background services powering Snowflake's multi-level metadata system to support fast compilation and query optimization.
- Ensure operational readiness of services and meet commitments regarding availability and performance.
Requirements
- 5+ years industry experience designing, building and supporting large scale systems in production.
- Strong computer science fundamentals including data structures, algorithms, and distributed systems.
- Systems programming skills including multi-threading, concurrency, caching, etc.
- Fluency in Java (or other similar procedural object-oriented language) is preferred.
- Track record of identifying and implementing creative solutions.
- Knowledge of database internals is a big plus.
- BS in Computer Science; Masters or PhD Preferred.