The Analytics Engineering Guide

Collaborating as a data team to produce excellent datasets

This guide is a compilation of the analytics engineering experiences of roughly two dozen dbt community members. Huge thanks to all of you, who continue to generously share your stories and work.

What is Analytics Engineering?

Analytics engineering applies software engineering best practices to analytics code.

It’s a practice that allows anyone who knows SQL to produce excellent datasets — datasets that are fresh, accurate, tested, and documented.

Teams practice analytics engineering collaboratively — it is generally not a solo sport (unless you’re a data team of one!).

Accessing raw data

The analytics engineering practice is made possible by two fundamental advances in tooling:

  1. Cloud data warehouses.
  2. Reliable and low-cost data integration tools that push data into these warehouses.

This foundational access to raw data created the entry point for many an analytics team.

The transformation layer

Between raw data and the end user lies an opportunity:

Transform data in a way that builds trust across your team — with testing, documentation and transparency.

Downstream use cases

Analytics engineers typically produce datasets for four key downstream use cases:

Reporting, data science, operational workflows, and exploratory analysis.

Building a data team

Structuring your data organization is difficult, as roles and responsibilities are constantly evolving.

Find out how teams using dbt have navigated these choppy waters.

Joining a data team

There is no single path to an analytics engineering career.

Practitioners enter the field from academia, data science, or directly out of school.

Trace the career paths of dbt community members, or dive into the dbt jobs board to find your next data role.