Principal Software Engineer - Performance

See more jobs from Snowflake Inc.

almost 3 years old

This job is no longer active

Build the future of data. Join the Snowflake team.

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.

Founded by industry experts and backed by strategic investors, our disruptive built-for-the-cloud architecture was designed to push the limitations of conventional data warehousing.

Our teams breed ambition, challenge ordinary thinking, push the pace of innovation, in-service of the exploding demand for accessible data.

Snowflake is growing fast and we’re scaling our team to help enable and accelerate our growth. 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. And as a Snowflake employee, you will be accountable for supporting and enabling diversity and belonging.

Snowflake started with a clear vision: make modern data warehousing effective, affordable, and accessible to all data users. Because traditional on-premises and cloud solutions struggle with this, Snowflake developed an innovative product with a new built-for-the-cloud architecture that combines the power of data warehousing, the flexibility of big data platforms, and the elasticity of the cloud at a fraction of the cost of traditional solutions.

We are looking for an outstanding software engineer to join the team and improve Snowflake performance, scalability, and reliability.

AS A SOFTWARE ENGINEER ON THIS TEAM, YOU WILL:

  • Design, develop and enhance performance tooling and infrastructure to ensure continuity in Snowflake performance, scale and operability.
  • Analyze production workloads, and develop synthetic workloads, chaos workloads and benchmarks.
  • Design and implement automated testing, monitoring, change point detection and performance data analytics for the above workloads
  • Develop tools to profile performance at runtime e.g. JMH, Google Benchmark, flame graphs.
  • Provide detailed and constructive design and code review.

AN IDEAL CANDIDATE WILL HAVE:

  • 15+ years hands-on software engineering experience.
  • BS, MS or PhD in computer science (or equivalent)
  • Expertise in identifying and analyzing performance bottlenecks
  • Strong database fundamentals
  • 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
  • Ability to work effectively both autonomously and in teams
  • Strong technical problem solving, communication, and collaboration skills
  • Excitement by the challenge of hard technical problems
  • Intense curiosity and willingness to question

BONUS POINTS:

  • Familiarity with Python, C++, or Java
  • Good working knowledge of Linux / Unix OSes
  • Experience with continuous integration and automation frameworks e.g. experience with Jenkins, Kubernetes is great!
  • Have worked on performance analysis for databases
  • Knowledge of KeyValue, NoSQL, SQL databases, database storage engines
  • Understanding of relational database concepts and SQL
  • Experience working on open source projects