Bruin Academy

Course

From Data Analyst to Analytics Engineer

A free, hands-on course. Build, test, document, and run a real SQL data pipeline locally in 15 lessons, and learn the core skills of analytics engineering.

Analytics engineering is the practice of turning raw source data into tested, documented, version-controlled tables that analysts and dashboards can trust. This free course teaches that workflow by having you build one real pipeline, from source files to a reporting table, with checks and a code review at every step.

What you'll build

You will build a small commerce pipeline that answers one question: "How much revenue did each customer generate each day?"

The project starts with local order and customer files. You will inspect the source, clean it in a staging layer, model orders and customers, build a daily revenue table, add checks, and make repeat runs safe. The final lessons cover documentation, Git review, local pipeline runs, a high-level look at automation, correcting a changed source record, and a capstone based on returns.

CSV source data
  -> staging models
  -> order fact + customer dimension
  -> customer daily revenue table
  -> checks, documentation, local runs, and automation options

By the end, you will have a working project plus the queries, checks, and review notes used to verify it.

How the course works

Every lesson starts with an analytics engineering decision, then shows one way to implement it with Bruin and DuckDB. The ideas transfer to dbt, Dataform, SQLMesh, or an in-house framework: define what each row means, make sure joins do not duplicate rows, test assumptions, document metrics, review changes, and run the pipeline locally before deciding how to automate it.

Use the same project throughout the course and complete the checkpoint at the end of each lesson. Do not skip the small queries that compare source and output rows. They are the habit that turns a plausible model into a trustworthy one.

You can complete every exercise manually or ask a coding agent such as Codex, Claude Code, or Cursor to edit files and run the same commands. The manual instructions remain the source of truth. When you use an agent, review its proposed changes, inspect the diff, and read the command output before moving on.

Python assets and agent-assisted work are optional extensions. Finish the SQL workflow first, then use the additional resources if they match your job.

Before you start

  • Comfort reading SQL queries and using a terminal
  • Git installed; the setup lesson shows the one required `git init` command

15 steps

Course outline

Start course

Frame the work

Define the question, create the project, and inspect the source data.

  1. 1Define the model before writing SQLDefine what each row means, how to identify it, and what to test.
  2. 2Set up a local analytics projectInstall Git and Bruin, initialize the project folder, and configure local DuckDB.
  3. 3Load and profile the source dataLoad local commerce data and check its shape before modeling it.

Build the model

Clean the source data and build order, customer, and reporting tables.

  1. 4Build a clean staging layerStandardize orders and customers without hiding source assumptions.
  2. 5Model orders and customersSeparate measurable activity from descriptive customer attributes.
  3. 6Build the daily revenue tableJoin orders to customers without duplicating rows, then save the result.
  4. 7Test the assumptions that matterCheck row identifiers, allowed values, duplicate rows, and business rules.
  5. 8Make repeat runs safeProcess one time window at a time without creating duplicate rows.

Ship with confidence

Document the model, prove the pipeline works, and review the change.

  1. 9Describe the model in its asset definitionKeep the metric definition, owners, limits, and checked examples next to the SQL.
  2. 10Prove the pipeline worksCheck the setup and SQL, run a few dates, and compare the results.
  3. 11Review the change with GitInspect the diff and review modeling decisions before sharing the work.

Practice and extend

Practice local reruns, compare automation options, and complete a capstone.

  1. 12Correct a source record and rerun a datePractice correcting one source record, predicting its effect, and rerunning only the affected reporting date.
  2. 13Run locally, then choose automationPractice local pipeline runs, then compare common ways to schedule and deploy them.
  3. 14Capstone: add returns to the pipelineExtend the project, prove the result, and assess the finished pipeline.
  4. 15Recap and next stepsReview the workflow, then choose a larger project to build next.

Frequently asked questions

  • What does an analytics engineer do?
    An analytics engineer turns raw source data into tested, documented tables that analysts and dashboards can trust. The role sits between data engineering and data analysis: you model data with SQL, define metrics, write data quality checks, and review changes with Git.
  • How do I become an analytics engineer?
    Start from the analyst skills you already have, SQL and a terminal, then learn to model data in layers, test your assumptions, document metrics, and run a pipeline you can rerun safely. This course walks through that workflow end to end on one real project.
  • Is this analytics engineering course free?
    Yes. All 15 lessons are free and run entirely on your machine. You only need Git and the open-source Bruin CLI, which uses a local DuckDB database, so there is nothing to pay for or deploy.
  • Do I need to know dbt or Python?
    No. You need to be comfortable reading SQL and using a terminal. The course uses SQL throughout, and the concepts transfer directly to dbt, Dataform, and SQLMesh. Python and agent-assisted workflows are optional extensions.
  • What tools does the course use?
    You build the pipeline with the open-source Bruin CLI and a local DuckDB database, using SQL for every model. The patterns you learn, staging layers, fact and dimension tables, tests, and incremental runs, apply to any analytics engineering stack.
  • How long does the course take?
    About two and a half hours of focused work across 15 lessons, plus a capstone. You can complete it in one sitting or one lesson at a time, keeping the same project throughout.

Get help & contribute

Sign up to our newsletter

Practical updates on open-source data pipelines, AI analysts, governance, and what we are shipping at Bruin.

The signup form is hosted by Brevo. Accept cookies to load it.