Description
At Snowflake, we are powering the era of the agentic enterprise. To usher in this new era, we seek AI-native thinkers across every function who are energized by the opportunity to reinvent how they work.
Snowflake is a high-growth, cloud-native data platform company committed to empowering enterprises to achieve their full potential. With a culture built on impact, innovation, and collaboration, we offer an environment where you can build large-scale systems, move fast, and take your technology career to the next level.
We are seeking a highly talented and experienced Staff Software Engineer to join the Unistore team in our Database Engineering. The Unistore team is building a unified hybrid data platform that dissolves the boundaries between operational and analytical workloads. Our core product, Hybrid Tables, enables enterprises to manage both transactional and analytical data in a single place.
AS A STAFF SOFTWARE ENGINEER AT SNOWFLAKE, YOU WILL:
- Participate in the development of a unique distributed database system combining high scalability and performance with rich ACID transactions.
- Identify strategically important problems, inefficiencies or opportunities for impactful improvements.
- Design and implement novel query optimization or distributed data processing algorithms to maintain Snowflake's industry-leading data warehousing capabilities.
- Design, develop, and support a petabyte-scale cloud database system, ensuring it is highly parallel and fault-tolerant.
- Develop and implement the new service architecture required to enable the next generation of the Snowflake Data Cloud.
- Analyze, understand, and resolve complex performance and scalability bottlenecks within the system.
- Own the end-to-end delivery of your projects, including identifying solutions, design, implementation, rigorous testing, and safe production rollout.
- Ensure operational readiness and execute production operations of services, meeting our customer commitments for durability, availability, and performance.
- Build high-quality, highly reliable software that meets the demands of the world's largest companies.
- Develop tools to provide customers with greater insight into their workloads.
- Evangelize best practices for database usage and end-to-end system architecture.
- Mentor and support the professional growth of junior engineers on the team.
OUR IDEAL STAFF SOFTWARE ENGINEER WILL HAVE:
- 8+ years of industry experience working on commercial or open-source software.
- Strong fluency in C++ or Java.
- Excellent problem-solving skills and a deep understanding of Computer Science fundamentals, including data structures, algorithms, and distributed systems.
- Strong systems programming skills, including experience with multi-threading and concurrency.
- A solid foundation in distributed systems concepts (e.g., consistency, scaling, failure recovery).
- Experience with implementation testing, debugging, and documentation, specifically within a Linux development environment.
- BS in Computer Science; Masters or PhD Preferred.
- Intense curiosity, willingness to question and passion for making systems better.
BONUS POINTS FOR EXPERIENCE WITH THE FOLLOWING:
- SQL or other database technologies including internal design and implementation.
- Query optimization, query execution, compiler design and implementation.
- Experience with internals of distributed key value stores like FoundationDB and storage engines like RocksDB, InnoDB, BerkeleyDB etc.
- Experience with MySQL, PostgreSQL internals.
- Data warehouse design, database systems, and large-scale data processing solutions like Hadoop and Spark.
- Experience in database replication technology.
- Big data storage technologies and their applications, e.g., HDFS, Cassandra, Columnar Databases, etc.