Skip to main content

7 posts tagged with "engineering"

View All Tags

The endless thread is a smell

· 7 min read

A lot of new AI coding tools are built around the same idea: start a thread, keep feeding it work, and let it run forever. You can see the assumption hardening into product features: Claude Code lets you name sessions, find and resume them by name, branch them, and export their transcripts. Cursor has editable chat titles, stored history, Markdown exports, and a way to pull old chats into the current one.

Spec-driven development

· 2 min read

Spec-driven development means treating a written specification as the source of truth: define the intended behavior first, then implement and validate the code against it.

I find the principle intuitive and exciting, but it has the same problem we've always had with documentation: drift.

Adding a links field to API responses

· 2 min read

We added a links field to our APIAPI (Application Programming Interface). A set of rules and protocols that allows different software applications to communicate with each other. APIs define the methods and data formats that applications can use to request and exchange information. response objects this week. Small change, and I'd put it off for a while because it felt like ceremony. It isn't.

Communicating state and events in API design

· 18 min read

A status field is a contract. It is also the place where most APIsAPI (Application Programming Interface). A set of rules and protocols that allows different software applications to communicate with each other. APIs define the methods and data formats that applications can use to request and exchange information. quietly leak ambiguity, a single word doing the work of three, consumed by people who weren't in the room when you named it. Get it right and an integrator can build correct handling from the payload alone. Get it wrong and they reverse-engineer your intentions from support tickets.

Prioritizing the small things

· One min read

Prioritization has a structural problem. If every piece of work competes in the same backlog, large, high-impact projects will always beat small improvements. That's usually the right outcome for each decision, but the wrong outcome for the product over time.

Minor bugs, inconsistent spacing, awkward copy, and other small flaws rarely become important enough to win on their own. So they linger.

Stop abbreviating in your APIs

· One min read

A small plea: stop abbreviating field and method names in your APIsAPI (Application Programming Interface). A set of rules and protocols that allows different software applications to communicate with each other. APIs define the methods and data formats that applications can use to request and exchange information., SDKsSDK (Software Development Kit). A collection of software development tools, libraries, documentation, code samples, and guides that help developers create applications for a specific platform or framework., and config.

Maybe I'll send an email once in a while

Monthly digest. No spam.