We’re at the forefront of the data revolution, committed to building the world’s greatest data and applications platform. Our ‘get it done’ culture allows everyone at Snowflake to have an equal opportunity to innovate on new ideas, create work with a lasting impact, and excel in a culture of collaboration.
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.
FoundationDB (FDB) is an open source, highly scalable database capable of ACID transactions at high frequencies and low latencies. FDB has been a core component in Snowflake's unique shared-metadata architecture since 2014, making possible Snowflake's vision to build the greatest data warehouse for the cloud. FDB performs millions of transactions per second across thousands of processes. The FDB team builds features on open-source FDB that improve the performance, scale, reliability and operability of the product.
We are looking for an outstanding performance engineer to join the Berlin Snowflake team and improve FDB performance, scalability, and reliability along with Snowflake’s constantly growing needs for a faster and larger database.
AS A PERFORMANCE ENGINEER ON THIS TEAM, YOU WILL:
- Analyze FDB performance, scale, operability, and recommend and develop improvements in FDB.
- Analyze production workloads, and develop synthetic workloads, chaos workloads and benchmarks.
- Design and implement automated testing, monitoring, and results for the above workloads
- Develop tools to profile performance at runtime e.g. perf, eBPF, kernel tracking, flame graphs.
- Investigate new execution hardware, new lifecycle management tools
- Evangelize best practices in database usage and end-to-end architecture.
- Participate in the design and implementation of next generation systems
- Provide detailed and constructive design and code review.
AN IDEAL CANDIDATE WILL HAVE:
- 8+ years hands-on software engineering experience.
- Systems programming skills including multi-threading, concurrency, etc. Fluency in modern C++ is needed, i.e. C++14, C++17, C++20.
- Expertise in identifying and analyzing performance bottlenecks
- Solid understanding of OS and systems concepts like process management, concurrency, memory management, IO patterns, file systems, block storage devices, etc.
- Work experience in cloud environments like AWS, Azure, GCP
- Good working knowledge of Linux / Unix OSes
- Experience with continuous integration and automation frameworks e.g. Jenkins, Kubernetes
- Experience with performance analysis for databases
- Knowledge of KeyValue, NoSQL, SQL databases, database storage engines
- Ability to work in a team environment, collaborate well, and mentor junior engineers
- Strong oral and written English language skills
- 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.
Snowflake delivers the Data Cloud—a global network where thousands of organizations mobilize data with near-unlimited scale, concurrency, and performance. Inside the Data Cloud, organizations unite their siloed data, easily discover and securely share governed data, and execute diverse analytic workloads. Wherever data or users live, Snowflake delivers a single and seamless experience across multiple public clouds. Snowflake’s platform is the engine that powers and provides access to the Data Cloud, creating a solution for data warehousing, data lakes, data engineering, data science, data application development, and data sharing. Join Snowflake customers, partners, and data providers already taking their businesses to new frontiers in the Data Cloud.