Analytics Engineer Roadmap
Analytics Engineering sits in the gap that used to exist between data engineers, who built pipelines but rarely modeled the data for business use, and analysts, who wrote SQL but had no way to version, test or reuse it. The role exists because dbt made it possible to treat a warehouse's transformation logic like real software: version controlled, tested, documented and reviewed, rather than a folder of scheduled queries nobody fully understands anymore.
If you already write SQL comfortably as an analyst, this is usually the shortest realistic path into a higher paid, more technical data role, shorter than retraining as a full data engineer. The core shift is moving from writing one-off queries to building a layer of trusted, reusable models that every dashboard and analyst in a company depends on. Snowflake as the warehouse and Power BI or Looker as the consumption layer are the two ends of that pipeline; dbt is what connects them properly.
This path assumes you're already SQL literate and takes you from there through dimensional modeling, dbt itself, orchestration, and the semantic layer and BI integration work that makes a well modeled warehouse actually usable by the rest of the business.
Drag or scroll to explore, click a node to learn more · 8 sections · 17 courses · free and self paced
How to use this roadmap
- 1This roadmap assumes working SQL knowledge already, if joins, aggregations and subqueries aren't second nature yet, get comfortable there first.
- 2Go through sections in order, dimensional modeling before dbt matters, understanding the target shape of your data makes dbt models make sense instead of feeling arbitrary.
- 3dbt is the centerpiece of this path deliberately, don't rush through the dbt sections to get to BI tools faster, most analytics engineering job interviews focus heavily on dbt specifics.
- 4Each course's concepts are standalone 20 to 30 minute lessons, work through them as a checklist rather than trying to absorb a whole course in one sitting.
- 5Build a real dbt project on a free Snowflake trial as you go, working with a toy dataset end to end teaches more than reading about any single concept in isolation.
Analytics Engineering Landscape
Where the role sits between data engineering and analytics, and why it exists.
- Analytics Engineer vs Data Analyst: Building the modeled layer versus consuming it for analysis.
- Analytics Engineer vs Data Engineer: Modeling data in the warehouse versus building the pipelines feeding it.
- The Modern Data Stack: The common warehouse, transformation and BI tool combination in use today.
Why modern analytics engineering loads raw data first and transforms it inside the warehouse.
- ETL: Transforming data before it's loaded into the destination system.
- ELT: Loading raw data first, then transforming it inside the warehouse.
- Why ELT Won for Analytics: Cheap warehouse compute made in-warehouse transformation practical.
Data Warehouse Architecture
How Snowflake separates storage and compute, and what that means for how you design models.
- Storage & Compute Separation: Snowflake scales query power independently from stored data.
- Virtual Warehouses: Snowflake's independently scalable compute clusters.
- Micro-Partitions: How Snowflake automatically organizes stored data for fast queries.
The staging, intermediate and mart layer pattern nearly every dbt project is built on.
- Staging Layer: Lightly cleaned, renamed raw source data, one to one with sources.
- Intermediate Layer: Reusable transformation logic shared across final models.
- Marts Layer: Final, business-facing models that dashboards actually query.
Dimensional Modeling
The Kimball-style patterns that shape almost every analytics warehouse in production.
- Star Schema: A fact table surrounded by descriptive dimension tables.
- Fact Tables: Tables storing measurable business events, like orders or clicks.
- Dimension Tables: Tables storing descriptive attributes, like customer or product details.
- Grain: What a single row in a fact table actually represents.
How to track a dimension's history when its attributes change over time.
- SCD Type 1: Overwriting old dimension values with new ones, no history kept.
- SCD Type 2: Keeping full history with new rows and effective date ranges.
- Surrogate Keys: Warehouse-generated keys used instead of natural source keys.
dbt Fundamentals
The centerpiece skill of this whole path: turning raw tables into version controlled SQL models.
- Models: SQL select statements dbt turns into tables or views.
- Sources: How dbt references raw tables that exist outside its own models.
- Refs & the DAG: How ref() builds dbt's dependency graph between models.
- Materializations: Whether a model builds as a table, view, incremental or ephemeral.
Writing dynamic, reusable SQL instead of copy-pasting the same logic across models.
- Jinja Basics: The templating syntax dbt uses inside SQL files.
- Macros: Reusable pieces of SQL logic defined once, called everywhere.
- Packages: Shared, installable dbt macro libraries like dbt_utils.
Processing only new or changed data instead of rebuilding an entire table every run.
- Incremental Materialization: Only inserting or updating new rows instead of a full rebuild.
- Merge & Insert Strategies: Different ways dbt applies incremental changes to a table.
- Snapshots: dbt's built-in way to track SCD Type 2 history automatically.
dbt Testing & Documentation
Catching broken data before it reaches a dashboard, built directly into the transformation layer.
- Generic Tests: Built-in checks like unique, not null, and relationships.
- Singular Tests: Custom SQL tests written for specific business logic.
- Source Freshness: Alerting when upstream source data stops updating on schedule.
Making a warehouse self-explaining instead of relying on tribal knowledge.
- dbt Docs Site: Auto-generated documentation for every model and column.
- Lineage Graph: A visual map of how models depend on each other.
- YAML Model Descriptions: Where model and column documentation is actually written.
Git Workflow for Analytics Code
Treating SQL like real code: branches, pull requests and review before it hits production.
- Branching for dbt Projects: Working on model changes in isolation before merging.
- Pull Requests & Code Review: Getting SQL changes reviewed before they reach production.
- dbt Slim CI: Running tests only on modified models to keep CI fast.
Orchestration
Why analytics pipelines need real scheduling and dependency management, not just a cron job.
- DAGs & Dependencies: Defining which tasks must complete before others can start.
- Scheduling & Backfills: Running pipelines on a schedule, and re-running for past periods.
Triggering and monitoring dbt runs as part of a larger scheduled pipeline.
- Airflow with dbt: Using Airflow operators to trigger and monitor dbt runs.
- Dagster Software-Defined Assets: Modeling dbt models directly as Dagster assets.
- Pipeline Alerting: Getting notified when a scheduled dbt run fails.
Semantic Layers & BI Integration
Defining a business metric once so every tool and dashboard agrees on what it means.
- Metrics Definitions: Centrally defining calculations like revenue or active users once.
- dbt Semantic Layer: dbt's approach to defining and serving consistent metrics.
- LookML: Looker's modeling language for defining a semantic layer.
Connecting dbt-modeled tables to Power BI without duplicating transformation logic downstream.
- DirectQuery vs Import Mode: Querying Snowflake live versus loading data into Power BI.
- Power BI Data Modeling: Relationships and measures built on top of dbt marts.
- Avoiding Duplicate Logic: Keeping business logic in dbt instead of re-built in Power BI.
How Looker's semantic layer approach compares to a BI tool sitting directly on dbt marts.
- Looker Explores: Looker's user-facing way of querying modeled data.
- BI Tool Tradeoffs: Comparing Power BI, Looker and Tableau for analytics engineering fit.
Not satisfied with the roadmap? Create your own!
Frequently asked questions
The analytics engineers who stand out are not the ones who know the most dbt syntax, they're the ones whose models a whole company can trust without double checking, because they're tested, documented and built on a warehouse structure that actually makes sense. Working through this roadmap in order, and building a real dbt project rather than just reading about one, is what gets you there.