Software Engineer - Data Warehouse

Snowflake ComputingMenlo Park, CA
69d

About The Position

Snowflake is about empowering enterprises to achieve their full potential — and people too. With a culture that's all in on impact, innovation, and collaboration, Snowflake is the sweet spot for building big, moving fast, and taking technology — and careers — to the next level. 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. Our product offering runs on multiple cloud providers including Amazon Web Services, Microsoft Azure and Google Cloud. Our infrastructure self-optimizes, provides high availability and data protection across cloud providers so our users can focus on using their data, not managing it. In our effort to enable our Data Cloud vision, we are actively hiring talented distributed systems developers. This role is a unique opportunity to make a significant impact on our elastic, large scale, high-performance computing environment. The Warehouse team is responsible for the scale, performance, health, and features around Snowilake's Virtual Warehouses. Our services span from managing hundreds of thousands of compute resources, to the scheduling of millions of jobs within warehouses, to providing capabilities for customers to make the best use of their warehouses. This is a high-impact, highly-visible product that is critical to Snowflake's core product offerings and revenue. We are looking for a highly motivated software engineer who has worked in highly available, large scale distributed systems.

Requirements

  • 2-5 years of industry experience designing, building and supporting large scale systems in production.
  • Experience designing and building large scale distributed fault tolerant services
  • Experience in designing, building, maintaining or enhancing high-scale job schedulers.
  • Excellent understanding of low level operating systems concepts including multi- threading, memory management, networking and storage, performance and scale.
  • Strong CS fundamentals including data structures, algorithms, and distributed systems. Strong experience in Java or other object oriented languages, especially in multi- threading or concurrency.
  • Track record of identifying and implementing creative solutions.
  • Experience with cloud infrastructure - AWS, Azure or Google Cloud.

Responsibilities

  • Solve real business needs at large scale by applying your software engineering and analytical problem solving skills
  • Design and implement scalable distributed systems for our services layer.
  • Lead and contribute to building and maintaining a roadmap for the area and team.
  • Analyze fault-tolerance and high availability issues, performance and scale challenges, and solve them.
  • Lead cross-functional initiatives, and collaborate with engineers, product managers, and Technical Program Managers across teams.
  • Understand trade-offs between consistency, durability and costs to build solutions which can meet the demands of rapidly growing services.
  • Ensure operational readiness of the services and meet the commitments to our customers regarding availability and performance.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service