How to Set Up a dbt Cloud Developer Sandbox for Each Developer

A step-by-step guide to configure isolated developer environments in dbt Cloud using Snowflake, Git, and CI/CD best practices. Ideal for scaling your data team without breaking production.

ADVANCED DATA ENGINEERING & IMPLEMENTATION

Kiran Yenugudhati

3/30/20252 min read

🧭 Why Developer Sandboxes Matter

As your team grows, developers need safe, isolated environments to:

  • Test dbt models without impacting shared datasets

  • Iterate faster using their own compute

  • Prevent accidental overwrites in production environments

In this guide, I’ll walk through how we set this up at Actuvate using dbt Cloud Team/Enterprise, Snowflake, and Git.

🧰 Prerequisites

Before we dive in, make sure you have:

  • ✅ A dbt Cloud Team or Enterprise account

  • ✅ Access to Snowflake with role/warehouse provisioning rights

  • ✅ GitHub/Bitbucket/GitLab integration with dbt Cloud

  • ✅ A dbt project with production/development branches

🛠️ Step-by-Step Setup

Create Developer Roles in Snowflake

  • CREATE ROLE DEV_ENGINEER_FR;

  • GRANT USAGE ON DATABASE DEV_ANALYTICS_DB TO ROLE DEV_ENGINEER_FR;

  • GRANT USAGE ON SCHEMA DEV_ANALYTICS_DB.BRONZE TO ROLE DEV_ENGINEER_FR;

  • GRANT ALL PRIVILEGES ON SCHEMA DEV_ANALYTICS_DB.BRONZE TO ROLE DEV_ENGINEER_FR;

Warehouse Grant

  • GRANT USAGE ON WAREHOUSE DEV_ENGINEER_WH TO ROLE DEV_ENGINEER_FR;

Configure dbt Cloud Environment

In dbt Cloud, you’ll create isolated development environments for each developer, backed by their own schema and Snowflake credentials. Here’s how to set it up:

🔹 Create a New Development Environment

  1. Navigate to Environments → Create Environment

  2. Choose Environment Type = Development

🔹 Set Up Developer Credentials

  1. Click on your Profile Avatar → Credentials

  2. Choose the right Project

  3. Under Deployment Credentials, input:

    • Snowflake username/password

    • Role: DEV_ENGINEER_FR

    • Database: DEV_ANALYTICS_DB

    • Warehouse: DEV_ENGINEER_WH

    • Schema: e.g. DBT_SYENUGUDHATI, DBT_RAJAVR (developer-specific)

💡 Target: Leave as default for sandbox environments; use dev, qa, or prod for deployment stages

🔹 Configure dbt_project.yml

Update your dbt_project.yml to reference the correct schema based on environment or developer sandbox:

Git Branching Strategy

To keep development organized and avoid breaking production, we follow a simple Git workflow:

  • All new work starts from the develop branch.

  • Each developer creates their own feature branch from develop.

  • Branch naming format:
    feature-syenugudhati-your-feature-name

This helps identify who is working on what and keeps changes isolated.

Once your work is done and tested in your dbt Cloud sandbox:

  • Create a pull request to merge your branch into develop.

  • After review and testing, develop is merged into main when ready for release.

📌 Conclusion

Setting up developer sandboxes in dbt Cloud is a low-lift, high-impact move for growing teams. It empowers developers to build fearlessly while keeping production safe and clean.

At Actuvate, this setup has become a best practice for every client we onboard.