All Posts

On high trust in the workplace

Working in many startups I’ve noticed trends for environments that seem to succeed versus those that don’t. One thing that stands out to me is enabling and keeping high trust....

Terraform Modules inputs/outputs

Balancing example code when teaching always feels like tricky business. If you take real world examples then they might be too lengthy in code and too verbose to explain. On...

Terraform's Immutability

I recently did a teaching session on terraform at work and it was a good reminder of how excellent the hashicorp documentation is.

DBT's Jinja

I’ve seen some great examples of jinja in recent years outside of web development. Airbyte’s connector development for example has some nice jinja templating going on. They enable you to...

Data Engineering Interviews

I recently started a new job (an exciting few months, as shortly after my last post my partner and I went to Japan.. got engaged! Then work began). So I’ve...

(WIP) Database Summaries

I plan to add to this post - absolutely not comprehensive, rather a few notes on dbs / warehousing solutions I’ve used. Also given the pace of deleveopment at places...

Database groupings

There are different ways to classify or group databases together. Some of the common ways include

Which database should I use?

When you have a hammer.. everything looks like a nail. Similarly, when you know Postgres.. Postgres is good for all problems right? It’s like the proverbial porridge in the 3...

Thoughts on DataOps

I had a look around the other day for any new and interesting tooling used in the DataOps sphere. It seemed a bit weird to me that though a lot...

ABCs

In my last post I gave an example of a class you’d only inherit and not directly instantiate and so it seemed worthwhile to write a bit about abtract base...

Slots

In a previous post I joked about how misleading dynamic assignments of attributes can be when using descriptors like property. Something that’s a useful way to ensure you don’t (accidentally...

Descriptors

As the documentation tells us, a descriptor is just something that implements the __get__, __set__ or __delete__ method(s). You’ve probably used them yourself and not known it - examples include...