On this page
Analytics engineering is a newer role. Analysts ask questions of data, and data engineers move data around. An analytics engineer sits in between: they build the clean, tested tables that everyone else depends on. If you enjoy careful SQL and tidy structure, it can suit you well.
Data as it arrives, untouched.
Rename columns, fix types, one table per source.
Join and shape data into facts and dimensions.
Unique keys, no NULL in key columns, accepted values.
Ready for dashboards and analysts.
How it differs from other data roles
| Role | Main question | Main tools |
|---|
| --- | --- | --- |
|---|
| Data analyst | What does the data say? | SQL, dashboards |
|---|
| Analytics engineer | Is the data clean, tested and easy to use? | SQL, dbt, modelling |
|---|
| Data engineer | How does the data get here reliably? | SQL, Python, pipelines |
|---|
At a small company one person may do all three. At a large one they are separate roles. Read data engineer vs analyst vs scientist for the wider picture.
Skills to learn in order
- SQL at a strong level. Joins, window functions, CTEs and deduplication. See subquery vs CTE and removing duplicates.
- Data modelling. Facts, dimensions and grain. Start with star schema vs snowflake schema.
- dbt. Models, tests and documents. Read what is dbt, then follow the dbt and analytics track.
- Git. Version control is a daily tool in this role.
- A warehouse. Know the idea of a cloud data warehouse, and use a free tier to practise.
Project: a small warehouse with tests
Take a public orders dataset. Load it as raw tables. Write staging models that rename columns and fix types. Build a fact table of orders and dimension tables for customers and products. Add tests: the order id is unique, key columns are not NULL, and order status has only allowed values. Write a README that draws the flow and says what one row in the fact table means.
The retail data warehouse final-year project walks through the same idea with a week plan.
What interviews ask
- Write a query to keep the latest row per customer.
- What is the grain of this table, and what would break if it changed?
- What tests would you add to a table of orders, and why?
- How would you explain a slow query?
- What is the difference between a view and a table, and when would you use each?
Say the grain out loud before you write any query. It is the habit interviewers like most in this role.
Where to apply
Entry-level posts with the exact title are fewer. Search for analytics engineer, BI developer, data analyst with SQL and dbt, and junior data engineer. Many analyst posts ask for dbt or modelling skills, so your skills still count. Mention dbt in your resume headline if you have used it in a project.
Where to start today
Pick one small dataset and write down, in one sentence, what one row of its main table means. That sentence is called the grain.