Senior Software Engineer - FoundationDB

See more jobs from Snowflake Inc.

9 months old

Apply Now

Build the future of data. Join the Snowflake team.

 

ABOUT SNOWFLAKE

There is only one Data Cloud. Snowflake’s founders started from scratch and designed a data platform built for the cloud that is effective, affordable, and accessible to all data users. But it didn’t stop there. They engineered Snowflake to power the Data Cloud, where thousands of organizations unlock the value of their data with near-unlimited scale, concurrency, and performance. This is our vision: a world with endless insights to tackle the challenges and opportunities of today and reveal the possibilities of tomorrow. 

We’re hiring talented Senior Software Engineers to expand the Snowflake team here in Berlin, Germany.  We’re passionate about our people, our customers, our values and our culture! We’re also looking for people with a growth mindset and the pragmatic insight to solve for today while building for the future. 

FDB is a highly scalable key-value store capable of ACID transactions at high frequencies and low latencies. FDB powers all of Snowflake’s products and services and is rapidly evolving to meet Snowflake’s future needs. FDB houses Snowflake's metadata, allowing the service to be elastic, making the Data Cloud possible. It also provides the transactional storage engine for Unistore, Snowflake's new Hybrid Transactional Analytical Processing product. FDB performs millions of transactions per second across thousands of processes. The FDB team builds features that improve the performance, scale, reliability and operability of the product.

WHAT ARE WE LOOKING FOR?

The team is responsible for overall code health and quality and owns low-level base frameworks (execution model, memory management, multithreading, serialization, simulator, other testing frameworks) used for FDB development and so largely determine the coding style and quality. The new use cases of Unistore require innovation to re-architect the core components of our system and we are planning to modernize from C++17 to C++20, hence, we are looking for an outstanding Senior Software Engineer with a passion for large scale databases and distributed systems as well as building high-quality code libraries to help us take FDB to the next level. 

AS A SENIOR SOFTWARE ENGINEER ON THIS TEAM, YOU WILL: 

  • Identify strategically important problems, inefficiencies, code quality issues or opportunities for impactful improvements
  • Own the end to end delivery of your projects, from identifying a solution, to design, implementation, test and safe production rollout
  • Design and implement critical high performance systems to handle the ever growing request rate of our database
  • Design programming models and frameworks for event driven multi-threaded programming with coroutines
  • Build advanced frameworks supporting novel programming models, drive componentization efforts and adoption of modern programming techniques
  • Evangelize best practices in database usage and end-to-end architecture. 
  • Analyze and understand performance and scalability bottlenecks in the system and solve them. 
  • Pinpoint problems, instrument relevant components as needed, and ultimately implement solutions.

AN IDEAL CANDIDATE WILL HAVE:

  • 8+ years hands-on software engineering experience
  • Expert in systems programming skills including multi-threading, concurrency, etc. 
  • Fluency in modern C++ is required.
  • Experience designing, building, and operating large-scale distributed systems or web services
  • Experience with scalable Key-Value stores such as FoundationDB, RocksDB/LevelDB, DynamoDB, Redis, etc.
  • Strong CS fundamentals including data structures, algorithms, and distributed systems
  • Ability to work in a team environment, collaborate well, and mentor junior engineers
  • Strong oral and written English language skills
  • Track record of delivering highly complex projects in the distributed systems space
  • Intense curiosity, willingness to question and passion for making systems better
  • Excitement by the challenge of hard technical problems
  • BS in Computer Science; Masters or PhD Preferred.

 

About Snowflake:

Snowflake SIGMOD 2016 paper

About FoundationDB: 

FDB SIGMOD 21 Paper

FoundationDB Summit 2018 and FoundationDB Summit 2019

How FDB powers Snowflake Metadata Forward!

Snowflake is growing fast, and we’re scaling our team to help enable and accelerate our growth. We are looking for people who share our values, challenge ordinary thinking, and push the pace of innovation while building a future for themselves and Snowflake.