Software Engineer - Database Engineering

Snowflake Snowflake · Data AI · CA-Menlo Park, United States · Engineering

Software Engineer for Snowflake's Database Engineering team, focusing on evolving their petabyte-scale cloud database system. Responsibilities include designing, developing, and optimizing the system for performance, scalability, and reliability, as well as implementing new service architectures and tools for customer insights. The role emphasizes strong CS fundamentals, systems programming, and problem-solving skills.

What you'd actually do

  1. Design, develop, and support a petabyte-scale cloud database that is highly parallel and fault-tolerant.
  2. Build high-quality and highly reliable software to meet the needs of some of the largest companies on the planet.
  3. Analyze and understand performance and scalability bottlenecks in the system and solve them.
  4. Pinpoint problems, instrument relevant components as needed, and ultimately implement solutions.
  5. Design and implement novel query optimization or distributed data processing algorithms which allow Snowflake to provide industry leading data warehousing capabilities.

Skills

Required

  • 2+ years industry experience working on commercial or open-source software.
  • Fluency in Java or C++.
  • Familiarity with development in a Linux environment.
  • Excellent problem solving skills, and strong CS fundamentals including data structures, algorithms, and distributed systems.
  • Systems programming skills including multi-threading, concurrency, etc.
  • Experience with implementation testing, debugging and documentation.
  • Ability to work on-site in our Menlo Park / Bellevue / Berlin office.

Nice to have

  • 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.
  • Large scale distributed systems, transactions and consistency models.
  • Experience in database replication technology
  • Big data storage technologies and their applications, e.g., HDFS, Cassandra, Columnar Databases, etc.

What the JD emphasized

  • petabyte-scale cloud database
  • highly parallel and fault-tolerant
  • high-quality and highly reliable software
  • performance and scalability bottlenecks
  • novel query optimization or distributed data processing algorithms