Engineering

Intermittent downtime from repeated crashes

This is a technical write-up of an incident on Friday 18th November 2022 where we experienced 13 minutes of downtime from intermittent crashes.

Lawrence Jones
Picture of Lawrence Jones

Lawrence Jones

12 min read
Engineering

Making code-generation in Go more powerful with generics

Go 1.18 added generics to the language a few months ago. Here’s how we’ve combined generics with code generation to make our code safer and easier to read and write.

Isaac Seymour
Picture of Isaac Seymour

Isaac Seymour

11 min read
Engineering

Building great developer experience at a startup

We’ve invested in our developer experience to help our team ship great a product at pace.

Lisa Karlin Curtis
Picture of Lisa Karlin Curtis

Lisa Karlin Curtis

8 min read
Engineering

Building Workflows, Part 2 – the executor and evaluation

Part two of the series lookin at the workflow executor, and concluding with an evaluation of the project in terms of developer time, extensibility, and quality of outcome.

Lawrence Jones
Picture of Lawrence Jones

Lawrence Jones

21 min read
Engineering

Building Workflows, Part 1 — Core concepts and the Workflow Builder

Part one of a deep-dive into building our workflow engine, covering core workflow concepts and how they are used to power the Workflow Builder.

Lawrence Jones
Picture of Lawrence Jones

Lawrence Jones

20 min read
Engineering

Updating our data stack

How we’ve updated our data stack since it was first built in January.

Jack Cook
Picture of Jack Cook

Jack Cook

13 min read
Scrabble of Own Your Errors
Engineering

Making Go errors play nice with Sentry

Getting Go errors to work well with Sentry is hard. This post explains how we got them playing nicely by deduping stacktraces.

Lawrence Jones
Picture of Lawrence Jones

Lawrence Jones

8 min read
Overview of the data architecture
Engineering

A modern data stack for startups

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.

Lawrence Jones
Picture of Lawrence Jones

Lawrence Jones

17 min read
Golang tests using the mocked Slack client
Engineering

Using context.Context to mock API clients

We've found a pattern to mock external client libraries while keeping code simple, reducing the number of injection spots and ensuring all the code down a callstack uses the same mock client.

Lawrence Jones
Picture of Lawrence Jones

Lawrence Jones

7 min read

Stay in the loop: subscribe to our RSS feed.