Snowflake

Software Engineer - Database Engineering

Snowflake14 months ago
Location

US-CA-Menlo Park

Type

Full Time

Salary

USD 160,000 – 230,000

Level

Mid

Role

Backend Engineer

Posted

Jan 17, 2025

Full TimeMid

The role

Summary

Database Engineering Software Engineer role at Snowflake focused on developing and scaling petabyte-scale cloud database systems. The position involves working on high-performance data processing, query optimization, and distributed systems architecture within Snowflake's elastic cloud platform. Requires 2+ years experience with Java/C++, strong systems programming skills, and expertise in distributed systems fundamentals.

What you'll do

Petabyte-Scale Database Development: Design, develop, and support a petabyte-scale cloud database that is highly parallel and fault-tolerant
Enterprise-Grade Software Development: Build high-quality and highly reliable software to meet the needs of some of the largest companies on the planet
Performance Optimization: Analyze and understand performance and scalability bottlenecks in the system and solve them
Problem Diagnosis and Resolution: Pinpoint problems, instrument relevant components as needed, and ultimately implement solutions
Algorithm Design and Implementation: Design and implement novel query optimization or distributed data processing algorithms which allow Snowflake to provide industry leading data warehousing capabilities
Service Architecture Design: Design and implement the new service architecture required to enable the Snowflake Data Cloud
Customer Tooling Development: Develop tools for improving customers' insights into their workloads

What we look for

Technical

Programming LanguagesFluency in Java or C++ for systems-level development
Linux DevelopmentFamiliarity with development in a Linux environment
Computer Science FundamentalsStrong CS fundamentals including data structures, algorithms, and distributed systems
Systems ProgrammingSystems programming skills including multi-threading, concurrency, etc.
Software Engineering PracticesExperience with implementation testing, debugging and documentation

Education

Bachelor's DegreeBachelor's degree in Computer Science, Software Engineering or related field
Advanced Degree PreferredMasters or PhD preferred but not required

Experience

Industry Experience2+ years industry experience working on commercial or open-source software
On-site Work RequirementAbility to work on-site in Menlo Park, Bellevue, or Berlin office

Skills

Required skills

Java or C++Fluency in at least one of these systems programming languages
Linux DevelopmentExperience developing software in Linux environments
Data Structures and AlgorithmsStrong understanding of fundamental computer science concepts
Distributed SystemsKnowledge of distributed system design and implementation
Multi-threading and ConcurrencySystems programming skills for parallel processing
Testing and DebuggingExperience with software testing, debugging, and documentation practices

Nice to have

SQL and Database TechnologiesExperience with SQL and database internal design and implementation
Query OptimizationKnowledge of query optimization, execution, and compiler design
Distributed Storage SystemsExperience with FoundationDB, RocksDB, InnoDB, BerkeleyDB
Database InternalsExperience with MySQL, PostgreSQL internals
Big Data TechnologiesExperience with Hadoop, Spark, and large-scale data processing
Distributed Systems AdvancedKnowledge of transactions, consistency models, and replication
Big Data StorageExperience with HDFS, Cassandra, Columnar Databases

Compensation & benefits

Salary

USD 160,000 – 230,000 (annual)

Stock options

Available

Benefits

Competitive Salary

Market-competitive compensation package ranging from $160K-$230K

Stock Options

Equity participation in fast-growing cloud computing company

Professional Development

Opportunities to work with cutting-edge database technology and advance career

Collaborative Culture

Culture focused on impact, innovation, and collaboration


Interview process

  1. 1
    Initial Application Review Resume and application screening focusing on technical background and experience
  2. 2
    Phone/Video Technical Screen Initial technical discussion covering programming fundamentals and database concepts
  3. 3
    Technical Coding Interview Live coding session focusing on data structures, algorithms, and systems design
  4. 4
    System Design Interview Architectural discussion covering distributed systems and database design patterns
  5. 5
    On-site Interview Loop Multiple rounds including technical deep-dives, cultural fit, and team collaboration assessment
  6. 6
    Final Interview Senior leadership interview and role-specific technical discussion

Apply for this position

You'll be redirected to the company's application page