Simplicity Is Invisible by Design. That Makes It a Management Problem.
Engineering teams reward complexity by accident because simplicity leaves no artifact. Four ways a manager can make avoided complexity visible.
~ % ls ./blog
I write about software engineering, leadership, and productivity. I also share my thoughts on the tech industry and how to navigate it.
Engineering teams reward complexity by accident because simplicity leaves no artifact. Four ways a manager can make avoided complexity visible.
We shipped a greenfield project in three weeks by building the system around the AI models, not the prompts. I call it APE: Agentic Product Engineering.
AI engineering workflows assume one expert orchestrator. Here's what breaks when five engineers run agent sessions on one codebase — and our fix.
AI-assisted coding patterns that actually work, from months of experiments: two case studies — delegated testing and parallel review with Claude Code.
Build Mastra AI workflows step by step — parallel steps, branching, suspend/resume, multi-agent, and serverless deployment — with TypeScript examples.
Mastra is a TypeScript-native AI framework — typed agents and workflows, a local dev sandbox, memory, and built-in evals. Built for how you already code.
Eleventy, or 11ty, is a powerful yet straightforward static site generator. It does not require any config to get started.
Axios interceptors are a powerful way to manage HTTP requests. Learn 4 ways to use them: handle errors, add headers, transform data, and more.
My 2021 Mac setup for web development: a detailed list of every tool I install from scratch to handle day-to-day dev work.
My 2020 in review: welcoming our first baby and a year shipping JAMstack educational content — the highs, the lows, and lessons learned.
Gatsby vs create-react-app: both cut config, but Gatsby adds built-in performance, static rendering with no server, and a rich plugin ecosystem.
A quick intro to GraphQL, a query language and server-side runtime: define your types and fields, then write a resolver function for each.
Build a Node.js CLI tool with yargs middleware by treating commands like server routes — for cleaner, reusable command-line programs.
Proxiy Object gives you the ability to intercept access to an object properties and change its behaviour.