Analytics Engineer is a new position coined (and made possible) by dbt. If a Data Engineer (DE) marries a Data Analyst (DA) and they have a baby girl, that baby girl will be an Analytics Engineer (AE). Well, it does not work that way, but you get the point.
An AE often starts off as a DA creating dashboards and doing ad-hoc queries. She wants to do more because that DE guy works like a snail. She knows her data well because she spent hours per day navigating it using her mad SQL skill. She also knows the business inside out, having to interact with them on a daily basis. But she is faced with enormous challenges wanting to take on the work of the DE guy. Here are some of them:
The pipelines were built in Python, and she doesn’t know how to code (besides SQL).
The DE guy mentioned something about using git to keep track of changes in the source code. She has her SQL codes stored in word files…
She has very little knowledge about the systems that produce data.
The team is using all sorts of tools, and she’s not familiar with them all.
That DE guy thinks this is above her, which pissed her off even more.
If only our DA gal can do the work that the arrogant DE does without becoming him… Enter dbt (data build tool)! How can a tool like this create an entirely new position in the field, you ask? Let’s see.
She can write transformation code with SQL instead of Python. What?
She can test for duplications in joins statements programmatically. Really?
She can write data documentation so that business people will bother her less. Nice!
She can use for loop and variable, pivot data using SQL templating. Splendid!
She can show data lineage, so people know where data is coming from and what has been done with it. Awesome!
And just like that, our DA gal evolves into an AE.
I’m kidding. It does not work like that. It takes time, effort, and commitment to learning new stuff. If you can relate to the story of our DA girl, I think this article will benefit you.
Here is an opinionated list of skills/technologies I think are necessary to become an AE ninja.
SQL ninja: If you are a soldier, then SQL is like your weapon. SQL has become the standard for data extraction and transformation. As an AE or a DA, you must get as comfortable with SQL as possible.
Git warrior: Git is a powerful tool for collaboration in a team. You are expected to wield this weapon like an extension of your arm.
dbt guru: dbt is the technology that enables AE and DA to do the work of DE. With dbt, you can easily participate in the previously DE-only work and do a lot with data.
BI tools expert: Dashboard is not only numbers and graphs; it is a powerful tool to tell a story.
Cloud champion: Cloud computing is one of the reasons we have the 4th industrial revolution. Becoming a cloud champion can only help with your career progression.
Scrum master: Scrum is a framework utilizing an agile mindset for developing, delivering, and sustaining complex projects.
Documentation advocate: We, as the human race, only got this far thanks to collective learning. Writing is a potent tool of communication, and you will benefit tremendously from practicing it.
Below are the resources that we use at Joon Solutions to onboard our new Analytics Engineer. It works better as a checklist, so perhaps you can copy these to your favorite note-taking app.
I can’t guarantee that by following this, you will be an AE. But I’m sure that you can learn a lot following this path, and with the right environment and team, you will evolve to an Analytics Engineer ninja.
I have become a SQL Ninja
I have taken the W3School SQL course
I have taken the SQLBolt course
I have gone through the BigQuery syntax doc and asked all the questions I need to
I have explored at least one BigQuery public dataset and made some cool-ass queries.
I know what window functions are and how to use them
I admit that SQL is powerful
I have become a Git warrior
I know what git is
I know what a typical git workflow looks like
I have created a test repo, a commit, and submit a pull request
I know what an SSH key is, where to find it, and how to add it to my GitHub account
I have become a dbt guru
I know what dbt is and why it’s powerful
I have read the analytics engineer guide
I have taken the dbt on-demand course
I have set up a dbt project from scratch and built some awesome models
I have read through and understood the dbt project checklist
I have read through and understood the dbt best practices
I have read through and understood dbt coding convention
I am ready and excited to build real projects with dbt
I have become a BI tool expert
I have looked at the BI tools landscape and know what’s out there
I have read the Storytelling with data book
I have read the Analytics Setup Guidebook
I have tried out and built a dashboard with Power BI
I have tried out and built a dashboard with Metabase
I have tried out and built a dashboard with Holistics
I have tried out and built a dashboard with Data Studio
I can say with confidence that I know what BI tool is right for different needs
I have become a Cloud champion
I knew about the many services of a major cloud provider
I knew about the many benefits of using the cloud
I have tried creating a BigQuery dataset and loaded data in
I have tried out BigQuery ML and knew how easy it is to create an ML model with SQL
I have become a Scrum master
I know about the scrum development process
I’ve read about scrum development with Jira
I know about CI/CD and why data teams should also use it