Snowflake started with a clear vision: make modern data warehousing effective, affordable, and accessible to all data users. Focused on this vision, Snowflake developed an innovative product with a new built-for-the-cloud architecture that combines the power of data warehousing, the flexibility of big data platforms, and the elasticity of the cloud for both compute and storage at a fraction of the cost of traditional solutions.
Our customers are so happy with our technology and are constantly asking us to expand our offerings. Hence, Snowflake is now striving to become the cloud data platform of choice for everyone who needs affordable, reliable, scalable and elastic data management in the cloud. Armed with great technical talent our expanded product offering will be designed for the cloud and automatically handle infrastructure, optimization, availability, data protection, and more, so our users can focus on using their data, not managing it.
In our effort to expand the snowflake product offering we’re hiring talented Software Engineers who can be part of a world class team which is already building a whole new product area for Snowflake. This role is a unique opportunity to make a significant impact on our elastic, large scale, high-performance computing environment. Be part of the vision to create the best data platform.As a Software Engineer at Snowflake you will:
- Identify and implement novel query optimization, transaction management, or distributed data processing algorithms which allow Snowflake to deliver industry leading cloud database systems.
- Design, Develop, and Support a highly-parallel and fault-tolerant database system.
- Deal with issues from logical representation of the execution plan to efficient resource management, all the way down to low latency query execution.
- Evaluate and determine priorities with a critical understanding of where performance matters most.
- Analyze and understand performance and scalability bottlenecks in the system and solve them.
- Pinpoint problems, instrument relevant components as needed, and ultimately implement solutions.
- 5+ years hands-on software engineering experience.
- Background in database internals or building core components for data processing systems (query compilation, query execution, storage engines, transaction processing)
- Strong database fundamentals including SQL, performance and schema design.
- Strong systems fundamentals including multi-threading, IO subsystem and scheduling.
- Strong CS fundamentals including data structures, algorithms, and distributed systems.
- Systems programming skills including multi-threading, concurrency, etc. Fluency in C++, C, or Java preferred.
- Experience with scalable Key-Value stores such as FoundationDB, RocksDB/LevelDB, DynamoDB, Redis, etc. a plus.
- Track record of identifying and implementing creative solutions.
- Track record working with data from multiple sources.
- BS in Computer Science; Masters or PhD Preferred.
- Build an industry-leading data management system that customers love.
- Solve challenging technical problems related to security, parallel and distributed systems, programming, resource management, large-scale system maintenance, and more!
- Learn about and contribute to:
- Absolutely robust and secure enterprise SaaS platform that services thousands of customers and hundreds of millions of complex queries daily.
- Highly-scalable and reliable data processing platform that runs on hundreds of thousands of machines.
- User interfaces bridging the enterprise world with the consumer experience.
- Join a world-class team of both industry veterans and rising stars.