Introduction to dbt

Get an introduction to dbt and the topics you’ll explore in this course.

What is dbt?

dbt (data build tool) is an SQL-based tool that enables data teams to transform their data using software engineering best practices.

Press + to interact

It solves three main problems in modern data teams:

  • Language barrier: Data analysts primarily work with SQL, while data engineers and data scientists use Python extensively. This language disparity can lead to difficulties because analysts often rely on data engineers without the ability to review the code that generated a table at a glance. dbt, being primarily SQL-based, provides a common tool that bridges this gap.

  • Lack of software engineering best practices: In many cases, tables are defined and created directly in the data warehouse, resulting in poor maintainability and documentation. dbt enables analytics engineers to leverage version control and minimize code redundancies.

  • Limited dynamism in SQL: Fortunately, dbt incorporates Jinja2, a templating language that allows the creation of iterations and macros within SQL queries.

The emergence of dbt has even led to a new data role known as “analytics engineering.” Analytics engineers are responsible for modeling, transforming, testing, and documenting data within the context of modern data warehouses. As of now, a search for “analytics engineer” on LinkedIn yields 43,452 results.

About this course

In this course, you’ll learn to fully master dbt and gain hands-on experience with coding exercises. At the end of the course, you’ll be ready to start a new position as an analytics engineer or implement dbt in your current data team.

Who should take this course?

Press + to interact

This course is for everyone who:

  • Wants to find a new position as an analytics engineer, data analyst, data engineer, or data scientist

  • Currently uses dbt and wants to improve their knowledge and skills

  • Works in a data team that doesn’t use dbt and faces one of the problems mentioned above

Prerequisites for this course

This course assumes that you have a basic knowledge of SQL. Being used to working with a terminal and with Python can also be helpful, but it’s not absolutely necessary.

We’ll be working with Google BigQuery, so the course will require you to create a free BigQuery account. However, your knowledge will be transferrable to other data warehouses.