Tutorial 2 · dbt track
Advanced dbt Jinja
Jinja is how you program dbt. This tutorial starts with the rendering model and moves on to macros, compile-time queries, dispatch, overriding dbt's own macros, custom materializations and generic tests. It ends by walking the project graph to automate the work around your models.
Read the internals tutorial first
Several chapters here build on dbt Core Architecture & Internals, especially its material on parse-time vs. execute-time rendering and how the Jinja context is built. Each chapter links to the background it depends on.