Using a sync cutoff when building our dbt models helped fix our flaky tests,
making our CI much more reliable and exposing latent bugs.
Data should be a commodity, and accessible to everyone in a company. We've
picked a data stack for tools that make this possible- here's what we use,
how it's configured, and why we picked it.
Tie together backend and frontend using type-safe API clients, allowing the
TypeScript and Go compilers to prevent typos and developer errors.
When in a Postgres transaction, the data you read can change underneath you.
Did you realise this? Many don't, for good reasons.
Fast build times have a number of benefits, from reliability to developer
happiness. We reduces our time to deploy to <5, and it's glorious.
For a small initial investment, we've found a observability setup that works
great for both production and local development. You should try it, too!
Any good investigation builds on assumptions, and when they're wrong you can
end up down a dark path. Read about an incident where this happened badly,
and learn some strategies to avoid falling into the same trap.
Starting next week, I'll be joining the incident.io team after logging off for the
last time at GoCardless. Mostly for myself, here's some reflections on the
last five years.
Working hard is a great way to accelerate learning, but it can come at a
cost. This post shares my experience and lessons taken from great role
models I've found along the way.
The upcoming Golang embed directive can help distribute applications that
website into your Go program, simplifying distribution to single binary.