Exploring "Analytics as Code"

From database to dashboard with no BI tool in sight

The beginning

Data and analytics projects have gradually introduced more software engineering practices over the past decade. When I first discovered business intelligence and worked on a data warehouse, the toolkit was largely UI driven:

These did require some level of code to be written, but they were usually declarative, domain-specific languages. SQL has always ruled the database. For cubes, MDX was popular, and most dashboarding tools have some kind of their own language for calculating measures on the fly.

Hello, Modern Data Stack

A lot of things happened between the early BI days and now. I’m not going to write an entire history of the “big data” explosion. But the move towards today’s “Modern Data Stack” has gradually removed the dependency on UIs:

All of the above have allowed us to follow an extract-load-transform pattern - ingesting data faster, storing it cheaply in its original form, and transforming it with the native language of data and powerful compute. All of this has let us write code to do so instead of our IP living inside a GUI. There are exceptions - tools like Fivetran still put a UI in front of us. But these tools focus purely on ingestion, still allowing us to write code everywhere else.

This has given us

But the frontend is still hanging on

Books

I read a LOT of books this year, so here are a few favourites:

The first two books from Packt are on sale in digital form for $10 right now - I highly recommend them.

Courses

I’ve gone through MOOCs this year to get further up to date with my software development skills:

Also a special shout-out to Microsoft Learn. I covered the applied skills experiment in a previous blog post and will continue with these this year.

What am I doing in 2024?

Here are my learning goals in 2024:

This seems like a lot, and I’m sure it will change over time as my priorities shift and new shiny rabbits appear. But it’s a start, and hitting one or two of these really well will still make me happy by the end of the year.

Thanks for reading, and happy new year.

Tags

data analysis data engineering duckdb malloy notebooks