Influencing through platforms
We can influence the behaviour of people and processes through the platforms we build and the design decisions we make.
I’ve written before about how you can use friction as a lever to influence behaviour. But when designing your platform for influence it’s more than that. It’s about providing the path of least resistance for the user, while at the same time changing their behaviour.
Anyone using your platform is looking to get their task done as quickly and as easily as possible. Their job is to deliver something, and making use of your platform is a means to that end.
So, if the easiest and quickest way for a software engineer to write data to an event stream and/or the data warehouse is through using data contracts, then that’s what they are going to use.
If it isn’t, they wont use it.
A while ago I wrote on the GoCardless Tech Blog 3 things our software engineers love about data contracts, which were:
- The stuff they got for free: Pub/Sub and BigQuery and the glue in between, backups for BigQuery, data retention, etc
- The autonomy they had: self-serve, with no central review or bottlenecks
- The benefits of using one of our golden paths: documentation, support, etc
Love is maybe a strong word (although was the word used by a software engineer in a conversation that inspired the post!).
But data contracts are the path of least resistance for any software engineer who needs to make data available to others through Pub/Sub and/or BigQuery.
So that’s what they use, even though there are things they might not like dealing with, such as categorising data, following the change management process, defining quality measures and SLOs, and so on—the things we like as platform builders aiming to ensure data is managed correctly and so consumers of the data get quality data they can build on with confidence.
Those are things they weren’t doing before, but are now doing because we have designed and implemented the platform in this way and successfully used that to change their behaviour.
It’s a delicate balance. There has to be enough of the benefits to outweigh the difficult parts, otherwise they’ll find another path (which is how you end up with shadow IT).
But when done right you really can use your platform to influence behaviour.
On the web
#!/usr/bin/env -S uv run by Simon Willison
Did you know you can run a Python script, on any machine, from anywhere, with the correct dependencies installed, using uv
?
This neat trick is hopefully the final nail in the coffin for all those random shell scripts you have.
While some people like to advocate for them, or even portray them as a sign of your intelligence (!), I’ve always found it weird that for a utility script in a codebase (say, a Python codebase), we write those scripts in bash rather than Python. While they start of small and simple they invariably get more complicated, and then you end up with this code few people in the team understand.
Even for those scripts outside any codebase, the same issue applies.
Now with uv
there’s no excuse for writing poorly understood, untested bash scripts. Just use Python.
Data Catalog vs Data Marketplace
A great post on how data catalogs are being replaced by simpler and more effective data marketplaces.
It was really valuable for me to stay at a single company long enough to live with the consequences of my own engineering decisions. To come face-to-face with my own technical debt.
It takes a few years for this to play out but IMO it’s an important part of engineering growth.
So true.
Book sale!
You can grad the eBook version of my book, Driving Data Quality with Data Contracts, for just $9.99 direct from Packt! Available as EPUB and PDF and DRM free!
I don’t have any control over pricing, but it’s unlikely to be cheaper.
Get it here before the sale ends on Tuesday.
Being punny 😅
I tried to catch some fog earlier. I mist.
(It’s been quite foggy here over the last few days!)
Upcoming talks and workshops
- Global Data & AI Virtual Tech Conference - Zoom - January 18, 10am GMT
- Tomorrow I’ll be doing a 20min talk as part of the Global Data & AI Virtual Tech Conference
- I’ll be giving a brief introduction to data contracts before taking Q&A from the audience. Bring your hardest questions 😀
- Sign up for free here
- Implementing a Data Mesh with Data Contracts - Antwerp, Belgium - June 5 2025
- Alongside the inaugural Data Mesh Live conference
- Sign up here
Thanks!
Thanks for reading this weeks newsletter - always appreciated!
Enjoy your weekend.
Andrew