From Beginner to Pro
Hands-on Analytics Engineering Bootcamp With: Theory, Building a dbt Project from Scratch, and Deploying to dbt Cloud
Lo que serás capaz de hacer
A complete course to help anyone with basic SQL skills learn advanced dbt, a key tool for Analytics Engineering! Welcome to the 2025 Mastering dbt (data build tool) course! This course runs through everything from the theory behind dbt to building an advanced dbt project ( from scratch ) and deploying it on dbt Cloud. I have over 9 years of experience across Analytics / Analytics Engineering / Data Science, including 5 years using dbt on a daily basis. I was also involved in the rollout of dbt in my time at Monzo Bank! In this course I've taken everything I've learnt over the past 5 years, and what I use on a daily basis, and condensed it to take anyone who knows SQL to an advanced level of dbt as quickly as possible. MY APPROACH TO THIS COURSE: We'll cover everything you need to know about dbt: from the basic data modelling right through to all of the advanced features such as creating custom tests and macros. We'll be doing this step by step, and build from the basics upwards . It's focused on practical outcomes - we won't be spending ages on database theory, or going into lots of detail on the eCommerce dataset we'll be using, instead we'll be aiming to get you up to advanced dbt levels as quickly as possible. For every video where we're writing code, I've created lesson attachments with the final outputs . This means you can either code as you go along, or watch the videos and look at the handouts afterwards! I've also included some theory with these handouts to help hammer home the points made in the videos. There's also a public GitHub repository (which you'll be using for this course) that contains a model final project you can reference throughout. This course isn't static! I'd love to hear your feedback and will be updating this course on an ongoing basis. COURSE STRUCTURE: This course focuses on first getting a good understanding of what problems dbt solves, then building a basic dbt project, before layering on more advanced concepts and finally deploying our project with dbt Cloud. Introduction Some theory (<1 hour) around dbt, what problems existed in the data stack before it came along, and how it solves them. Tool setup Getting set up with Python, GitHub, Google BigQuery, VSCode, and of course dbt! If you're familiar with any of these tools already then you are more than welcome to skip the appropriate lessons. We'll also be exploring the fictional eCommerce dataset that we'll be using throughout the course. Building our basic dbt project This section focuses on creating our project from scratch, including how we will structure our project. We'll be building out staging (stg), intermediate (int), and mart data models, including documentation & testing with the out-of-the-box dbt tests. Advanced dbt testing We'll start to build on our basic dbt project by setting test severity & thresholds, using the dbt-utils and dbt-expectations external packages for their excellent selection of tests, creating our own custom singular & generic tests, unit testing, and testing the freshness of our source data. Advanced data modelling with dbt Next, we'll be looking at how we can create reusable documentation, seed files (version controlled .csv files), snapshots (capturing changes to data tables), and materialisation methods. Most of this section will be focused on the last part - the materialisation methods: ephemeral, view, table, and incremental (including microbatch). By this point we'll have encountered view & table models and we will be building both an incremental and an ephemeral model - and you will gain an understanding of what to use and when. This section includes all model governance features from dbt version 1.5! This includes model access, groups, contracts, and versions. Advanced dbt commands This section will focus less on changing our dbt project, but instead all of the major dbt commands and how (and when) to use them. Advanced Jinja & macros The final changes to our project will involve using Jinja - a core feature of dbt and arguably it's most complex but powerful feature - and using it to create our own macros. This section will run through how you can use Jinja macros for hooks, operations, and as reusable functions in your SQL models. It'll also run through some theory around Jinja, common mistakes, and what I (personally) find to be what it's most useful for! dbt Cloud Finally, we'll be exploring how to take our project and deploy it on dbt Cloud - including how to schedule it to run on a regular basis. We'll also be looking at dbt Cloud itself and its main benefits.
- How to build a complete dbt project from scratch
- The main benefits of dbt, and a bit of background as to how it came about
- All of the dbt fundamentals: sources, models, tests, documentation, snapshots, seeds, macros, hooks, and operations
- How to structure a dbt project: staging, intermediate, and mart models - and naming conventions
- How to version control changes to your code with GitHub and VSCode
- Advanced dbt testing - creating your own custom singular & generic tests, setting severity, and setting warn/error thresholds
Temario
UNIDAD 1 - Introduction · 11 leccionesUNIDAD 1 - Introduction
UNIDAD 1 - Introduction
- Instructor Introduction
- Course outline
- Course Introduction
- A Brief History of the Data Stack
- Benefits of dbt - Inferring Dependencies
- Benefits of dbt - Documentation & Testing
- Benefits of dbt - Python-Like Functionality
- How dbt Has Solved a Lot of Problems in the Data Stack
- How dbt Fits in the Data Stack
- dbt Core vs. dbt Cloud
- Section Recap
UNIDAD 2 - Getting Set Up with Your Tools · 23 leccionesUNIDAD 2 - Getting Set Up with Your Tools
UNIDAD 2 - Getting Set Up with Your Tools
- Section Overview
- Note on Continual Course Updates
- Help If You Get Stuck During This Course
- Creating a Gmail Account
- Setting up a BigQuery Project With Billing
- (Optional) If You Have Issues With BigQuery Billing
- The BigQuery UI
- The Dataset You'll Be Using
- (Mac) Installing Python 3.10
- (Windows) Installing Python 3.10
- Downloading VSCode and Setting Up Shortcuts
- Creating a GitHub account
- Forking Vs. Cloning
- Forking the Repository
- (Optional) If You Have Issues Syncing Your Forked Repository
- Installing the recommended VSCode Extensions
- What's a Virtual Environment (venv)?
- Setting Up Our Virtual Environment and Installing Packages
- Setting Up dbt for BigQuery
- Trialling Our Model dbt Project
- (Optional) Setting Up dbt Autocomplete
- Run Through of How Our Final Project Will Look
- Section Recap
UNIDAD 3 - Building the Basic dbt Project · 23 leccionesUNIDAD 3 - Building the Basic dbt Project
UNIDAD 3 - Building the Basic dbt Project
- Section Overview
- The dbt init Command
- Version Control with GitHub
- Setting up dbt Power User
- How We'll Structure Our Project
- Creating Our First Source (src) yml File
- (Windows) Issues with the dbt Power User extension
- Creating Our First Staging (stg) SQL Model
- Running Our First Staging (stg) SQL Model
- Creating Our First Model yml File
- Adding Tests to Our First Model yml File
- Setting Up Our Models to Materialise as Tables Instead of Views
- Getting the Rest of Our Staging (stg) SQL Models Set Up
- Using dbt clean to Get Table Materialisation Working
- Getting the Rest of the Staging (stg) yml Files Set Up
- Taking Stock of Our Staging (stg) Data Models
- The Target Folder
- Getting Our First Intermediate (int) SQL Model Set Up
- Getting Our First Intermediate (int) yml File Set Up
- Getting Our Mart SQL Model Set Up
- Getting Our Mart yml File Set Up
- Our Basic dbt Project Is Now Complete!
- Section Recap
UNIDAD 4 - Advanced dbt: Testing · 11 leccionesUNIDAD 4 - Advanced dbt: Testing
UNIDAD 4 - Advanced dbt: Testing
- Section Overview
- Setting Default Test Severity
- Setting Test Severity and Thresholds
- The External dbt Packages We'll Be Using
- dbt_utils and dbt_expectations
- Custom Singular Tests
- Custom Generic Tests
- Applying Advanced Tests to Our Whole Project
- Source Freshness Tests
- Unit Tests
- Section Recap
UNIDAD 5 - Advanced dbt: Data Modelling · 14 leccionesUNIDAD 5 - Advanced dbt: Data Modelling
UNIDAD 5 - Advanced dbt: Data Modelling
- Section Overview
- The doc Function
- Seed Files
- dbt Snapshots
- Materialisation Types
- Materialisation: Ephemeral Models
- Materialisation: Incremental Models
- Materialisation: Microbatch Incremental Models
- (Optional) Partitioning a Table in BigQuery
- Model Governance Overview
- Model Governance - Access & Groups
- Model Governance - Contracts
- Model Governance - Versions
- Section Recap
UNIDAD 6 - Advanced dbt: Commands and Selectors · 11 leccionesUNIDAD 6 - Advanced dbt: Commands and Selectors
UNIDAD 6 - Advanced dbt: Commands and Selectors
- Section Overview
- Commands For a Clean dbt run
- Using Different dbt Profiles
- Selectors
- Tags
- Indirect Test Selection
- dbt test With --warn-error
- dbt build
- dbt docs generate / serve
- The "Empty" Flag
- Section Recap
UNIDAD 7 - Advanced dbt: Jinja and Macros · 10 leccionesUNIDAD 7 - Advanced dbt: Jinja and Macros
UNIDAD 7 - Advanced dbt: Jinja and Macros
- Section Overview
- Jinja Comments, Statements, and Expressions
- The 3 Types of Macro: Functions, Hooks, Operations
- (Optional) dbt Jinja Function Reference
- Macros: Operations
- Macros: Functions (Building a Basic Macro)
- Macros: Hooks
- Jinja Statements: for Loops and Setting Variables
- (Optional) Jinja: Using the Target Function
- Section Recap
UNIDAD 8 - dbt Cloud · 7 leccionesUNIDAD 8 - dbt Cloud
UNIDAD 8 - dbt Cloud
- Section Overview
- Creating a dbt Cloud Account
- Setting Up a Service Account
- Connecting GitHub to dbt Cloud
- The dbt Cloud IDE
- Deploying Jobs on dbt Cloud
- Section Recap
Tu certificado lo emite la SEP, no solo una plataforma
Al demostrar la competencia recibes un certificado emitido por la Secretaría de Educación Pública a través del Gobierno del Estado de México: un documento oficial que puedes presentar con confianza ante cualquier empleador o institución.
Tu certificado con INEC
- Lo emite la Secretaría de Educación Pública (SEP), a través del Gobierno del Estado de México
- Documento oficial con folio verificable en línea
- Lo otorga la Universidad Tecnológica Fidel Velázquez
Otras plataformas en línea
- Constancia privada emitida por la misma plataforma
- Solo acredita horas cursadas o asistencia
- Sin respaldo de una autoridad educativa
Tu itinerario, de la inscripción al certificado
- 1
Inscripción con pago único
Pagas $2,800 MXN una sola vez y entras de inmediato al curso.
- 2
Estudias a tu ritmo
8 unidades con videos, lecturas y actividades, disponibles 24/7 durante 12 meses.
- 3
Cuestionarios por unidad
Cuestionarios para comprobar lo aprendido.
- 4
Certificado
Emitido por la SEP a través del Gobierno del Estado de México, con folio verificable.
Un certificado oficial de la SEP
- Emitido por la Secretaría de Educación Pública (SEP), a través del Gobierno del Estado de México. No es una constancia privada: es un documento oficial, y ese respaldo marca la diferencia frente a otras plataformas en línea.
- Contenido impartido por Jack Colsey.
- Folio y QR verificables para compartirlo con quien te contrate.
Empieza hoy, a tu ritmo
Un solo pago y acceso inmediato al curso completo durante 12 meses.
- 8 unidades · 110 lecciones · 40 h
- 12 meses de acceso
- Certificado emitido por la SEP (Gob. del Estado de México) con folio verificable
Sobre tu inscripción
¿Cómo es el pago?
Un solo pago de $2,800 MXN. No hay mensualidades ni cargos recurrentes.
¿Cuánto tiempo tengo acceso?
12 meses desde tu inscripción, 24/7, para avanzar a tu ritmo.
¿Quién imparte el contenido?
El curso es impartido por Jack Colsey; INEC gestiona tu inscripción, evaluación y certificado.
¿Qué pasa cuando vence mi acceso?
Puedes renovar tu cuenta tú mismo desde la plataforma, sin trámites ni esperas.


