
Software Engineer (Database Engineering)
Snowflake
Job description
-
We’re hiring talented Software Engineers to join the Snowflake Database Engineering team! In this role you will work directly with our team to evolve our elastic, large scale, high-performance data processing system
-
We need smart engineers who can pick up and understand complex technical areas quickly – and who are enthusiastic about building new technologies!
-
Design, develop, and support a petabyte-scale cloud database that is highly parallel and fault-tolerant
-
Build high-quality and highly reliable software to meet the needs of some of the largest companies on the planet
-
Analyze and understand performance and scalability bottlenecks in the system and solve them
-
Pinpoint problems, instrument relevant components as needed, and ultimately implement solutions
-
Design and implement novel query optimization or distributed data processing algorithms which allow Snowflake to provide industry leading data warehousing capabilities
-
Design and implement the new service architecture required to enable the Snowflake Data Cloud
-
Develop tools for improving our customers’ insights into their workloads
Benefits
-
Comprehensive health insurance plans
-
Health savings accounts
-
Robust retirement plans
-
Life and disability insurance
-
Weekly online lunch and learns
-
Virtual workout classes
-
Ergonomic work-from-home equipment
-
On-demand mental health and wellness programs
-
Fertility benefits and family planning resources
-
Generous time-off and various leave plans
-
Onsite and Remote Work
-
Employee discounts and pre-tax selections
-
New hire equity + Employee Stock Purchase Plan (ESPP)
-
Quarterly bonus or commission program- 2+ years industry experience working on commercial or open-source software
-
Experience with implementation testing, debugging and documentation
-
Bachelor’s degree or foreign equivalent in Computer Science, Software Engineering or related field; Masters or PhD preferred
-
Systems programming skills including multi-threading, concurrency, etc
-
Excellent problem solving skills, and strong CS fundamentals including data structures, algorithms, and distributed systems
-
Familiarity with development in a Linux environment
-
Fluency in Java or C++
-
SQL or other database technologies including internal design and implementation
-
Experience with internals of distributed key value stores like FoundationDB and storage engines like RocksDB, InnoDB, BerkeleyDB etc
-
Query optimization, query execution, compiler design and implementation
-
Experience with MySQL, PostgreSQL internals
-
Big data storage technologies and their applications, e.g., HDFS, Cassandra, Columnar Databases, etc
-
Large scale distributed systems, transactions and consistency models
-
Experience in database replication technology
-
Data warehouse design, database systems, and large-scale data processing solutions like Hadoop and Spark