Learn Snowflake in 90 days (without losing your mind)
A step-by-step playbook to become snowflake-proficient even if you're a beginner
This article is part of the Master Snowflake for real-world use playlist. Click here to explore the full series.
I still remember the first time I opened Snowflake.
It was during my first big migration project.
The UI looked clean. Just a query box. A warehouse dropdown. Nothing scary.
“Okay,” I thought. “This looks... doable.”
Ten minutes later, I was knee-deep in warehouses, roles, storage layers, and pricing models.
What started simple quickly became overwhelming.
The docs were detailed, but scattered.
Tutorials jumped from beginner queries to advanced features with zero context.
And nobody explained the real-life stuff:
How do I move data without blowing up costs?
What’s a good schema?
When does Snowflake actually compute something?
That’s why I made this guide.
It’s not a course. It’s not a tutorial.
It’s a roadmap.
For data engineers, analysts, and builders who want to learn Snowflake without the black hole of tabs and docs.
You’ll get:
A practical 90-day plan broken into 3 simple phases
Real, hands-on tasks you can finish in 30 minutes a day
Links to deeper dives, examples, and common traps to avoid
I’ve been using Snowflake for over six years, since they were still a startup.
I’ve helped teams scale pipelines, test pre-GA features, and ship production systems across dozens of use cases.
I’ve mentored engineers through this exact learning curve.
This guide is everything I wish I had back then.
Pro Bonus:
This article comes with a free 90-Day Tracker, a Notion-based Kanban board to help you stay on track, week by week.
No more guessing what to do next. Just move one card forward every day.
You’ll find the link toward the end of the guide.
Tiny disclaimer (with a cool upside)
Before we jump into the roadmap, one quick note.
You don’t need anything else to follow this guide.
Everything you need to start learning Snowflake is right here.
But if you’re the kind of person who likes to go deeper, who wants a structured, comprehensive, step-by-step breakdown of everything from setting up warehouses to optimizing queries, I’ve got something for you.
I wrote a full e-book on learning Snowflake.
It includes detailed walkthroughs, visuals, use cases, and the lessons I’ve learned from leading real migration projects.
And I’m giving it away for free.
There’s just one ask:
Share Data Gibberish with one friend or coworker.
That’s it. No email forms. No strings. Just help spread the word.
Once you do, you’ll get the e-book automatically over the email.
Why most people fail (and why you won’t)
Let’s get honest. Most people never actually learn Snowflake.
They click around in the UI. Run a few select *
queries. Maybe even load a CSV. But then they stall. They get stuck on a weird billing metric, or a role permission error, or an architecture diagram that looks like a data centre exploded.
And they give up.
It’s not because they’re lazy or bad at data. It’s because Snowflake looks deceptively simple until it isn’t.
Here’s what typically goes wrong:
They skip the architecture.
They sign up and dive straight into queries, ignoring the fact that Snowflake has its own compute/storage split, its own caching behaviour, and its own execution patterns.
Then a query runs slow and they think Snowflake’s broken. It’s not. They just missed the “how it works” part.
They treat it like any other SQL warehouse.
You can write select count(*) from users
just like anywhere else. But Snowflake is different under the hood.
What looks like a simple query might be scanning billions of micro-partitions if you didn’t cluster your data.
What looks like a small table might explode your warehouse bill if autosuspend isn’t configured.
They bring Postgres habits into a Snowflake world and things get weird.
They go too big, too soon.
They try to load 10M-row datasets before they’ve ever used copy into
.
They try to replicate production pipelines with dbt or Snowpark on Day 3.
They’re sprinting uphill with no shoes on.
They “learn” by watching, not doing.
A 20-minute YouTube walkthrough makes sense while you're watching. But a week later? Gone.
Reading blog posts and following along in your head isn’t learning. Touching the platform, breaking things, fixing them. That’s learning.
But you’re not going to make those mistakes.
Because this playbook doesn’t let you.
Here’s how you’ll learn differently:
Step-by-step skill stacking.
Each day builds on the last. First, you run a query. Then, you cluster a table. Then, you optimise a pipeline. Each piece prepares you for the next.
Action over theory.
You’ll use Snowflake every day. From Day 1, you’ll be loading data, running queries, exploring the warehouse. Even if it’s just 30 minutes. That small habit snowballs fast.
Real-world mindset.
You won’t just learn features. You’ll learn what they’re for. You’ll understand when to use a variant
column, why autosuspend matters, how to avoid credit overrun.
Built-in guardrails.
Each section gives you just enough to move forward but never so much that you feel lost.
You don’t need to read the docs. You don’t need to guess what matters. You’ll just follow the next step.
This is the path people wish they had when they first touched Snowflake.
And now it’s yours.
Foundation: build your Snowflake brain
Let’s start with one clear goal:
You’ll learn how Snowflake works by actually using it.
You won’t just read blog posts, although you’ll do that too. You won’t binge 10 courses.
You’ll log in, click around, run commands, make mistakes, and start forming a real mental model.
That’s the foundation. Once you’ve got it, everything else will stack beautifully.
Week 1: explore the engine room
You’re not writing SQL yet. You’re understanding the machine.
Create your Snowflake trial account
Use the free trial. No credit card. Choose the AWS or Azure region closest to you.
Open Snowsight. Click around. Get lost on purpose.
Check out the tabs: Databases, Warehouses, Worksheets, History.
You don’t need to know everything yet. You just need to know where things live.
Read about Snowflake’s architecture (for real).
Not the vendor pitch. Just this:
Snowflake separates storage and compute
Queries run in virtual warehouses
Data lives in compressed, columnar micro-partitions
Nothing’s ever overwritten. Time Travel keeps snapshots
You’ll come back to these concepts later. But read them now, while your brain’s empty.
Want to learn about micro-partitions using real-world language? Check my article, Demystifying Snowflake's Storage, here.
Enable MFA. Explore account usage.
It’s boring. But necessary. Turn on multi-factor auth.
Then visit the “Admin” tab and look at “Usage” and “Billing.”
It might not make sense now. That’s fine. It will later.
Week 2: spin up and load
Now, you’ll build your first warehouse and touch your first data.
Create a virtual warehouse
Start with this:
create warehouse beginner_wh with
warehouse_size = 'xsmall'
auto_suspend = 60
auto_resume = true;
This warehouse is tiny. It’s also smart. It’ll pause when idle, and resume on query.
Create a sample database and schema
Use the UI or do this in SQL:
create database snowplay;
use database snowplay;
create schema basics;
use schema basics;
Create your first table
create table people (
id int,
name string,
age int
);
Load a sample CSV using SnowSQL CLI
Install SnowSQL and run:
snowsql -a your_account -u your_user
Then upload:
put file://path/to/people.csv @%people;
copy into people from @%people;
You just moved data into Snowflake. For real. No shortcuts.
And if you learn 4 other ways I use to load data into Snowflake, check this piece.
Week 3: run your first real queries
Now it gets fun. You’ve got data. Time to slice it.
Start with the basics:
select * from people;
select * from people where age > 30;
select age, count(*) from people group by age;
select * from people order by age desc;
Try a simple join
Create a departments
table, then:
select p.name, d.name as dept
from people as p
join departments as d on p.dept_id = d.id;
Experiment with time travel
Restore your table to a past state:
select * from people at (offset => -60*5); -- 5 minutes ago
Or clone it:
create table people_snapshot clone people;
Week 4: explore the weird stuff early
This is where your brain starts stretching. Let it.
:oad JSON into a variant
column
create table events (data variant);
insert into events (data) values
(parse_json('{"type": "click", "user_id": 123}'));
select data:type, data:user_id from events;
Try a window function
select
name,
age,
row_number() over (order by age desc) as rank
from people;
Make a view to summarise
create view age_summary as
select age, count(*) as count
from people
group by age;
Play with the UI panels
Go to the “History” tab. Click a past query. Explore the execution plan.
Open “Warehouses” and check if yours autosuspended.
At the end of day 30
You’ve:
Created and configured a Snowflake warehouse
Loaded and queried real data
Used the CLI and the UI
Explored Snowflake’s unique features: time travel, variants, views, warehouse autosuspend
Started to think in Snowflake
You now have a working brain for the platform.
It’s not complete but it’s solid.
Capability: model, optimise, automate
This phase is all about structure and control.
You’ve explored the platform. You’ve written queries. Now you’ll learn how to make things efficient, repeatable, and robust.
It’s where your work starts to feel like data engineering.
Only Pro Data Gibberish members can unlock all the deep dives, mini-courses and resources in the premium content library. Don’t limit your growth.
Keep reading with a 7-day free trial
Subscribe to Data Gibberish to keep reading this post and get 7 days of free access to the full post archives.