Remote Snowflake Engineer Jobs

Typical Software Engineering salary: $200k–$292k · 282 listings with salary data

Snowflake engineers design and operate the cloud data warehouse infrastructure that data teams use to store, transform, and query business data at scale — architecting database and schema structures that organize data across layers from raw ingestion through curated analytics tables, optimizing query performance through clustering key selection and materialized view design, implementing Snowflake's data sharing capabilities to publish governed datasets to internal consumers and external partners, and managing the virtual warehouse compute resources that balance query performance against cloud compute costs. At remote-first technology companies, they serve as the data platform specialists who own the Snowflake environment that data analysts, data scientists, and BI engineers query daily — ensuring that table structures are queryable, compute costs are predictable, and security policies enforce least-privilege access across the organization's data assets.

What Snowflake engineers do

Snowflake engineers architect databases and schemas — designing three-layer architecture (raw/staging/marts or bronze/silver/gold) with appropriate database and schema separation for workload isolation; design tables — choosing between regular tables, transient tables, and temporary tables; implementing clustering keys for large tables where query pruning is required; using dynamic tables for incremental refresh; implement data loading — using COPY INTO from S3, GCS, or Azure Blob with external stages, file formats, and Snowpipe for continuous streaming ingestion; implement data transformation — writing stored procedures, tasks, and streams for ELT pipelines; integrating with dbt for model-based transformation with Snowflake-specific materializations; configure virtual warehouses — sizing warehouses from XS through 6XL, configuring auto-suspend and auto-resume, implementing multi-cluster warehouses for concurrency scaling; optimize query performance — analyzing query profiles in the Snowflake web UI, identifying full table scans, partition pruning inefficiency, and spillage to remote disk; adding clustering keys for range-scan-heavy queries; implement Snowflake Streams — capturing change data from tables for incremental processing without full table re-reads; implement Snowflake Tasks — scheduling SQL and stored procedure execution with task graphs that implement DAG-based pipeline orchestration; configure data sharing — creating shares, adding database objects to shares, and granting shares to consumer accounts for cross-account data distribution; implement row-level and column-level security — using row access policies and column masking policies for fine-grained data access control; manage roles and access — designing RBAC hierarchies with functional and object access roles that implement least-privilege access to Snowflake objects; and implement cost governance — monitoring credit consumption with ACCOUNT_USAGE views, implementing resource monitors, and tagging warehouses for cost allocation.

Key skills for Snowflake engineers

  • Snowflake architecture: databases, schemas, three-layer data architecture (bronze/silver/gold), workload isolation
  • Table design: clustering keys, micro-partition pruning, search optimization, dynamic tables, transient vs permanent
  • Data loading: COPY INTO, external stages (S3/GCS/Azure), Snowpipe, file formats (JSON/Parquet/CSV/ORC)
  • Virtual warehouses: sizing, auto-suspend/resume, multi-cluster warehouses, warehouse per workload pattern
  • Streams and tasks: CDC capture with streams, scheduled task graphs, serverless task mode
  • Query optimization: query profile analysis, partition pruning, result cache, clustering effectiveness
  • Security: RBAC design, row access policies, column masking policies, dynamic data masking, network policies
  • Data sharing: provider/consumer architecture, shares, listings on Snowflake Marketplace
  • dbt integration: Snowflake adapter, incremental models, materializations (table/view/incremental/dynamic_table)
  • Cost governance: resource monitors, ACCOUNT_USAGE views, query tagging, credit consumption alerting

Salary expectations for remote Snowflake engineers

Remote Snowflake engineers earn $110,000–$175,000 total compensation. Base salaries range from $90,000–$145,000, with equity at technology companies where data warehouse performance, query reliability, and cloud compute cost efficiency directly affect the business intelligence and analytics capabilities that executive and product teams depend on. Snowflake engineers with advanced Snowpark development expertise for Python-based data transformation within Snowflake, Snowflake Data Sharing and Marketplace implementation experience for external data distribution, performance optimization depth for petabyte-scale Snowflake environments with complex clustering and materialized view strategies, and demonstrated ability to reduce Snowflake credit consumption by 40% or more through warehouse right-sizing and query optimization command the strongest premiums. Those with experience architecting multi-cloud Snowflake deployments across AWS, Azure, and GCP organizations earn toward the top of the range.

Career progression for Snowflake engineers

The path from Snowflake engineer leads to senior data engineer (broader scope across data ingestion, transformation, and orchestration alongside Snowflake platform ownership), data platform architect (designing the complete data infrastructure strategy including warehouse selection, orchestration, and data mesh architecture), or analytics engineering lead (owning the dbt transformation layer and data model governance for the organization's analytics data products). Some Snowflake engineers specialize into Snowflake performance engineering, developing deep expertise in clustering, query optimization, and cost governance that applies to the largest, most complex Snowflake environments. Others expand into data governance engineering, implementing data catalog integration, column-level lineage tracking, and data quality frameworks that make Snowflake data assets discoverable and trustworthy. Snowflake engineers with product backgrounds sometimes transition into data product management, defining the data assets and SLAs that internal and external consumers depend on.

Remote work considerations for Snowflake engineers

Operating Snowflake at a remote company requires access governance documentation, cost visibility tooling, and query performance standards that allow distributed data teams to build analytics assets, control costs, and diagnose performance issues without requiring synchronous support from the platform team. Snowflake engineers at remote companies implement role-based access control documentation that maps every functional role to its object access permissions — so distributed data engineers understand what they can and cannot access before opening a support ticket; configure resource monitors with Slack notifications that alert distributed teams when warehouse credit consumption exceeds daily or weekly thresholds, giving cost visibility without requiring the platform team to monitor every query; publish query performance runbooks that document how to read the Snowflake query profile, identify the most common performance antipatterns (missing clustering key, excessive spillage, suboptimal join order), and implement the fix — so distributed data engineers can self-serve performance optimization for their own queries; and implement query tagging conventions that attribute credit consumption to the team, project, and use case responsible for each query, enabling accurate cost allocation across a distributed organization.

Top industries hiring remote Snowflake engineers

  • SaaS and technology companies where Snowflake serves as the central data warehouse for product analytics, customer data, and operational metrics — where data engineering teams build and maintain the transformation pipelines and data models that analytics teams query through BI tools
  • Financial services and fintech companies where Snowflake's SOC 2 Type II compliance, column-level security, and data masking capabilities satisfy regulatory data access requirements while providing the query performance and scale that financial data analysis requires
  • Healthcare technology companies where Snowflake's HIPAA-eligible configuration and row-level security policies enable clinical data warehousing while enforcing patient data access controls that satisfy privacy regulation requirements
  • Retail and e-commerce companies where Snowflake's time-travel and data sharing capabilities support both historical sales analysis and real-time inventory and pricing data distribution to downstream operational systems
  • Data and analytics product companies that use Snowflake as the foundation for customer-facing analytics products — where Snowflake Data Sharing enables delivering governed data extracts to customers and where Snowpark enables Python-based ML feature engineering within the warehouse

Interview preparation for Snowflake engineer roles

Expect architecture questions: design a Snowflake environment for a SaaS company with raw event data, curated customer metrics, and self-service analytics — what the database and schema structure looks like, how you'd separate raw from transformed data, and what virtual warehouse strategy you'd implement for ELT workloads versus analyst queries. Optimization questions ask how you'd diagnose a query that takes 10 minutes on a Large warehouse but scanned the full table despite a filter on the created_at column — what the query profile shows, why partition pruning didn't engage, and what the clustering key change looks like. Streams and tasks questions ask how you'd implement an incremental pipeline that processes only new rows inserted since the last run without using a watermark column — what a Snowflake Stream on the source table provides and how the task consumes the stream. Cost governance questions ask how you'd implement warehouse usage alerts for a company with 5 teams sharing 3 warehouses — what resource monitor configuration and notification setup looks like. Data sharing questions ask how you'd share a curated customer metrics schema with a partner company that uses their own Snowflake account without copying data between accounts — what a secure share configuration looks like. Be ready to walk through the largest Snowflake environment you've managed — the database architecture, the most impactful cost reduction you achieved, and a challenging query optimization case.

Tools and technologies for Snowflake engineers

Core: Snowflake cloud data warehouse (AWS/Azure/GCP); Snowflake web UI and SnowSQL CLI; Snowsight (modern UI). Data loading: Snowpipe (continuous ingestion); COPY INTO with external stages (S3, GCS, Azure Blob); Kafka Connector for Snowflake; Fivetran and Airbyte (ELT connectors). Transformation: dbt (data build tool) with Snowflake adapter — dbt Core + dbt Cloud; Snowflake Tasks and Streams for native orchestration; Snowpark (Python/Java/Scala in-warehouse processing). Orchestration: Apache Airflow with SnowflakeOperator; dbt Cloud Scheduler; Prefect with Snowflake integration; Dagster. BI and analytics: Tableau (Snowflake connector); Looker (Snowflake dialect); Mode Analytics; Metabase; Sigma (Snowflake-native). Security: Snowflake RBAC; dynamic data masking; row access policies; Snowflake Private Link for VPC connectivity; Tri-Secret Secure. Cost management: Snowflake resource monitors; ACCOUNT_USAGE.QUERY_HISTORY; Snowflake Cost Management UI; SELECT platform for Snowflake cost analytics. Data catalog: Alation; Collibra; Monte Carlo data observability; Snowflake Access History for lineage. Alternatives: BigQuery (GCP-native alternative); Redshift (AWS-native); Databricks Lakehouse; Azure Synapse Analytics.

Global remote opportunities for Snowflake engineers

Snowflake engineering expertise is in strong global demand, with Snowflake's dominant position as the most widely adopted cloud-native data warehouse — with hundreds of thousands of customers across enterprise and mid-market segments — creating consistent need for engineers who understand its architecture, query optimization model, and cost governance mechanisms. US-based Snowflake engineers are in demand across every industry where data warehousing is a core infrastructure requirement — technology, financial services, healthcare, retail, and media companies have all standardized on Snowflake for analytics workloads, and the platform's rapid feature expansion (Snowpark, Dynamic Tables, Cortex AI) creates ongoing demand for engineers who keep pace with platform capabilities. EMEA-based Snowflake engineers are well-positioned given Snowflake's strong European enterprise customer base — European technology companies, financial institutions, and retailers have adopted Snowflake extensively, and data sovereignty requirements in EU markets drive demand for engineers who understand Snowflake's European region deployment options and data residency controls. Snowflake's continued platform expansion into AI/ML (Cortex), real-time data (Snowpipe Streaming), and data application development (Snowflake Native Apps) ensures sustained demand for platform expertise.

Frequently asked questions

How do Snowflake engineers design clustering keys to improve query pruning performance? Snowflake organizes table data into micro-partitions (50–500MB each) that store column statistics; queries use these statistics to skip micro-partitions that can't contain matching rows. Without clustering, data is organized in insertion order — a filter on created_at may require scanning all micro-partitions if rows with the same date are spread throughout the table. Choosing clustering keys: select columns that appear in WHERE clauses, JOIN conditions, and GROUP BY expressions in the most frequent analytical queries; DATE or TIMESTAMP columns for time-series queries; low-to-medium cardinality dimension columns (region, product_category) for dimension-filtered queries. Defining a clustering key: ALTER TABLE events CLUSTER BY (DATE(event_timestamp), user_segment) — Snowflake automatically reclusters the table in the background using automatic clustering. Monitoring clustering effectiveness: SYSTEM$CLUSTERING_INFORMATION('events', '(DATE(event_timestamp), user_segment)') returns the average depth metric — values below 1.2 indicate well-clustered data; values above 2.0 suggest reclustering is needed or the key is suboptimal. Cost consideration: automatic clustering consumes Snowflake credits proportional to reclustering work; enable it only for large tables (typically over 1TB) with frequent range-scan queries where partition pruning improvement justifies the clustering credit cost.

What are Snowflake Streams and how do engineers use them for incremental data processing? A Snowflake Stream is a change data capture object that records insert, update, and delete operations performed on a source table since the stream was last consumed. Creating a stream: CREATE STREAM events_stream ON TABLE events — the stream captures all DML changes to the events table from the creation time forward. Consuming a stream: SELECT * FROM events_stream WHERE METADATA$ACTION = 'INSERT' reads the pending changes; once consumed in a DML transaction, the stream offset advances and those changes are no longer returned. Incremental load pattern: a Snowflake Task runs on schedule — INSERT INTO events_processed SELECT user_id, event_type, event_timestamp FROM events_stream WHERE METADATA$ACTION = 'INSERT' — processing only new rows since the last task run without watermark column management. Append-only streams: CREATE STREAM events_stream ON TABLE events APPEND ONLY = TRUE captures only inserts, not updates or deletes — lower overhead for insert-only source tables. Stream staleness: streams have a staleness period (default 14 days); if a stream is not consumed within this period, it becomes stale and must be recreated from the current table state. dbt integration: dbt incremental models on Snowflake can use streams as the source for incremental materializations — consuming the stream in each dbt run processes only changed data without full table re-read.

How do Snowflake engineers implement row-level and column-level security for sensitive data? Row access policies restrict which rows a user can see based on their role or attributes, without requiring separate tables or views per user group. Row access policy: CREATE ROW ACCESS POLICY region_access_policy AS (region_col STRING) RETURNS BOOLEAN -> CURRENT_ROLE() IN (SELECT allowed_role FROM access_matrix WHERE allowed_region = region_col) — users in the EMEA_ANALYST role see only EMEA rows, APAC_ANALYST sees only APAC rows, DATA_ADMIN sees all rows. Applying the policy: ALTER TABLE sales ADD ROW ACCESS POLICY region_access_policy ON (region) — the policy applies transparently to all queries on the table, including queries through views. Column masking policies restrict access to sensitive values (PII, financial data) based on role. Masking policy: CREATE MASKING POLICY email_mask AS (email_val STRING) RETURNS STRING -> CASE WHEN CURRENT_ROLE() IN ('DATA_ANALYST') THEN '***@***.***' ELSE email_val END — analysts see masked email addresses while engineers see the real values. Applying: ALTER TABLE customers MODIFY COLUMN email SET MASKING POLICY email_mask — masking applies to all queries including COUNT DISTINCT on the email column. Dynamic data masking: the masking policy evaluates per-query based on the current role, enabling a single table to serve users with different access levels without maintaining separate table copies.

Related resources

Ready to find your next remote snowflake engineer role?

RemNavi aggregates remote jobs from dozens of platforms. Search, filter, and apply at the source.

Browse all remote jobs